From 9daf8c3a1ff0b46ef99e0bead6ba372525a95f18 Mon Sep 17 00:00:00 2001 From: Lasse Westh-Nielsen Date: Wed, 13 Dec 2017 23:09:59 +0100 Subject: [PATCH] stop producing Neo4j Desktop --- packaging/neo4j-desktop/.gitignore | 6 - packaging/neo4j-desktop/LICENSES.txt | 2735 ----------------- packaging/neo4j-desktop/NOTICE.txt | 148 - packaging/neo4j-desktop/manual-tests.txt | 31 - packaging/neo4j-desktop/pom.xml | 144 - .../neo4j/desktop/DesktopIdentification.java | 28 - .../java/org/neo4j/desktop/Neo4jDesktop.java | 111 - .../java/org/neo4j/desktop/Parameters.java | 45 - .../neo4j/desktop/config/Installation.java | 94 - .../desktop/config/osx/DarwinEnvironment.java | 47 - .../config/osx/DarwinInstallation.java | 85 - .../desktop/config/portable/Environment.java | 88 - .../config/portable/PortableInstallation.java | 164 - .../desktop/config/portable/Template.java | 72 - .../config/portable/VariableSubstitutor.java | 66 - .../desktop/config/unix/UnixEnvironment.java | 35 - .../desktop/config/unix/UnixInstallation.java | 60 - .../config/windows/WindowsEnvironment.java | 85 - .../config/windows/WindowsInstallation.java | 72 - .../org/neo4j/desktop/model/DesktopModel.java | 212 -- .../org/neo4j/desktop/model/LastLocation.java | 69 - .../neo4j/desktop/model/SysTrayListener.java | 26 - .../UnableToStartServerException.java | 28 - .../UnsuitableDirectoryException.java | 32 - .../desktop/runtime/DatabaseActions.java | 117 - .../desktop/runtime/DesktopConfigurator.java | 89 - .../ui/BrowseForDatabaseActionListener.java | 130 - .../java/org/neo4j/desktop/ui/Components.java | 166 - .../org/neo4j/desktop/ui/DatabaseStatus.java | 84 - .../desktop/ui/DesktopModelListener.java | 32 - .../desktop/ui/EditFileActionListener.java | 84 - .../java/org/neo4j/desktop/ui/Graphics.java | 70 - .../java/org/neo4j/desktop/ui/MainWindow.java | 271 -- .../desktop/ui/OpenBrowserMouseListener.java | 86 - .../ui/OpenDirectoryActionListener.java | 78 - .../java/org/neo4j/desktop/ui/PlatformUI.java | 39 - .../desktop/ui/ScrollableOptionPane.java | 52 - .../org/neo4j/desktop/ui/SettingsDialog.java | 186 -- .../ui/StartDatabaseActionListener.java | 80 - .../java/org/neo4j/desktop/ui/SysTray.java | 130 - .../desktop/ui/SystemOutDebugWindow.java | 91 - .../org/neo4j/desktop/ui/TeeOutputStream.java | 42 - .../main/resources/.background/background.png | Bin 51184 -> 0 bytes .../iconbuilder.iconset/icon_128x128.png | Bin 21989 -> 0 bytes .../iconbuilder.iconset/icon_16x16.png | Bin 2000 -> 0 bytes .../iconbuilder.iconset/icon_256x256.png | Bin 48880 -> 0 bytes .../iconbuilder.iconset/icon_32x32.png | Bin 4631 -> 0 bytes .../iconbuilder.iconset/icon_512x512.png | Bin 112607 -> 0 bytes .../iconbuilder.iconset/icon_64x64.png | Bin 10181 -> 0 bytes .../src/main/resources/neo4j-icon_128x128.png | Bin 21989 -> 0 bytes .../src/main/resources/neo4j-icon_16x16.png | Bin 2000 -> 0 bytes .../src/main/resources/neo4j-icon_256x256.png | Bin 48880 -> 0 bytes .../src/main/resources/neo4j-icon_32x32.png | Bin 4631 -> 0 bytes .../src/main/resources/neo4j-icon_512x512.png | Bin 112607 -> 0 bytes .../src/main/resources/neo4j-icon_64x64.png | Bin 10181 -> 0 bytes .../src/main/resources/neo4j-logo.png | Bin 15877 -> 0 bytes .../src/main/resources/neo4j-systray-16.png | Bin 2000 -> 0 bytes .../neo4j/desktop/config/neo4j-default.conf | 99 - .../neo4j/desktop/config/vmoptions.template | 3 - .../org/neo4j/desktop/ParametersTest.java | 39 - .../portable/VariableSubstitutorTest.java | 81 - .../desktop/runtime/DatabaseActionsTest.java | 92 - .../runtime/DesktopConfiguratorTest.java | 71 - packaging/pom.xml | 1 - 64 files changed, 6696 deletions(-) delete mode 100644 packaging/neo4j-desktop/.gitignore delete mode 100644 packaging/neo4j-desktop/LICENSES.txt delete mode 100644 packaging/neo4j-desktop/NOTICE.txt delete mode 100644 packaging/neo4j-desktop/manual-tests.txt delete mode 100644 packaging/neo4j-desktop/pom.xml delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java delete mode 100644 packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java delete mode 100644 packaging/neo4j-desktop/src/main/resources/.background/background.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_128x128.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_16x16.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_256x256.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_32x32.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_512x512.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_64x64.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-icon_128x128.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-icon_16x16.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-icon_256x256.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-icon_32x32.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-icon_512x512.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-icon_64x64.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-logo.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/neo4j-systray-16.png delete mode 100644 packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf delete mode 100644 packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template delete mode 100644 packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java delete mode 100644 packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java delete mode 100644 packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsTest.java delete mode 100644 packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java diff --git a/packaging/neo4j-desktop/.gitignore b/packaging/neo4j-desktop/.gitignore deleted file mode 100644 index 56b4e4d1dedc8..0000000000000 --- a/packaging/neo4j-desktop/.gitignore +++ /dev/null @@ -1,6 +0,0 @@ -dependency-reduced-pom.xml -md5sums -output.txt -updates.xml -*.exe -*.dmg diff --git a/packaging/neo4j-desktop/LICENSES.txt b/packaging/neo4j-desktop/LICENSES.txt deleted file mode 100644 index 5eb3af3f36b6a..0000000000000 --- a/packaging/neo4j-desktop/LICENSES.txt +++ /dev/null @@ -1,2735 +0,0 @@ -This file contains the full license text of the included third party -libraries. For an overview of the licenses see the NOTICE.txt file. - ------------------------------------------------------------------------------- -ASM License - ASM Core ------------------------------------------------------------------------------- - -Copyright (c) 2000-2011 INRIA, France Telecom -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. Neither the name of the copyright holders nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGE. - - ------------------------------------------------------------------------------- -Apache Software License, Version 2.0 - Apache ServiceMix Bundles: jline-0.9.94 - Commons BeanUtils - Commons BeanUtils Core - Commons Collections - Commons Configuration - Commons Digester - Commons IO - Commons Lang - Commons Logging - ConcurrentLinkedHashMap - Data Mapper for Jackson - Jackson - JAX-RS provider for JSON content type - Jetty Server - Jetty Utilities - Lucene Core - parboiled-core - parboiled-scala - RRD4J - Servlet Specification API ------------------------------------------------------------------------------- - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - 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. - - ------------------------------------------------------------------------------- -BSD - Scala License - Scala Library ------------------------------------------------------------------------------- - -SCALA LICENSE - -Copyright (c) 2002-2012 EPFL, Lausanne, unless otherwise specified. -All rights reserved. - -This software was developed by the Programming Methods Laboratory of the -Swiss Federal Institute of Technology (EPFL), Lausanne, Switzerland. - -Permission to use, copy, modify, and distribute this software in source -or binary form for any purpose with or without fee is hereby granted, -provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - 3. Neither the name of the EPFL nor the names of its contributors - may be used to endorse or promote products derived from this - software without specific prior written permission. - - -THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -SUCH DAMAGE. - - ------------------------------------------------------------------------------- -BSD License - Janino ------------------------------------------------------------------------------- - -Copyright (c) , -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of the nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - ------------------------------------------------------------------------------- -Bouncy Castle License - Legion of the Bouncy Castle Java Cryptography APIs ------------------------------------------------------------------------------- - -Please note: our license is an adaptation of the MIT X11 License and should be -read as such. - -LICENSE - -Copyright (c) 2000 - 2011 The Legion Of The Bouncy Castle -(http://www.bouncycastle.org) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - ------------------------------------------------------------------------------- -Common Development and Distribution License Version 1.1 - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension ------------------------------------------------------------------------------- - -COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1 - -1. Definitions. - - 1.1. "Contributor" means each individual or entity that creates or - contributes to the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Software, prior Modifications used by a Contributor (if any), and the - Modifications made by that particular Contributor. - - 1.3. "Covered Software" means (a) the Original Software, or (b) - Modifications, or (c) the combination of files containing Original - Software with files containing Modifications, in each case including - portions thereof. - - 1.4. "Executable" means the Covered Software in any form other than - Source Code. - - 1.5. "Initial Developer" means the individual or entity that first makes - Original Software available under this License. - - 1.6. "Larger Work" means a work which combines Covered Software or - portions thereof with code not governed by the terms of this License. - - 1.7. "License" means this document. - - 1.8. "Licensable" means having the right to grant, to the maximum extent - possible, whether at the time of the initial grant or subsequently - acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means the Source Code and Executable form of any of - the following: - - A. Any file that results from an addition to, deletion from or - modification of the contents of a file containing Original Software or - previous Modifications; - - B. Any new file that contains any part of the Original Software or - previous Modification; or - - C. Any new file that is contributed or otherwise made available under - the terms of this License. - - 1.10. "Original Software" means the Source Code and Executable form of - computer software code that is originally released under this License. - - 1.11. "Patent Claims" means any patent claim(s), now owned or hereafter - acquired, including without limitation, method, process, and apparatus - claims, in any patent Licensable by grantor. - - 1.12. "Source Code" means (a) the common form of computer software code - in which modifications are made and (b) associated documentation - included in or with such code. - - 1.13. "You" (or "Your") means an individual or a legal entity exercising - rights under, and complying with all of the terms of, this License. For - legal entities, "You" includes any entity which controls, is controlled - by, or is under common control with You. For purposes of this - definition, "control" means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - -2. License Grants. - - 2.1. The Initial Developer Grant. - - Conditioned upon Your compliance with Section 3.1 below and subject to - third party intellectual property claims, the Initial Developer hereby - grants You a world-wide, royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than patent or trademark) - Licensable by Initial Developer, to use, reproduce, modify, display, - perform, sublicense and distribute the Original Software (or portions - thereof), with or without Modifications, and/or as part of a Larger - Work; and - - (b) under Patent Claims infringed by the making, using or selling of - Original Software, to make, have made, use, practice, sell, and offer - for sale, and/or otherwise dispose of the Original Software (or portions - thereof). - - (c) The licenses granted in Sections 2.1(a) and (b) are effective on the - date Initial Developer first distributes or otherwise makes the Original - Software available to a third party under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is granted: - (1) for code that You delete from the Original Software, or (2) for - infringements caused by: (i) the modification of the Original Software, - or (ii) the combination of the Original Software with other software or - devices. - - 2.2. Contributor Grant. - - Conditioned upon Your compliance with Section 3.1 below and subject to - third party intellectual property claims, each Contributor hereby grants - You a world-wide, royalty-free, non-exclusive license: - - (a) under intellectual property rights (other than patent or trademark) - Licensable by Contributor to use, reproduce, modify, display, perform, - sublicense and distribute the Modifications created by such Contributor - (or portions thereof), either on an unmodified basis, with other - Modifications, as Covered Software and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or selling of - Modifications made by that Contributor either alone and/or in - combination with its Contributor Version (or portions of such - combination), to make, use, sell, offer for sale, have made, and/or - otherwise dispose of: (1) Modifications made by that Contributor (or - portions thereof); and (2) the combination of Modifications made by that - Contributor with its Contributor Version (or portions of such - combination). - - (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on - the date Contributor first distributes or otherwise makes the - Modifications available to a third party. - - (d) Notwithstanding Section 2.2(b) above, no patent license is granted: - (1) for any code that Contributor has deleted from the Contributor - Version; (2) for infringements caused by: (i) third party modifications - of Contributor Version, or (ii) the combination of Modifications made by - that Contributor with other software (except as part of the Contributor - Version) or other devices; or (3) under Patent Claims infringed by - Covered Software in the absence of Modifications made by that - Contributor. - -3. Distribution Obligations. - - 3.1. Availability of Source Code. - - Any Covered Software that You distribute or otherwise make available in - Executable form must also be made available in Source Code form and that - Source Code form must be distributed only under the terms of this - License. You must include a copy of this License with every copy of the - Source Code form of the Covered Software You distribute or otherwise - make available. You must inform recipients of any such Covered Software - in Executable form as to how they can obtain such Covered Software in - Source Code form in a reasonable manner on or through a medium - customarily used for software exchange. - - 3.2. Modifications. - - The Modifications that You create or to which You contribute are - governed by the terms of this License. You represent that You believe - Your Modifications are Your original creation(s) and/or You have - sufficient rights to grant the rights conveyed by this License. - - 3.3. Required Notices. - - You must include a notice in each of Your Modifications that identifies - You as the Contributor of the Modification. You may not remove or alter - any copyright, patent or trademark notices contained within the Covered - Software, or any notices of licensing or any descriptive text giving - attribution to any Contributor or the Initial Developer. - - 3.4. Application of Additional Terms. - - You may not offer or impose any terms on any Covered Software in Source - Code form that alters or restricts the applicable version of this - License or the recipients' rights hereunder. You may choose to offer, - and to charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Software. However, you - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear that any - such warranty, support, indemnity or liability obligation is offered by - You alone, and You hereby agree to indemnify the Initial Developer and - every Contributor for any liability incurred by the Initial Developer or - such Contributor as a result of warranty, support, indemnity or - liability terms You offer. - - 3.5. Distribution of Executable Versions. - - You may distribute the Executable form of the Covered Software under the - terms of this License or under the terms of a license of Your choice, - which may contain terms different from this License, provided that You - are in compliance with the terms of this License and that the license - for the Executable form does not attempt to limit or alter the - recipient's rights in the Source Code form from the rights set forth in - this License. If You distribute the Covered Software in Executable form - under a different license, You must make it absolutely clear that any - terms which differ from this License are offered by You alone, not by - the Initial Developer or Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such terms - You offer. - - 3.6. Larger Works. - - You may create a Larger Work by combining Covered Software with other - code not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Software. - -4. Versions of the License. - - 4.1. New Versions. - - Oracle is the initial license steward and may publish revised and/or new - versions of this License from time to time. Each version will be given a - distinguishing version number. Except as provided in Section 4.3, no one - other than the license steward has the right to modify this License. - - 4.2. Effect of New Versions. - - You may always continue to use, distribute or otherwise make the Covered - Software available under the terms of the version of the License under - which You originally received the Covered Software. If the Initial - Developer includes a notice in the Original Software prohibiting it from - being distributed or otherwise made available under any subsequent - version of the License, You must distribute and make the Covered - Software available under the terms of the version of the License under - which You originally received the Covered Software. Otherwise, You may - also choose to use, distribute or otherwise make the Covered Software - available under the terms of any subsequent version of the License - published by the license steward. - - 4.3. Modified Versions. - - When You are an Initial Developer and You want to create a new license - for Your Original Software, You may create and use a modified version of - this License if You: (a) rename the license and remove any references to - the name of the license steward (except to note that the license differs - from this License); and (b) otherwise make it clear that the license - contains terms which differ from this License. - -5. DISCLAIMER OF WARRANTY. - - COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED - SOFTWARE IS WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY - RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME - THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS - DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO - USE OF ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS - DISCLAIMER. - -6. TERMINATION. - - 6.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. Provisions - which, by their nature, must remain in effect beyond the termination of - this License shall survive. - - 6.2. If You assert a patent infringement claim (excluding declaratory - judgment actions) against Initial Developer or a Contributor (the - Initial Developer or Contributor against whom You assert such claim is - referred to as "Participant") alleging that the Participant Software - (meaning the Contributor Version where the Participant is a Contributor - or the Original Software where the Participant is the Initial Developer) - directly or indirectly infringes any patent, then any and all rights - granted directly or indirectly to You by such Participant, the Initial - Developer (if the Initial Developer is not the Participant) and all - Contributors under Sections 2.1 and/or 2.2 of this License shall, upon - 60 days notice from Participant terminate prospectively and - automatically at the expiration of such 60 day notice period, unless if - within such 60 day period You withdraw Your claim with respect to the - Participant Software against such Participant either unilaterally or - pursuant to a written agreement with Participant. - - 6.3. If You assert a patent infringement claim against Participant - alleging that the Participant Software directly or indirectly infringes - any patent where such claim is resolved (such as by license or - settlement) prior to the initiation of patent infringement litigation, - then the reasonable value of the licenses granted by such Participant - under Sections 2.1 or 2.2 shall be taken into account in determining the - amount or value of any payment or license. - - 6.4. In the event of termination under Sections 6.1 or 6.2 above, all - end user licenses that have been validly granted by You or any - distributor hereunder prior to termination (excluding licenses granted - to You by any distributor) shall survive termination. - -7. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED - SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY - PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES - OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF - GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL - OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION - OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION - AND LIMITATION MAY NOT APPLY TO YOU. - -8. U.S. GOVERNMENT END USERS. - - The Covered Software is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" (as that term is defined at 48 C.F.R. ยง 252.227-7014(a)(1)) - and "commercial computer software documentation" as such terms are used - in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and - 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government - End Users acquire Covered Software with only those rights set forth - herein. This U.S. Government Rights clause is in lieu of, and - supersedes, any other FAR, DFAR, or other clause or provision that - addresses Government rights in computer software under this License. - -9. MISCELLANEOUS. - - This License represents the complete agreement concerning subject matter - hereof. If any provision of this License is held to be unenforceable, - such provision shall be reformed only to the extent necessary to make it - enforceable. This License shall be governed by the law of the - jurisdiction specified in a notice contained within the Original - Software (except to the extent applicable law, if any, provides - otherwise), excluding such jurisdiction's conflict-of-law provisions. - Any litigation relating to this License shall be subject to the - jurisdiction of the courts located in the jurisdiction and venue - specified in a notice contained within the Original Software, with the - losing party responsible for costs, including, without limitation, court - costs and reasonable attorneys' fees and expenses. The application of - the United Nations Convention on Contracts for the International Sale of - Goods is expressly excluded. Any law or regulation which provides that - the language of a contract shall be construed against the drafter shall - not apply to this License. You agree that You alone are responsible for - compliance with the United States export administration regulations (and - the export control laws and regulation of any other countries) when You - use, distribute or otherwise make available any Covered Software. - -10. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, out - of its utilization of rights under this License and You agree to work - with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION -LICENSE (CDDL) - -The code released under the CDDL shall be governed by the laws of the -State of California (excluding conflict-of-law provisions). Any -litigation relating to this License shall be subject to the jurisdiction -of the Federal Courts of the Northern District of California and the -state courts of the State of California, with venue lying in Santa Clara -County, California. - - ------------------------------------------------------------------------------- -Eclipse Public License, Version 1.0 - Jetty Server - Jetty Utilities - Logback Access Module - Logback Classic Module - Logback Core Module ------------------------------------------------------------------------------- - -Eclipse Public License - v 1.0 - -THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC -LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM -CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. - -1. DEFINITIONS - -"Contribution" means: - -a) in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and - -b) in the case of each subsequent Contributor: - -i) changes to the Program, and - -ii) additions to the Program; - -where such changes and/or additions to the Program originate from and are -distributed by that particular Contributor. A Contribution 'originates' from a -Contributor if it was added to the Program by such Contributor itself or anyone -acting on such Contributor's behalf. Contributions do not include additions to -the Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) are not -derivative works of the Program. - -"Contributor" means any person or entity that distributes the Program. - -"Licensed Patents" mean patent claims licensable by a Contributor which are -necessarily infringed by the use or sale of its Contribution alone or when -combined with the Program. - -"Program" means the Contributions distributed in accordance with this Agreement. - -"Recipient" means anyone who receives the Program under this Agreement, -including all Contributors. - -2. GRANT OF RIGHTS - -a) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free copyright license to -reproduce, prepare derivative works of, publicly display, publicly perform, -distribute and sublicense the Contribution of such Contributor, if any, and such -derivative works, in source code and object code form. - -b) Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed -Patents to make, use, sell, offer to sell, import and otherwise transfer the -Contribution of such Contributor, if any, in source code and object code form. -This patent license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, such -addition of the Contribution causes such combination to be covered by the -Licensed Patents. The patent license shall not apply to any other combinations -which include the Contribution. No hardware per se is licensed hereunder. - -c) Recipient understands that although each Contributor grants the licenses to -its Contributions set forth herein, no assurances are provided by any -Contributor that the Program does not infringe the patent or other intellectual -property rights of any other entity. Each Contributor disclaims any liability to -Recipient for claims brought by any other entity based on infringement of -intellectual property rights or otherwise. As a condition to exercising the -rights and licenses granted hereunder, each Recipient hereby assumes sole -responsibility to secure any other intellectual property rights needed, if any. -For example, if a third party patent license is required to allow Recipient to -distribute the Program, it is Recipient's responsibility to acquire that license -before distributing the Program. - -d) Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement. - -3. REQUIREMENTS - -A Contributor may choose to distribute the Program in object code form under its -own license agreement, provided that: - -a) it complies with the terms and conditions of this Agreement; and - -b) its license agreement: - -i) effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title and -non-infringement, and implied warranties or conditions of merchantability and -fitness for a particular purpose; - -ii) effectively excludes on behalf of all Contributors all liability for -damages, including direct, indirect, special, incidental and consequential -damages, such as lost profits; - -iii) states that any provisions which differ from this Agreement are offered by -that Contributor alone and not by any other party; and - -iv) states that source code for the Program is available from such Contributor, -and informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange. - -When the Program is made available in source code form: - -a) it must be made available under this Agreement; and - -b) a copy of this Agreement must be included with each copy of the Program. - -Contributors may not remove or alter any copyright notices contained within the -Program. - -Each Contributor must identify itself as the originator of its Contribution, if -any, in a manner that reasonably allows subsequent Recipients to identify the -originator of the Contribution. - -4. COMMERCIAL DISTRIBUTION - -Commercial distributors of software may accept certain responsibilities with -respect to end users, business partners and the like. While this license is -intended to facilitate the commercial use of the Program, the Contributor who -includes the Program in a commercial product offering should do so in a manner -which does not create potential liability for other Contributors. Therefore, if -a Contributor includes the Program in a commercial product offering, such -Contributor ("Commercial Contributor") hereby agrees to defend and indemnify -every other Contributor ("Indemnified Contributor") against any losses, damages -and costs (collectively "Losses") arising from claims, lawsuits and other legal -actions brought by a third party against the Indemnified Contributor to the -extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor to -control, and cooperate with the Commercial Contributor in, the defense and any -related settlement negotiations. The Indemnified Contributor may participate in -any such claim at its own expense. - -For example, a Contributor might include the Program in a commercial product -offering, Product X. That Contributor is then a Commercial Contributor. If that -Commercial Contributor then makes performance claims, or offers warranties -related to Product X, those performance claims and warranties are such -Commercial Contributor's responsibility alone. Under this section, the -Commercial Contributor would have to defend claims against the other -Contributors related to those performance claims and warranties, and if a court -requires any other Contributor to pay any damages as a result, the Commercial -Contributor must pay those damages. - -5. NO WARRANTY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN -"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR -IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, -NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each -Recipient is solely responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its exercise of -rights under this Agreement , including but not limited to the risks and costs -of program errors, compliance with applicable laws, damage to or loss of data, -programs or equipment, and unavailability or interruption of operations. - -6. DISCLAIMER OF LIABILITY - -EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY -CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST -PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS -GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -7. GENERAL - -If any provision of this Agreement is invalid or unenforceable under applicable -law, it shall not affect the validity or enforceability of the remainder of the -terms of this Agreement, and without further action by the parties hereto, such -provision shall be reformed to the minimum extent necessary to make such -provision valid and enforceable. - -If Recipient institutes patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Program itself -(excluding combinations of the Program with other software or hardware) -infringes such Recipient's patent(s), then such Recipient's rights granted under -Section 2(b) shall terminate as of the date such litigation is filed. - -All Recipient's rights under this Agreement shall terminate if it fails to -comply with any of the material terms or conditions of this Agreement and does -not cure such failure in a reasonable period of time after becoming aware of -such noncompliance. If all Recipient's rights under this Agreement terminate, -Recipient agrees to cease use and distribution of the Program as soon as -reasonably practicable. However, Recipient's obligations under this Agreement -and any licenses granted by Recipient relating to the Program shall continue and -survive. - -Everyone is permitted to copy and distribute copies of this Agreement, but in -order to avoid inconsistency the Agreement is copyrighted and may only be -modified in the following manner. The Agreement Steward reserves the right to -publish new versions (including revisions) of this Agreement from time to time. -No one other than the Agreement Steward has the right to modify this Agreement. -The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation -may assign the responsibility to serve as the Agreement Steward to a suitable -separate entity. Each new version of the Agreement will be given a -distinguishing version number. The Program (including Contributions) may always -be distributed subject to the version of the Agreement under which it was -received. In addition, after a new version of the Agreement is published, -Contributor may elect to distribute the Program (including its Contributions) -under the new version. Except as expressly stated in Sections 2(a) and 2(b) -above, Recipient receives no rights or licenses to the intellectual property of -any Contributor under this Agreement, whether expressly, by implication, -estoppel or otherwise. All rights in the Program not expressly granted under -this Agreement are reserved. - -This Agreement is governed by the laws of the State of New York and the -intellectual property laws of the United States of America. No party to this -Agreement will bring a legal action under this Agreement more than one year -after the cause of action arose. Each party waives its rights to a jury trial in -any resulting litigation. - - ------------------------------------------------------------------------------- -GNU General Public License, version 2 or later - Mozilla Rhino ------------------------------------------------------------------------------- - -GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. - - ------------------------------------------------------------------------------- -GNU General Public License, version 2 with the Classpath Exception - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension ------------------------------------------------------------------------------- - -The GNU General Public License (GPL) Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, -Suite 330, Boston, MA 02111-1307 USA - -Everyone is permitted to copy and distribute verbatim copies of this -license document, but changing it is not allowed. - -Preamble - -The licenses for most software are designed to take away your freedom to -share and change it. By contrast, the GNU General Public License is -intended to guarantee your freedom to share and change free software--to -make sure the software is free for all its users. This General Public -License applies to most of the Free Software Foundation's software and -to any other program whose authors commit to using it. (Some other Free -Software Foundation software is covered by the GNU Library General -Public License instead.) You can apply it to your programs, too. - -When we speak of free software, we are referring to freedom, not price. -Our General Public Licenses are designed to make sure that you have the -freedom to distribute copies of free software (and charge for this -service if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs; and that you know you can do these things. - -To protect your rights, we need to make restrictions that forbid anyone -to deny you these rights or to ask you to surrender the rights. These -restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - -For example, if you distribute copies of such a program, whether gratis -or for a fee, you must give the recipients all the rights that you have. -You must make sure that they, too, receive or can get the source code. -And you must show them these terms so they know their rights. - -We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - -Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - -Finally, any free program is threatened constantly by software patents. -We wish to avoid the danger that redistributors of a free program will -individually obtain patent licenses, in effect making the program -proprietary. To prevent this, we have made it clear that any patent must -be licensed for everyone's free use or not licensed at all. - -The precise terms and conditions for copying, distribution and -modification follow. - -TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - -0. This License applies to any program or other work which contains a -notice placed by the copyright holder saying it may be distributed under -the terms of this General Public License. The "Program", below, refers -to any such program or work, and a "work based on the Program" means -either the Program or any derivative work under copyright law: that is -to say, a work containing the Program or a portion of it, either -verbatim or with modifications and/or translated into another language. -(Hereinafter, translation is included without limitation in the term -"modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of running -the Program is not restricted, and the output from the Program is -covered only if its contents constitute a work based on the Program -(independent of having been made by running the Program). Whether that -is true depends on what the Program does. - -1. You may copy and distribute verbatim copies of the Program's source -code as you receive it, in any medium, provided that you conspicuously -and appropriately publish on each copy an appropriate copyright notice -and disclaimer of warranty; keep intact all the notices that refer to -this License and to the absence of any warranty; and give any other -recipients of the Program a copy of this License along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - -2. You may modify your copy or copies of the Program or any portion of -it, thus forming a work based on the Program, and copy and distribute -such modifications or work under the terms of Section 1 above, provided -that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices stating - that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in whole - or in part contains or is derived from the Program or any part thereof, - to be licensed as a whole at no charge to all third parties under the - terms of this License. - - c) If the modified program normally reads commands interactively when - run, you must cause it, when started running for such interactive use in - the most ordinary way, to print or display an announcement including an - appropriate copyright notice and a notice that there is no warranty (or - else, saying that you provide a warranty) and that users may - redistribute the program under these conditions, and telling the user - how to view a copy of this License. (Exception: if the Program itself is - interactive but does not normally print such an announcement, your work - based on the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, and -can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based on -the Program, the distribution of the whole must be on the terms of this -License, whose permissions for other licensees extend to the entire -whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of a -storage or distribution medium does not bring the other work under the -scope of this License. - -3. You may copy and distribute the Program (or a work based on it, under -Section 2) in object code or executable form under the terms of Sections -1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable source - code, which must be distributed under the terms of Sections 1 and 2 - above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three years, to - give any third party, for a charge no more than your cost of physically - performing source distribution, a complete machine-readable copy of the - corresponding source code, to be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer to - distribute corresponding source code. (This alternative is allowed only - for noncommercial distribution and only if you received the program in - object code or executable form with such an offer, in accord with - Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source code -means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to control -compilation and installation of the executable. However, as a special -exception, the source code distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies the -executable. - -If distribution of executable or object code is made by offering access -to copy from a designated place, then offering equivalent access to copy -the source code from the same place counts as distribution of the source -code, even though third parties are not compelled to copy the source -along with the object code. - -4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt otherwise -to copy, modify, sublicense or distribute the Program is void, and will -automatically terminate your rights under this License. However, parties -who have received copies, or rights, from you under this License will -not have their licenses terminated so long as such parties remain in -full compliance. - -5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and all -its terms and conditions for copying, distributing or modifying the -Program or works based on it. - -6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further restrictions -on the recipients' exercise of the rights granted herein. You are not -responsible for enforcing compliance by third parties to this License. - -7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot distribute -so as to satisfy simultaneously your obligations under this License and -any other pertinent obligations, then as a consequence you may not -distribute the Program at all. For example, if a patent license would -not permit royalty-free redistribution of the Program by all those who -receive copies directly or indirectly through you, then the only way you -could satisfy both it and this License would be to refrain entirely from -distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is implemented -by public license practices. Many people have made generous -contributions to the wide range of software distributed through that -system in reliance on consistent application of that system; it is up to -the author/donor to decide if he or she is willing to distribute -software through any other system and a licensee cannot impose that -choice. - -This section is intended to make thoroughly clear what is believed to be -a consequence of the rest of this License. - -8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License may -add an explicit geographical distribution limitation excluding those -countries, so that distribution is permitted only in or among countries -not thus excluded. In such case, this License incorporates the -limitation as if written in the body of this License. - -9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Program does not specify a version -number of this License, you may choose any version ever published by the -Free Software Foundation. - -10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the -author to ask for permission. For software which is copyrighted by the -Free Software Foundation, write to the Free Software Foundation; we -sometimes make exceptions for this. Our decision will be guided by the -two goals of preserving the free status of all derivatives of our free -software and of promoting the sharing and reuse of software generally. - -NO WARRANTY - -11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER -EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE -ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH -YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - -12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR -DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL -DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED -INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF -THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR -OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - -END OF TERMS AND CONDITIONS - -How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these -terms. - -To do so, attach the following notices to the program. It is safest to -attach them to the start of each source file to most effectively convey -the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - One line to give the program's name and a brief idea of what it does. - Copyright (C) - - This program is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by the - Free Software Foundation; either version 2 of the License, or (at your - option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General - Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author Gnomovision - comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is - free software, and you are welcome to redistribute it under certain - conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the -appropriate parts of the General Public License. Of course, the commands -you use may be called something other than `show w' and `show c'; they -could even be mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - signature of Ty Coon, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications -with the library. If this is what you want to do, use the GNU Library -General Public License instead of this License. - -# - -"CLASSPATH" EXCEPTION TO THE GPL VERSION 2 - -Certain source files distributed by Oracle are subject to the following -clarification and special exception to the GPL Version 2, but only where -Oracle has expressly included in the particular source file's header the -words "Oracle designates this particular file as subject to the -"Classpath" exception as provided by Oracle in the License file that -accompanied this code." - -Linking this library statically or dynamically with other modules is -making a combined work based on this library. Thus, the terms and -conditions of the GNU General Public License Version 2 cover the whole -combination. - -As a special exception, the copyright holders of this library give you -permission to link this library with independent modules to produce an -executable, regardless of the license terms of these independent -modules, and to copy and distribute the resulting executable under terms -of your choice, provided that you also meet, for each linked independent -module, the terms and conditions of the license of that module. An -independent module is a module which is not derived from or based on -this library. If you modify this library, you may extend this exception -to your version of the library, but you are not obligated to do so. If -you do not wish to do so, delete this exception statement from your -version. - - ------------------------------------------------------------------------------- -GNU Lesser General Public License, Version 2.1 - JAX-RS provider for JSON content type - Logback Access Module - Logback Classic Module - Logback Core Module ------------------------------------------------------------------------------- - - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - ------------------------------------------------------------------------------- -MIT License - SLF4J API Module ------------------------------------------------------------------------------- - -The MIT License - -Copyright (c) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - ------------------------------------------------------------------------------- -Mozilla Public License, Version 1.1 - Mozilla Rhino ------------------------------------------------------------------------------- - - MOZILLA PUBLIC LICENSE - Version 1.1 - - --------------- - -1. Definitions. - - 1.0.1. "Commercial Use" means distribution or otherwise making the - Covered Code available to a third party. - - 1.1. "Contributor" means each entity that creates or contributes to - the creation of Modifications. - - 1.2. "Contributor Version" means the combination of the Original - Code, prior Modifications used by a Contributor, and the Modifications - made by that particular Contributor. - - 1.3. "Covered Code" means the Original Code or Modifications or the - combination of the Original Code and Modifications, in each case - including portions thereof. - - 1.4. "Electronic Distribution Mechanism" means a mechanism generally - accepted in the software development community for the electronic - transfer of data. - - 1.5. "Executable" means Covered Code in any form other than Source - Code. - - 1.6. "Initial Developer" means the individual or entity identified - as the Initial Developer in the Source Code notice required by Exhibit - A. - - 1.7. "Larger Work" means a work which combines Covered Code or - portions thereof with code not governed by the terms of this License. - - 1.8. "License" means this document. - - 1.8.1. "Licensable" means having the right to grant, to the maximum - extent possible, whether at the time of the initial grant or - subsequently acquired, any and all of the rights conveyed herein. - - 1.9. "Modifications" means any addition to or deletion from the - substance or structure of either the Original Code or any previous - Modifications. When Covered Code is released as a series of files, a - Modification is: - A. Any addition to or deletion from the contents of a file - containing Original Code or previous Modifications. - - B. Any new file that contains any part of the Original Code or - previous Modifications. - - 1.10. "Original Code" means Source Code of computer software code - which is described in the Source Code notice required by Exhibit A as - Original Code, and which, at the time of its release under this - License is not already Covered Code governed by this License. - - 1.10.1. "Patent Claims" means any patent claim(s), now owned or - hereafter acquired, including without limitation, method, process, - and apparatus claims, in any patent Licensable by grantor. - - 1.11. "Source Code" means the preferred form of the Covered Code for - making modifications to it, including all modules it contains, plus - any associated interface definition files, scripts used to control - compilation and installation of an Executable, or source code - differential comparisons against either the Original Code or another - well known, available Covered Code of the Contributor's choice. The - Source Code can be in a compressed or archival form, provided the - appropriate decompression or de-archiving software is widely available - for no charge. - - 1.12. "You" (or "Your") means an individual or a legal entity - exercising rights under, and complying with all of the terms of, this - License or a future version of this License issued under Section 6.1. - For legal entities, "You" includes any entity which controls, is - controlled by, or is under common control with You. For purposes of - this definition, "control" means (a) the power, direct or indirect, - to cause the direction or management of such entity, whether by - contract or otherwise, or (b) ownership of more than fifty percent - (50%) of the outstanding shares or beneficial ownership of such - entity. - -2. Source Code License. - - 2.1. The Initial Developer Grant. - The Initial Developer hereby grants You a world-wide, royalty-free, - non-exclusive license, subject to third party intellectual property - claims: - (a) under intellectual property rights (other than patent or - trademark) Licensable by Initial Developer to use, reproduce, - modify, display, perform, sublicense and distribute the Original - Code (or portions thereof) with or without Modifications, and/or - as part of a Larger Work; and - - (b) under Patents Claims infringed by the making, using or - selling of Original Code, to make, have made, use, practice, - sell, and offer for sale, and/or otherwise dispose of the - Original Code (or portions thereof). - - (c) the licenses granted in this Section 2.1(a) and (b) are - effective on the date Initial Developer first distributes - Original Code under the terms of this License. - - (d) Notwithstanding Section 2.1(b) above, no patent license is - granted: 1) for code that You delete from the Original Code; 2) - separate from the Original Code; or 3) for infringements caused - by: i) the modification of the Original Code or ii) the - combination of the Original Code with other software or devices. - - 2.2. Contributor Grant. - Subject to third party intellectual property claims, each Contributor - hereby grants You a world-wide, royalty-free, non-exclusive license - - (a) under intellectual property rights (other than patent or - trademark) Licensable by Contributor, to use, reproduce, modify, - display, perform, sublicense and distribute the Modifications - created by such Contributor (or portions thereof) either on an - unmodified basis, with other Modifications, as Covered Code - and/or as part of a Larger Work; and - - (b) under Patent Claims infringed by the making, using, or - selling of Modifications made by that Contributor either alone - and/or in combination with its Contributor Version (or portions - of such combination), to make, use, sell, offer for sale, have - made, and/or otherwise dispose of: 1) Modifications made by that - Contributor (or portions thereof); and 2) the combination of - Modifications made by that Contributor with its Contributor - Version (or portions of such combination). - - (c) the licenses granted in Sections 2.2(a) and 2.2(b) are - effective on the date Contributor first makes Commercial Use of - the Covered Code. - - (d) Notwithstanding Section 2.2(b) above, no patent license is - granted: 1) for any code that Contributor has deleted from the - Contributor Version; 2) separate from the Contributor Version; - 3) for infringements caused by: i) third party modifications of - Contributor Version or ii) the combination of Modifications made - by that Contributor with other software (except as part of the - Contributor Version) or other devices; or 4) under Patent Claims - infringed by Covered Code in the absence of Modifications made by - that Contributor. - -3. Distribution Obligations. - - 3.1. Application of License. - The Modifications which You create or to which You contribute are - governed by the terms of this License, including without limitation - Section 2.2. The Source Code version of Covered Code may be - distributed only under the terms of this License or a future version - of this License released under Section 6.1, and You must include a - copy of this License with every copy of the Source Code You - distribute. You may not offer or impose any terms on any Source Code - version that alters or restricts the applicable version of this - License or the recipients' rights hereunder. However, You may include - an additional document offering the additional rights described in - Section 3.5. - - 3.2. Availability of Source Code. - Any Modification which You create or to which You contribute must be - made available in Source Code form under the terms of this License - either on the same media as an Executable version or via an accepted - Electronic Distribution Mechanism to anyone to whom you made an - Executable version available; and if made available via Electronic - Distribution Mechanism, must remain available for at least twelve (12) - months after the date it initially became available, or at least six - (6) months after a subsequent version of that particular Modification - has been made available to such recipients. You are responsible for - ensuring that the Source Code version remains available even if the - Electronic Distribution Mechanism is maintained by a third party. - - 3.3. Description of Modifications. - You must cause all Covered Code to which You contribute to contain a - file documenting the changes You made to create that Covered Code and - the date of any change. You must include a prominent statement that - the Modification is derived, directly or indirectly, from Original - Code provided by the Initial Developer and including the name of the - Initial Developer in (a) the Source Code, and (b) in any notice in an - Executable version or related documentation in which You describe the - origin or ownership of the Covered Code. - - 3.4. Intellectual Property Matters - (a) Third Party Claims. - If Contributor has knowledge that a license under a third party's - intellectual property rights is required to exercise the rights - granted by such Contributor under Sections 2.1 or 2.2, - Contributor must include a text file with the Source Code - distribution titled "LEGAL" which describes the claim and the - party making the claim in sufficient detail that a recipient will - know whom to contact. If Contributor obtains such knowledge after - the Modification is made available as described in Section 3.2, - Contributor shall promptly modify the LEGAL file in all copies - Contributor makes available thereafter and shall take other steps - (such as notifying appropriate mailing lists or newsgroups) - reasonably calculated to inform those who received the Covered - Code that new knowledge has been obtained. - - (b) Contributor APIs. - If Contributor's Modifications include an application programming - interface and Contributor has knowledge of patent licenses which - are reasonably necessary to implement that API, Contributor must - also include this information in the LEGAL file. - - (c) Representations. - Contributor represents that, except as disclosed pursuant to - Section 3.4(a) above, Contributor believes that Contributor's - Modifications are Contributor's original creation(s) and/or - Contributor has sufficient rights to grant the rights conveyed by - this License. - - 3.5. Required Notices. - You must duplicate the notice in Exhibit A in each file of the Source - Code. If it is not possible to put such notice in a particular Source - Code file due to its structure, then You must include such notice in a - location (such as a relevant directory) where a user would be likely - to look for such a notice. If You created one or more Modification(s) - You may add your name as a Contributor to the notice described in - Exhibit A. You must also duplicate this License in any documentation - for the Source Code where You describe recipients' rights or ownership - rights relating to Covered Code. You may choose to offer, and to - charge a fee for, warranty, support, indemnity or liability - obligations to one or more recipients of Covered Code. However, You - may do so only on Your own behalf, and not on behalf of the Initial - Developer or any Contributor. You must make it absolutely clear than - any such warranty, support, indemnity or liability obligation is - offered by You alone, and You hereby agree to indemnify the Initial - Developer and every Contributor for any liability incurred by the - Initial Developer or such Contributor as a result of warranty, - support, indemnity or liability terms You offer. - - 3.6. Distribution of Executable Versions. - You may distribute Covered Code in Executable form only if the - requirements of Section 3.1-3.5 have been met for that Covered Code, - and if You include a notice stating that the Source Code version of - the Covered Code is available under the terms of this License, - including a description of how and where You have fulfilled the - obligations of Section 3.2. The notice must be conspicuously included - in any notice in an Executable version, related documentation or - collateral in which You describe recipients' rights relating to the - Covered Code. You may distribute the Executable version of Covered - Code or ownership rights under a license of Your choice, which may - contain terms different from this License, provided that You are in - compliance with the terms of this License and that the license for the - Executable version does not attempt to limit or alter the recipient's - rights in the Source Code version from the rights set forth in this - License. If You distribute the Executable version under a different - license You must make it absolutely clear that any terms which differ - from this License are offered by You alone, not by the Initial - Developer or any Contributor. You hereby agree to indemnify the - Initial Developer and every Contributor for any liability incurred by - the Initial Developer or such Contributor as a result of any such - terms You offer. - - 3.7. Larger Works. - You may create a Larger Work by combining Covered Code with other code - not governed by the terms of this License and distribute the Larger - Work as a single product. In such a case, You must make sure the - requirements of this License are fulfilled for the Covered Code. - -4. Inability to Comply Due to Statute or Regulation. - - If it is impossible for You to comply with any of the terms of this - License with respect to some or all of the Covered Code due to - statute, judicial order, or regulation then You must: (a) comply with - the terms of this License to the maximum extent possible; and (b) - describe the limitations and the code they affect. Such description - must be included in the LEGAL file described in Section 3.4 and must - be included with all distributions of the Source Code. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - -5. Application of this License. - - This License applies to code to which the Initial Developer has - attached the notice in Exhibit A and to related Covered Code. - -6. Versions of the License. - - 6.1. New Versions. - Netscape Communications Corporation ("Netscape") may publish revised - and/or new versions of the License from time to time. Each version - will be given a distinguishing version number. - - 6.2. Effect of New Versions. - Once Covered Code has been published under a particular version of the - License, You may always continue to use it under the terms of that - version. You may also choose to use such Covered Code under the terms - of any subsequent version of the License published by Netscape. No one - other than Netscape has the right to modify the terms applicable to - Covered Code created under this License. - - 6.3. Derivative Works. - If You create or use a modified version of this License (which you may - only do in order to apply it to code which is not already Covered Code - governed by this License), You must (a) rename Your license so that - the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", - "MPL", "NPL" or any confusingly similar phrase do not appear in your - license (except to note that your license differs from this License) - and (b) otherwise make it clear that Your version of the license - contains terms which differ from the Mozilla Public License and - Netscape Public License. (Filling in the name of the Initial - Developer, Original Code or Contributor in the notice described in - Exhibit A shall not of themselves be deemed to be modifications of - this License.) - -7. DISCLAIMER OF WARRANTY. - - COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, - WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF - DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. - THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE - IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, - YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE - COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER - OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF - ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. - -8. TERMINATION. - - 8.1. This License and the rights granted hereunder will terminate - automatically if You fail to comply with terms herein and fail to cure - such breach within 30 days of becoming aware of the breach. All - sublicenses to the Covered Code which are properly granted shall - survive any termination of this License. Provisions which, by their - nature, must remain in effect beyond the termination of this License - shall survive. - - 8.2. If You initiate litigation by asserting a patent infringement - claim (excluding declatory judgment actions) against Initial Developer - or a Contributor (the Initial Developer or Contributor against whom - You file such action is referred to as "Participant") alleging that: - - (a) such Participant's Contributor Version directly or indirectly - infringes any patent, then any and all rights granted by such - Participant to You under Sections 2.1 and/or 2.2 of this License - shall, upon 60 days notice from Participant terminate prospectively, - unless if within 60 days after receipt of notice You either: (i) - agree in writing to pay Participant a mutually agreeable reasonable - royalty for Your past and future use of Modifications made by such - Participant, or (ii) withdraw Your litigation claim with respect to - the Contributor Version against such Participant. If within 60 days - of notice, a reasonable royalty and payment arrangement are not - mutually agreed upon in writing by the parties or the litigation claim - is not withdrawn, the rights granted by Participant to You under - Sections 2.1 and/or 2.2 automatically terminate at the expiration of - the 60 day notice period specified above. - - (b) any software, hardware, or device, other than such Participant's - Contributor Version, directly or indirectly infringes any patent, then - any rights granted to You by such Participant under Sections 2.1(b) - and 2.2(b) are revoked effective as of the date You first made, used, - sold, distributed, or had made, Modifications made by that - Participant. - - 8.3. If You assert a patent infringement claim against Participant - alleging that such Participant's Contributor Version directly or - indirectly infringes any patent where such claim is resolved (such as - by license or settlement) prior to the initiation of patent - infringement litigation, then the reasonable value of the licenses - granted by such Participant under Sections 2.1 or 2.2 shall be taken - into account in determining the amount or value of any payment or - license. - - 8.4. In the event of termination under Sections 8.1 or 8.2 above, - all end user license agreements (excluding distributors and resellers) - which have been validly granted by You or any distributor hereunder - prior to termination shall survive termination. - -9. LIMITATION OF LIABILITY. - - UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT - (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL - DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, - OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR - ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY - CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, - WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER - COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN - INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF - LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY - RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW - PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE - EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO - THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. - -10. U.S. GOVERNMENT END USERS. - - The Covered Code is a "commercial item," as that term is defined in - 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer - software" and "commercial computer software documentation," as such - terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 - C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), - all U.S. Government End Users acquire Covered Code with only those - rights set forth herein. - -11. MISCELLANEOUS. - - This License represents the complete agreement concerning subject - matter hereof. If any provision of this License is held to be - unenforceable, such provision shall be reformed only to the extent - necessary to make it enforceable. This License shall be governed by - California law provisions (except to the extent applicable law, if - any, provides otherwise), excluding its conflict-of-law provisions. - With respect to disputes in which at least one party is a citizen of, - or an entity chartered or registered to do business in the United - States of America, any litigation relating to this License shall be - subject to the jurisdiction of the Federal Courts of the Northern - District of California, with venue lying in Santa Clara County, - California, with the losing party responsible for costs, including - without limitation, court costs and reasonable attorneys' fees and - expenses. The application of the United Nations Convention on - Contracts for the International Sale of Goods is expressly excluded. - Any law or regulation which provides that the language of a contract - shall be construed against the drafter shall not apply to this - License. - -12. RESPONSIBILITY FOR CLAIMS. - - As between Initial Developer and the Contributors, each party is - responsible for claims and damages arising, directly or indirectly, - out of its utilization of rights under this License and You agree to - work with Initial Developer and Contributors to distribute such - responsibility on an equitable basis. Nothing herein is intended or - shall be deemed to constitute any admission of liability. - -13. MULTIPLE-LICENSED CODE. - - Initial Developer may designate portions of the Covered Code as - "Multiple-Licensed". "Multiple-Licensed" means that the Initial - Developer permits you to utilize portions of the Covered Code under - Your choice of the NPL or the alternative licenses, if any, specified - by the Initial Developer in the file described in Exhibit A. - -EXHIBIT A -Mozilla Public License. - - ``The contents of this file are subject to the Mozilla Public License - Version 1.1 (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.mozilla.org/MPL/ - - Software distributed under the License is distributed on an "AS IS" - basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the - License for the specific language governing rights and limitations - under the License. - - The Original Code is ______________________________________. - - The Initial Developer of the Original Code is ________________________. - Portions created by ______________________ are Copyright (C) ______ - _______________________. All Rights Reserved. - - Contributor(s): ______________________________________. - - Alternatively, the contents of this file may be used under the terms - of the _____ license (the "[___] License"), in which case the - provisions of [______] License are applicable instead of those - above. If you wish to allow use of your version of this file only - under the terms of the [____] License and not to allow others to use - your version of this file under the MPL, indicate your decision by - deleting the provisions above and replace them with the notice and - other provisions required by the [___] License. If you do not delete - the provisions above, a recipient may use your version of this file - under either the MPL or the [___] License." - - [NOTE: The text of this Exhibit A may differ slightly from the text of - the notices in the Source Code files of the Original Code. You should - use the text of this Exhibit A rather than the text found in the - Original Code Source Code for Your Modifications.] - - - -Dependencies with multiple licenses ------------------------------------ - -JAX-RS provider for JSON content type - Apache Software License, Version 2.0 - GNU Lesser General Public License, Version 2.1 - -Jetty Server - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Jetty Utilities - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Logback Access Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Classic Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Core Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -MIME streaming extension - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -Mozilla Rhino - GNU General Public License, version 2 or later - Mozilla Public License, Version 1.1 - -jersey-core - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-multipart - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-server - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jsr311-api - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - diff --git a/packaging/neo4j-desktop/NOTICE.txt b/packaging/neo4j-desktop/NOTICE.txt deleted file mode 100644 index 5601e893d2fbc..0000000000000 --- a/packaging/neo4j-desktop/NOTICE.txt +++ /dev/null @@ -1,148 +0,0 @@ -Neo4j -Copyright ยฉ 2002-2016 Network Engine for Objects in Lund AB (referred to -in this notice as "Neo Technology") - [http://neotechnology.com] - -This product includes software ("Software") developed by Neo Technology. - -The copyright in the bundled Neo4j graph database (including the -Software) is owned by Neo Technology. The Software developed and owned -by Neo Technology is licensed under the GNU AFFERO GENERAL PUBLIC -LICENSE Version 3 (http://www.fsf.org/licensing/licenses/agpl-3.0.html) -("AGPL") to all third parties and that license, as required by the AGPL, -is included in the LICENSE.txt file. - -However, if you have executed an End User Software License and Services -Agreement or an OEM Software License and Support Services Agreement, or -another commercial license agreement with Neo Technology or one of its -affiliates (each, a "Commercial Agreement"), the terms of the license in -such Commercial Agreement will supersede the AGPL and you may use the -software solely pursuant to the terms of the relevant Commercial -Agreement. - -Full license texts are found in LICENSES.txt. - -Third-party licenses --------------------- - -ASM License - ASM Core - -Apache Software License, Version 2.0 - Apache ServiceMix Bundles: jline-0.9.94 - Commons BeanUtils - Commons BeanUtils Core - Commons Collections - Commons Configuration - Commons Digester - Commons IO - Commons Lang - Commons Logging - ConcurrentLinkedHashMap - Data Mapper for Jackson - Jackson - JAX-RS provider for JSON content type - Jetty Server - Jetty Utilities - Lucene Core - parboiled-core - parboiled-scala - RRD4J - Servlet Specification API - -BSD - Scala License - Scala Library - -BSD License - Janino - -Bouncy Castle License - Legion of the Bouncy Castle Java Cryptography APIs - -Common Development and Distribution License Version 1.1 - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension - -Eclipse Public License, Version 1.0 - Jetty Server - Jetty Utilities - Logback Access Module - Logback Classic Module - Logback Core Module - -GNU General Public License, version 2 or later - Mozilla Rhino - -GNU General Public License, version 2 with the Classpath Exception - jersey-core - jersey-multipart - jersey-server - jsr311-api - MIME streaming extension - -GNU Lesser General Public License, Version 2.1 - JAX-RS provider for JSON content type - Logback Access Module - Logback Classic Module - Logback Core Module - -MIT License - SLF4J API Module - -Mozilla Public License, Version 1.1 - Mozilla Rhino - -Dependencies with multiple licenses ------------------------------------ - -JAX-RS provider for JSON content type - Apache Software License, Version 2.0 - GNU Lesser General Public License, Version 2.1 - -Jetty Server - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Jetty Utilities - Apache Software License, Version 2.0 - Eclipse Public License, Version 1.0 - -Logback Access Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Classic Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -Logback Core Module - Eclipse Public License, Version 1.0 - GNU Lesser General Public License, Version 2.1 - -MIME streaming extension - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -Mozilla Rhino - GNU General Public License, version 2 or later - Mozilla Public License, Version 1.1 - -jersey-core - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-multipart - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jersey-server - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - -jsr311-api - Common Development and Distribution License Version 1.1 - GNU General Public License, version 2 with the Classpath Exception - diff --git a/packaging/neo4j-desktop/manual-tests.txt b/packaging/neo4j-desktop/manual-tests.txt deleted file mode 100644 index b7bbe2b4027ef..0000000000000 --- a/packaging/neo4j-desktop/manual-tests.txt +++ /dev/null @@ -1,31 +0,0 @@ - * Get a clean Windows box that hasn't had Neo4j installed before. - * Download latest Windows installer from the - neo4j-2.0-release-candidate build. - * Run the installer, allowing it to start Desktop at the end. - * Start the default database. - * Launch the browser by clicking the link in Desktop. - * Insert some data through the browser and check that you can - retrieve it. - * Stop the database and close Desktop. - * Open Desktop and restart the same database, check that you can see - the data you created. - * Stop the database. - * In Desktop open the browse dialogue and use it to create a new - empty folder. Open that folder as a database. - * Check that you can't see the data you added to the other database. - * Change the server port through the settings dialogue. Check that - the browser can now connect to the new port. - * Through settings dialogue, add dbms.read_only=true to neo4j.conf. - * Check that you get an error if you try to modify data. - * Restart the original, default database and check that you can still - modify data. - * Install a plugin or extension. For example, download Neo4j Spatial(1) - and drop it in the right place(2). - * Uninstall Desktop. Check that Program Files\Neo4j Community is - deleted, but directories under Application Data and My Documents - remain. - - - -1) https://github.com/neo4j/spatial has links to downloadable artifacts -2) C:\Program Files\Neo4j Community\plugins\README.txt can help you diff --git a/packaging/neo4j-desktop/pom.xml b/packaging/neo4j-desktop/pom.xml deleted file mode 100644 index 2b933d2a4174a..0000000000000 --- a/packaging/neo4j-desktop/pom.xml +++ /dev/null @@ -1,144 +0,0 @@ - - - - org.neo4j.assembly - neo4j-standalone - 3.0.13-SNAPSHOT - ../standalone - - - 4.0.0 - - org.neo4j.build - neo4j-desktop - 3.0.13-SNAPSHOT - - Neo4j Desktop - Easy-to-use Neo4j database in an .exe - - - ${project.version} - - - - - org.neo4j.app - neo4j-server - ${project.version} - - - junit - junit - test - - - org.mockito - mockito-core - test - - - org.neo4j.app - neo4j-server - ${project.version} - test-jar - test - - - org.neo4j - neo4j-dbms - ${project.version} - - - org.neo4j - neo4j-io - ${project.version} - test-jar - test - - - org.apache.commons - commons-lang3 - - - org.neo4j - neo4j-kernel - ${project.version} - - - - - - - org.neo4j.build.plugins - licensing-maven-plugin - - notice-gpl-prefix.txt - - - - list-all-licenses-win - compile - - check - - - - licensing-requirements-base.xml - licensing-requirements-js.xml - licensing-requirements-browser.xml - licensing-requirements-win.xml - licensing-requirements-installer.xml - - ${project.artifactId}-${neo4j.version}-NOTICE-win.txt - list-prefix.txt - ${project.artifactId}-${neo4j.version}-LICENSES-win.txt - - - - - - - org.apache.maven.plugins - maven-shade-plugin - - - package - - shade - - - - - org.neo4j.desktop.Neo4jDesktop - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - - - - - diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java deleted file mode 100644 index fbd6f51684983..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/DesktopIdentification.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -public final class DesktopIdentification -{ - public static void register() - { - System.setProperty( "unsupported.dbms.udc.source", "desktop" ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java deleted file mode 100644 index ae4ef73817717..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Neo4jDesktop.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -import org.apache.commons.lang3.SystemUtils; - -import org.neo4j.desktop.config.Installation; -import org.neo4j.desktop.config.osx.DarwinInstallation; -import org.neo4j.desktop.config.unix.UnixInstallation; -import org.neo4j.desktop.config.windows.WindowsInstallation; -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.runtime.DatabaseActions; -import org.neo4j.desktop.ui.MainWindow; -import org.neo4j.desktop.ui.PlatformUI; - -import static org.neo4j.desktop.ui.Components.alert; - -/** - * The main class for starting the Neo4j desktop app window. The different components are wired up and started. - */ - -public final class Neo4jDesktop -{ - public static void main( String[] args ) - { - preStartInitialize(); - - Neo4jDesktop app = new Neo4jDesktop( new Parameters( args ) ); - app.start(); - } - - private final Parameters parameters; - - public Neo4jDesktop( Parameters parameters ) - { - this.parameters = parameters; - } - - public static void preStartInitialize() - { - PlatformUI.selectPlatformUI(); - DesktopIdentification.register(); - } - - private void start() - { - try - { - Installation installation = getInstallation(); - installation.initialize(); - - DesktopModel model = new DesktopModel( installation, parameters ); - DatabaseActions databaseActions = new DatabaseActions( model ); - addShutdownHook( databaseActions ); - - MainWindow window = new MainWindow( databaseActions, model ); - window.display(); - } - catch ( Exception e ) - { - alert( e.getMessage() ); - e.printStackTrace( System.out ); - } - } - - private Installation getInstallation() throws Exception - { - if ( SystemUtils.IS_OS_WINDOWS ) - { - return new WindowsInstallation(); - } - else if ( SystemUtils.IS_OS_MAC ) - { - return new DarwinInstallation(); - } - else - { - return new UnixInstallation(); - } - } - - protected void addShutdownHook( final DatabaseActions databaseActions ) - { - Runtime.getRuntime() - .addShutdownHook( new Thread() - { - @Override - public void run() - { - databaseActions.stop(); - } - } ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java deleted file mode 100644 index 9d1a834d5ac22..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/Parameters.java +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -import java.io.File; - -import org.neo4j.helpers.Args; - -public class Parameters -{ - private File configurationsFile; - - public Parameters( String[] args ) - { - Args parsedArgs = Args.parse( args ); - - String path = parsedArgs.get( "config-file" ); - if ( path != null ) - { - configurationsFile = new File( path ); - } - } - - public File getConfigurationsFile() - { - return configurationsFile; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java deleted file mode 100644 index 22349a823a2b7..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/Installation.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config; - -import java.io.File; -import java.io.InputStream; -import java.net.URISyntaxException; -import org.neo4j.desktop.config.portable.Environment; - -/** - * The Installation represents the "static" part of the configuration on a particular system. It abstracts away - * operating system specifics. - */ -public interface Installation -{ - String NEO4J_CONFIG_FILENAME = "neo4j.conf"; - String NEO4J_VMOPTIONS_FILENAME = "neo4j-community.vmoptions"; - String DEFAULT_CONFIG_RESOURCE_NAME = "/org/neo4j/desktop/config/neo4j-default.conf"; - String DEFAULT_VMOPTIONS_TEMPLATE_RESOURCE_NAME = "/org/neo4j/desktop/config/vmoptions.template"; - String INSTALL_PROPERTIES_FILENAME = "install.properties"; - - /** - * Get a facade for interacting with the environment, such as opening file editors and browsing URLs. - */ - Environment getEnvironment(); - - /** - * Get the directory wherein the database will put its store files. - */ - File getDatabaseDirectory(); - - /** - * Get the directory where the configuration properties files are located. - */ - File getConfigurationDirectory(); - - /** - * Get the abstract path name that points to the neo4j-community.vmoptions file. - */ - File getVmOptionsFile(); - - /** - * Get the abstract path name that points to the neo4j.conf file. - */ - File getConfigurationsFile(); - - /** - * Initialize the installation, such that we make sure that the various configuration files - * exist where we expect them to. - */ - void initialize() throws Exception; - - /** - * Get the contents for a default neo4j.conf file. - */ - InputStream getDefaultDatabaseConfiguration(); - - /** - * Get the contents for a default neo4j-community.vmoptions file. - */ - InputStream getDefaultVmOptions(); - - /** - * Get the directory into which Neo4j Desktop has been installed. - */ - File getInstallationDirectory() throws URISyntaxException; - - /** - * Get the directory where the neo4j-desktop.jar file has been installed into. - */ - File getInstallationBinDirectory() throws URISyntaxException; - - /** - * Get the directory where bundled JRE binaries are located. - */ - File getInstallationJreBinDirectory() throws URISyntaxException; -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java deleted file mode 100644 index 7328fc7bb64f9..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinEnvironment.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.osx; - -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.config.portable.Environment; - -class DarwinEnvironment extends Environment -{ - @Override - public void editFile( File file ) throws IOException, SecurityException - { - try - { - super.editFile( file ); - } - catch( IOException|UnsupportedOperationException ex ) - { - Runtime.getRuntime().exec( new String[] { "open", "-nt", file.getAbsolutePath() } ); - } - } - - @Override - public void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws IOException - { - Runtime.getRuntime().exec( new String[] { "open", "-na", "Terminal", "openNeoTerminal.sh" } ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java deleted file mode 100644 index 2add7629f6139..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/osx/DarwinInstallation.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.osx; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.URISyntaxException; - -import org.neo4j.desktop.config.portable.Environment; -import org.neo4j.desktop.config.unix.UnixInstallation; - -public class DarwinInstallation extends UnixInstallation -{ - - public DarwinInstallation() - { - String filename = "openNeoTerminal.sh"; - - try - { - String[] scriptCommands = { - "#!/bin/bash", - "export PATH=$PATH:'" + this.getInstallationBinDirectory().getAbsolutePath().toString() + "':'" + - this.getInstallationJreBinDirectory().getAbsolutePath().toString() + "'", - "echo Neo4j Command Prompt", - "echo", - "echo This window is configured with Neo4j on the path.", - "echo", - "echo Available commands:", - "echo neo4j-shell", - "echo neo4j-import", - "bash"}; - - try( FileWriter fileWriter = new FileWriter( new File( filename ), false ) ) - { - for( String scriptCommand : scriptCommands ) - { - fileWriter.write( scriptCommand + "\n"); - } - - String commands[] = { "bash", "-c", "chmod a+x " + filename }; - - Runtime.getRuntime().exec( commands ); - } - catch( IOException ioe ) - { - System.out.println( "Error writing " + filename ); - } - } - catch( URISyntaxException urise ) - { - System.out.println( "Error getting bin locations for " + filename ); - } - } - - @Override - public Environment getEnvironment() - { - return new DarwinEnvironment(); - } - - @Override - protected File getDefaultDirectory() - { - return new File( new File( System.getProperty( "user.home" ) ), "Documents" ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java deleted file mode 100644 index 320641ed9529a..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Environment.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.awt.Desktop; -import java.io.File; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; - -import static java.awt.Desktop.getDesktop; -import static java.awt.Desktop.isDesktopSupported; - -public abstract class Environment -{ - public void editFile( File file ) throws IOException - { - if( isPortableEditFileSupported() ) - { - if( !file.exists() ) - { - file.createNewFile(); - } - - getDesktop().edit(file); - } - else throw new UnsupportedOperationException( "Cannot edit " + file + ". Unsupported operation." ); - } - - public void openDirectory( File file ) throws IOException - { - if( isPortableOpenSupported() ) - { - getDesktop().open( file ); - } - else throw new UnsupportedOperationException( "Cannot openDirectory " + file + ". Unsupported operation." ); - } - - public void browse( String link ) throws IOException, URISyntaxException - { - if( isPortableBrowseSupported() ) - { - getDesktop().browse( new URI( link ) ); - } - else throw new UnsupportedOperationException( "Cannot browse " + link + ". Unsupported operation." ); - } - - public abstract void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws - IOException; - - protected boolean desktopSupports( Desktop.Action action ) - { - return isDesktopSupported() && getDesktop().isSupported( action ); - } - - protected boolean isPortableOpenSupported() - { - return desktopSupports( Desktop.Action.OPEN ); - } - - protected boolean isPortableBrowseSupported() - { - return desktopSupports( Desktop.Action.BROWSE ); - } - - protected boolean isPortableEditFileSupported() - { - return desktopSupports( Desktop.Action.EDIT ); - } - -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java deleted file mode 100644 index d704ed516fb48..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/PortableInstallation.java +++ /dev/null @@ -1,164 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.io.File; -import java.io.InputStream; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; - -import org.neo4j.desktop.config.Installation; - -import static java.lang.String.format; - -public abstract class PortableInstallation implements Installation -{ - - @Override - public File getDatabaseDirectory() - { - List locations = new ArrayList<>(); - - File defaultDirectory = getDefaultDirectory(); - File userHome = new File( System.getProperty( "user.home" ) ); - File userDir = new File( System.getProperty( "user.dir" ) ); - - locations.add( defaultDirectory ); - locations.add( userHome ); - - File documents = selectFirstWritableDirectoryOrElse( locations, userDir ); - File neo4jData = new File( documents, "Neo4j" ); - File graphdb = new File( neo4jData, "default.graphdb" ); - - mkdirs( graphdb, "Neo4j data directory" ); - - return graphdb; - } - - protected abstract File getDefaultDirectory(); - - private static File selectFirstWritableDirectoryOrElse( List locations, File defaultFile ) - { - File result = defaultFile.getAbsoluteFile(); - for ( File file : locations ) - { - File candidateFile = file.getAbsoluteFile(); - if ( candidateFile.exists() && candidateFile.isDirectory() && candidateFile.canWrite() ) { - result = candidateFile; - break; - } - } - return result; - } - - @Override - public void initialize() throws Exception - { - File vmopts = getVmOptionsFile(); - - if ( !vmopts.exists() ) - { - createVmOptionsFile( vmopts ); - } - } - - @Override - public InputStream getDefaultDatabaseConfiguration() - { - return getResourceStream( DEFAULT_CONFIG_RESOURCE_NAME ); - } - - @Override - public InputStream getDefaultVmOptions() - { - return getResourceStream( DEFAULT_VMOPTIONS_TEMPLATE_RESOURCE_NAME ); - } - - @Override - public File getInstallationDirectory() throws URISyntaxException - { - return getInstallationBinDirectory().getParentFile(); - } - - @Override - public File getInstallationBinDirectory() throws URISyntaxException - { - File appFile = new File( Installation.class.getProtectionDomain().getCodeSource().getLocation().toURI() ); - return appFile.getParentFile(); - } - - @Override - public File getInstallationJreBinDirectory() throws URISyntaxException - { - return new File( getInstallationDirectory(), "jre/bin" ); - } - - private InputStream getResourceStream( String defaultDatabaseConfigResourceName ) - { - return PortableInstallation.class.getResourceAsStream( defaultDatabaseConfigResourceName ); - } - protected void mkdirs( File path, String description ) - { - if ( path.exists() ) - { - if ( !path.isDirectory() ) - { - throw new PathAlreadyExistException( path, description ); - } - } - else if ( !path.mkdirs() ) - { - throw new CannotMakeDirectory( path, description ); - } - } - - private static class PathAlreadyExistException extends RuntimeException - { - public PathAlreadyExistException( File path, String description ) - { - super( format( "%s already exists but is not a %s.", description, path.getAbsolutePath() ) ); - } - } - - private static class CannotMakeDirectory extends RuntimeException - { - public CannotMakeDirectory( File path, String description ) - { - super( format( "Could not make %s %s", description, path.getAbsolutePath() ) ); - } - } - - private static class CannotFindInstallationDirectory extends RuntimeException - { - - public CannotFindInstallationDirectory( Exception cause ) - { - super( cause ); - } - - } - - private void createVmOptionsFile( File file ) throws Exception - { - Template template = new Template( getDefaultVmOptions() ); - template.write( file ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java deleted file mode 100644 index 9fef7063f28ee..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/Template.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.nio.charset.StandardCharsets; - -import java.util.function.Function; - -public class Template -{ - private final InputStream templateFile; - private final VariableSubstitutor substitutor; - private Function substitutionFunction; - - public Template( InputStream templateFile ) - { - this.templateFile = templateFile; - substitutor = new VariableSubstitutor(); - substitutionFunction = new Function() - { - @Override - public String apply( String name ) - { - String var = System.getenv( name ); - return var == null ? "" : var; - } - }; - } - - public void write( File file ) throws Exception - { - try ( BufferedReader reader = new BufferedReader( new InputStreamReader( templateFile, StandardCharsets.UTF_8 ) ); - PrintWriter writer = new PrintWriter( file )) - { - String input = reader.readLine(); - while ( input != null ) - { - String output = substitutor.substitute( input, substitutionFunction ); - - if ( output == null ) - { - continue; - } - - writer.println( output ); - input = reader.readLine(); - } - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java deleted file mode 100644 index 872e80fab2272..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/portable/VariableSubstitutor.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import java.util.function.Function; - -class VariableSubstitutor -{ - private static final Pattern DEFAULT_PATTERN = Pattern.compile( "\\$\\{([^\\}]+)\\}" ); - private final Pattern pattern; - - public VariableSubstitutor( Pattern pattern ) - { - this.pattern = pattern; - } - - public VariableSubstitutor() - { - this( DEFAULT_PATTERN ); - } - - public String substitute( String input, Function substitutionFunction ) - { - if ( input.length() == 0 ) - { - return ""; - } - - StringBuilder result = new StringBuilder( ); - Matcher matcher = pattern.matcher( input ); - int cur = 0; - while (matcher.find( cur )) - { - result.append( input.substring( cur, matcher.start() ) ); - result.append( substitutionFunction.apply( matcher.group( 1 ) ) ); - cur = matcher.end(); - } - - if ( cur < input.length() ) - { - result.append( input.substring( cur ) ); - } - - return result.toString(); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java deleted file mode 100644 index 9a88dabb72397..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixEnvironment.java +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.unix; - -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.config.portable.Environment; - -class UnixEnvironment extends Environment -{ - - public void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws IOException - { - throw new UnsupportedOperationException( - "Opening a command prompt is not currently supported on this operating system." ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java deleted file mode 100644 index 01ea960a2f13f..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/unix/UnixInstallation.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.unix; - -import java.io.File; - -import org.neo4j.desktop.config.portable.Environment; -import org.neo4j.desktop.config.portable.PortableInstallation; - -public class UnixInstallation extends PortableInstallation -{ - @Override - public Environment getEnvironment() - { - return new UnixEnvironment(); - } - - @Override - public File getConfigurationDirectory() - { - // On UNIX derived systems it makes sense to put the configurations in the parent directory of the default.graphdb directory - File databaseDirectory = getDatabaseDirectory(); - return databaseDirectory.getParentFile(); - } - - @Override - public File getVmOptionsFile() - { - return new File( getConfigurationDirectory(), "." + NEO4J_VMOPTIONS_FILENAME ); - } - - @Override - public File getConfigurationsFile() - { - return new File( getConfigurationDirectory(), "." + NEO4J_CONFIG_FILENAME ); - } - - @Override - protected File getDefaultDirectory() - { - return new File( System.getProperty( "user.home" ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java deleted file mode 100644 index c2a9895787eea..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsEnvironment.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.windows; - -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.config.portable.Environment; - -import static java.lang.Runtime.getRuntime; -import static java.lang.String.format; - -import static org.apache.commons.lang.StringUtils.join; - -class WindowsEnvironment extends Environment -{ - - @Override - public void editFile( File file ) throws IOException, SecurityException - { - try - { - super.editFile( file ); - } - catch( IOException|UnsupportedOperationException ex ) - { - getRuntime().exec( new String[] { "notepad", file.getAbsolutePath() } ); - } - } - - @Override - public void openDirectory( File directory ) throws IOException - { - try - { - super.openDirectory( directory ); - } - catch( IOException|UnsupportedOperationException ex ) - { - getRuntime().exec( new String[] { "explorer", directory.getAbsolutePath() } ); - } - } - - @Override - public void openCommandPrompt( File binDirectory, File jreBinDirectory, File workingDirectory ) throws IOException - { - String[] shellStartupCommands = { - format( "set PATH=\"%s\";\"%s\";%%PATH%%", jreBinDirectory, binDirectory ), - "set REPO=" + binDirectory, - "cd /D " + workingDirectory, - "echo Neo4j Command Prompt", - "echo.", - "echo This window is configured with Neo4j on the path.", - "echo.", - "echo Available commands:", - "echo * Neo4jShell", - "echo * Neo4jImport" - }; - - String[] cmdArray = { - "cmd", - "/C", - format( "start \"Neo4j Command Prompt\" cmd /K \"%s\"", join( shellStartupCommands, " && " ) ) - }; - - getRuntime().exec( cmdArray ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java deleted file mode 100644 index 7b0ec8a208343..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/config/windows/WindowsInstallation.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.windows; - -import java.io.File; -import java.io.FileInputStream; -import java.util.Properties; - -import org.neo4j.desktop.config.portable.Environment; -import org.neo4j.desktop.config.portable.PortableInstallation; - -import static javax.swing.filechooser.FileSystemView.getFileSystemView; - -public class WindowsInstallation extends PortableInstallation -{ - private final WindowsEnvironment environment; - private final Properties config = new Properties(); - - public WindowsInstallation() throws Exception - { - environment = new WindowsEnvironment(); - config.load( new FileInputStream( new File( getInstallationBinDirectory(), INSTALL_PROPERTIES_FILENAME ) ) ); - } - - @Override - public Environment getEnvironment() - { - return environment; - } - - @Override - protected File getDefaultDirectory() - { - return getFileSystemView().getDefaultDirectory(); - } - - @Override - public File getConfigurationDirectory() - { - File appData = new File( System.getenv( "APPDATA" ) ); - return new File( appData, config.getProperty( "win.appdata.subdir" ) ); - } - - @Override - public File getVmOptionsFile() - { - return new File( getConfigurationDirectory(), NEO4J_VMOPTIONS_FILENAME ); - } - - @Override - public File getConfigurationsFile() - { - return new File( getConfigurationDirectory(), NEO4J_CONFIG_FILENAME ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java deleted file mode 100644 index 6168c43e26064..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/DesktopModel.java +++ /dev/null @@ -1,212 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model; - -import java.io.BufferedReader; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.PrintWriter; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.List; - -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; -import org.neo4j.desktop.runtime.DesktopConfigurator; -import org.neo4j.desktop.ui.DesktopModelListener; -import org.neo4j.graphdb.factory.GraphDatabaseSettings; -import org.neo4j.helpers.HostnamePort; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.internal.Version; - -import static java.lang.String.format; - -public class DesktopModel -{ - private final Installation installation; - private final DesktopConfigurator serverConfigurator; - private final List listeners = new ArrayList<>(); - - public DesktopModel( Installation installation, Parameters parameters ) - { - this.installation = installation; - this.serverConfigurator = new DesktopConfigurator( installation, parameters, - installation.getDatabaseDirectory() ); - } - - public Config getConfig() - { - serverConfigurator.refresh(); - - for(DesktopModelListener listener : listeners) - { - listener.desktopModelChanged(this); - } - - return serverConfigurator.configuration(); - } - - public String getNeo4jVersion() - { - return format( "%s", Version.getNeo4jVersion() ); - } - - public HostnamePort getServerAddress() - { - return serverConfigurator.getServerAddress(); - } - - public File getDatabaseDirectory() - { - return new File( serverConfigurator.getDatabaseDirectory() ); - } - - public void setDatabaseDirectory( File databaseDirectory ) throws UnsuitableDirectoryException - { - verifyGraphDirectory(databaseDirectory); - serverConfigurator.setDatabaseDirectory( databaseDirectory ); - } - - - public File getVmOptionsFile() - { - return installation.getVmOptionsFile(); - } - - public File getDatabaseConfigurationFile() - { - return serverConfigurator.getConfigurationsFile(); - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - public void prepareGraphDirectoryForStart() throws UnsuitableDirectoryException - { - File databaseDirectory = new File( serverConfigurator.getDatabaseDirectory() ); - verifyGraphDirectory( databaseDirectory ); - if ( !databaseDirectory.exists() ) - { - databaseDirectory.mkdirs(); - } - - File configurationFile = installation.getConfigurationsFile(); - if ( !configurationFile.exists() ) - { - try - { - writeDefaultDatabaseConfiguration( configurationFile ); - } - catch ( IOException e ) - { - throw new UnsuitableDirectoryException( "Unable to write default configuration to %s", - databaseDirectory ); - } - } - } - - private static void verifyGraphDirectory( File dir ) throws UnsuitableDirectoryException - { - if ( !dir.isDirectory() ) - { - throw new UnsuitableDirectoryException( "%s is not a directory", dir ); - } - - if ( !dir.canWrite() ) - { - throw new UnsuitableDirectoryException( "%s is not writable", dir ); - } - - String[] fileNames = dir.list( ( dir1, name ) -> ! name.startsWith( "." ) ); - - if ( 0 == fileNames.length ) - { - return; - } - - for ( String fileName : fileNames ) - { - if ( fileName.startsWith( "neostore" ) || fileName.equals( "neo4j.conf" ) ) - { - return; - } - } - - throw new UnsuitableDirectoryException( - "%s is neither empty nor does it contain a neo4j graph database", dir ); - } - - public void register( DesktopModelListener desktopModelListener ) - { - listeners.add( desktopModelListener ); - } - - public void editFile( File file ) throws IOException - { - installation.getEnvironment().editFile( file ); - } - - public void openBrowser( String url ) throws IOException, URISyntaxException - { - installation.getEnvironment().browse( url ); - } - - public void writeDefaultDatabaseConfiguration( File file ) throws IOException - { - InputStream defaults = installation.getDefaultDatabaseConfiguration(); - writeInto( file, defaults ); - } - - private void writeInto( File file, InputStream data ) throws IOException - { - if ( data != null ) - { - try( BufferedReader reader = new BufferedReader( new InputStreamReader( data ) ); - PrintWriter writer = new PrintWriter( file ) ) - { - String input = reader.readLine(); - while ( input != null ) - { - writer.println( input ); - input = reader.readLine(); - } - } - } - } - - public File getPluginsDirectory() - { - return serverConfigurator.configuration().get( GraphDatabaseSettings.plugin_dir ); - } - - public void openDirectory( File directory ) throws IOException - { - installation.getEnvironment().openDirectory( directory ); - } - - public void launchCommandPrompt() throws IOException, URISyntaxException - { - installation.getEnvironment().openCommandPrompt( - installation.getInstallationBinDirectory(), - installation.getInstallationJreBinDirectory(), - installation.getDatabaseDirectory().getParentFile() ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java deleted file mode 100644 index bd091790ae582..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/LastLocation.java +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileWriter; -import java.io.IOException; -import java.nio.file.Paths; -import java.nio.file.StandardOpenOption; -import java.util.Scanner; - -public class LastLocation -{ - public static String getLastLocation( String defaultLocation ) - { - File file = new File( ".dblocation" ); - String location = defaultLocation; - - if( file.exists() && file.canRead() ) - { - try( Scanner scanner = new Scanner( file ) ) - { - if ( scanner.hasNextLine() ) - { - location = scanner.nextLine(); - } - } - catch ( FileNotFoundException fnfe ) - { - fnfe.printStackTrace(); - } - } - - return location; - } - - public static String setLastLocation( String location ) - { - try - { - java.nio.file.Files.write( Paths.get( ".dblocation" ),location.getBytes() ); - } - catch ( IOException ioe ) - { - System.out.println( "Error saving DB location" ); - System.out.println( ioe ); - } - - return location; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java deleted file mode 100644 index 8f3f41aef6290..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/SysTrayListener.java +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model; - -public interface SysTrayListener -{ - void open(); - void exit(); -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java deleted file mode 100644 index ab0bbe4282cd6..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnableToStartServerException.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model.exceptions; - -public class UnableToStartServerException extends Exception -{ - public UnableToStartServerException( String message ) - { - super( message ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java deleted file mode 100644 index 5ca6530fe43e3..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/model/exceptions/UnsuitableDirectoryException.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.model.exceptions; - -import java.io.File; - -import static java.lang.String.format; - -public class UnsuitableDirectoryException extends Exception -{ - public UnsuitableDirectoryException(String message, File dir) - { - super( format( message, dir.getAbsolutePath() ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java deleted file mode 100644 index 4d1ddf8ee3b91..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DatabaseActions.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.net.BindException; -import java.util.HashSet; -import java.util.Set; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.ui.MainWindow; -import org.neo4j.desktop.model.exceptions.UnableToStartServerException; -import org.neo4j.kernel.GraphDatabaseDependencies; -import org.neo4j.kernel.StoreLockException; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.kernel.monitoring.Monitors; -import org.neo4j.logging.FormattedLogProvider; -import org.neo4j.logging.LogProvider; -import org.neo4j.server.AbstractNeoServer; -import org.neo4j.server.CommunityNeoServer; -import org.neo4j.server.ServerStartupException; - -/** - * Lifecycle actions for the Neo4j server living inside this JVM. Typically reacts to button presses - * from {@link MainWindow}. - */ - -public class DatabaseActions -{ - private final DesktopModel model; - private AbstractNeoServer server; - - public DatabaseActions( DesktopModel model ) - { - this.model = model; - } - - public void start() throws UnableToStartServerException - { - if ( isRunning() ) - { - throw new UnableToStartServerException( "Already started" ); - } - - Config config = model.getConfig(); - Monitors monitors = new Monitors(); - - LogProvider userLogProvider = FormattedLogProvider.toOutputStream( System.out ); - GraphDatabaseDependencies dependencies = GraphDatabaseDependencies.newDependencies().userLogProvider( userLogProvider ).monitors( monitors ); - - server = new CommunityNeoServer( config, dependencies, userLogProvider ); - - try - { - server.start(); - } - catch ( ServerStartupException e ) - { - server = null; - Set causes = extractCauseTypes( e ); - if ( causes.contains( StoreLockException.class ) ) - { - throw new UnableToStartServerException( - "Unable to lock store. Are you running another Neo4j process against this database?" ); - } - if ( causes.contains( BindException.class ) ) - { - throw new UnableToStartServerException( - "Unable to bind to port. Are you running another Neo4j process on this computer?" ); - } - throw new UnableToStartServerException( e.getMessage() ); - } - } - - public void stop() - { - if ( isRunning() ) - { - server.stop(); - server = null; - } - } - - private boolean isRunning() - { - return server != null; - } - - private Set extractCauseTypes( Throwable e ) - { - Set types = new HashSet<>(); - types.add( e.getClass() ); - - if ( e.getCause() != null ) - { - types.addAll( extractCauseTypes( e.getCause() ) ); - } - - return types; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java deleted file mode 100644 index 8e154716da3db..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/runtime/DesktopConfigurator.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.io.File; -import java.util.Optional; - -import org.neo4j.dbms.DatabaseManagementSystemSettings; -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.helpers.HostnamePort; -import org.neo4j.kernel.configuration.Config; -import org.neo4j.logging.FormattedLog; -import org.neo4j.server.CommunityBootstrapper; -import org.neo4j.server.configuration.ConfigLoader; -import org.neo4j.server.configuration.ServerSettings; -import org.neo4j.server.configuration.ServerSettings.HttpConnector; - -import static org.neo4j.helpers.collection.Pair.pair; - -public class DesktopConfigurator -{ - private final Installation installation; - - private Config config; - private final Parameters parameters; - private File dbDir; - - public DesktopConfigurator( Installation installation, Parameters parameters, File databaseDirectory ) - { - this.installation = installation; - this.parameters = parameters; - this.dbDir = databaseDirectory; - refresh(); - } - - public void refresh() - { - config = new ConfigLoader( CommunityBootstrapper.settingsClasses).loadConfig( - Optional.of( dbDir.getAbsoluteFile() ), - Optional.of( getConfigurationsFile() ), - pair( DatabaseManagementSystemSettings.database_path.name(), dbDir.getAbsolutePath() ) ); - config.setLogger( FormattedLog.toOutputStream( System.out ) ); - } - - public File getConfigurationsFile() - { - return Optional.ofNullable( parameters.getConfigurationsFile() ) - .orElse( installation.getConfigurationsFile() ); - } - - public Config configuration() - { - return config; - } - - public void setDatabaseDirectory( File directory ) - { - dbDir = directory; - refresh(); - } - - public String getDatabaseDirectory() - { - return dbDir.getAbsolutePath(); - } - - public HostnamePort getServerAddress() - { - return ServerSettings.httpConnector( config, HttpConnector.Encryption.NONE ).get().address.from( config ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java deleted file mode 100644 index 02a592f1742f8..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/BrowseForDatabaseActionListener.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import org.apache.commons.lang3.SystemUtils; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import javax.swing.*; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.LastLocation; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; - -import static javax.swing.JFileChooser.APPROVE_OPTION; -import static javax.swing.JFileChooser.CUSTOM_DIALOG; -import static javax.swing.JFileChooser.DIRECTORIES_ONLY; -import static javax.swing.JOptionPane.CANCEL_OPTION; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static javax.swing.JOptionPane.OK_CANCEL_OPTION; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedConfirmDialog; - -class BrowseForDatabaseActionListener implements ActionListener -{ - private final JFrame frame; - private final JTextField directoryDisplay; - private final DesktopModel model; - - public BrowseForDatabaseActionListener( JFrame frame, JTextField directoryDisplay, DesktopModel model ) - { - this.model = model; - this.frame = frame; - this.directoryDisplay = directoryDisplay; - } - - @Override - public void actionPerformed( ActionEvent e ) - { - File selectedFile = null; - boolean cancelled = false; - boolean validLocation = false; - - while ( !validLocation && !cancelled ) - { - if ( SystemUtils.IS_OS_MAC ) - { - selectedFile = macFileSelection(); - } - else - { - selectedFile = fileSelection(); - } - - try - { - model.setDatabaseDirectory( selectedFile ); - directoryDisplay.setText( selectedFile.getAbsolutePath() ); - - validLocation = true; - - LastLocation.setLastLocation( selectedFile.getAbsolutePath() ); - } - catch ( UnsuitableDirectoryException ude ) - { - int choice = showWrappedConfirmDialog( frame, "Please choose a different folder." + "\n" + ude.getStackTrace(), - "Invalid folder selected", OK_CANCEL_OPTION, ERROR_MESSAGE ); - - if ( choice == CANCEL_OPTION ) - { - cancelled = true; - } - } - } - } - - private File fileSelection() - { - File selectedFile = null; - - JFileChooser fileChooser = new JFileChooser(); - fileChooser.setFileSelectionMode( DIRECTORIES_ONLY ); - fileChooser.setCurrentDirectory( new File( directoryDisplay.getText() ) ); - fileChooser.setDialogTitle( "Select database" ); - fileChooser.setDialogType( CUSTOM_DIALOG ); - - int choice = fileChooser.showOpenDialog( frame ); - - if ( choice == APPROVE_OPTION ) - { - selectedFile = fileChooser.getSelectedFile(); - } - - return selectedFile; - } - - private File macFileSelection() - { - System.setProperty( "apple.awt.fileDialogForDirectories", "true" ); - FileDialog fileDialog = new FileDialog( frame ); - - fileDialog.setDirectory( directoryDisplay.getText() ); - fileDialog.setVisible( true ); - - File selectedFile = new File( fileDialog.getDirectory(), fileDialog.getFile() ); - System.setProperty( "apple.awt.fileDialogForDirectories", "false" ); - - return selectedFile; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java deleted file mode 100644 index 3a289560da305..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Components.java +++ /dev/null @@ -1,166 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import org.apache.commons.lang3.StringUtils; - -import java.awt.Color; -import java.awt.Component; -import java.awt.FlowLayout; -import java.awt.Font; -import java.awt.LayoutManager; -import java.awt.event.ActionListener; -import java.util.Map; -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JTextField; -import javax.swing.border.Border; - -import static java.awt.font.TextAttribute.UNDERLINE; -import static java.awt.font.TextAttribute.UNDERLINE_ON; -import static java.lang.String.format; -import static javax.swing.JOptionPane.WARNING_MESSAGE; - -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -@SuppressWarnings("MagicConstant") -public final class Components -{ - public static final int BASE_SPACING_SIZE = 5; - public static final int DEFAULT_TEXT_COLUMNS = 50; - - private Components() - { - throw new UnsupportedOperationException(); - } - - static JPanel createPanel( Component... components ) - { - JPanel panel = new JPanel(); - for ( Component component : components ) - { - panel.add( component ); - } - return panel; - } - - static JPanel withBackground( Color color, JPanel panel ) - { - panel.setBackground( color ); - return panel; - } - - static JPanel withLayout( LayoutManager layout, JPanel panel ) - { - panel.setLayout( layout ); - return panel; - } - - static JPanel withBoxLayout( int axis, JPanel panel ) - { - return withLayout( new BoxLayout( panel, axis ), panel ); - } - - static JPanel withFlowLayout( int alignment, JPanel panel ) - { - return withLayout( new FlowLayout( alignment ), panel ); - } - - static JPanel withFlowLayout( JPanel panel ) - { - return withLayout( new FlowLayout(), panel ); - } - - static JPanel withSpacingBorder( JPanel panel ) - { - return withBorder( createSpacingBorder( 1 ), panel ); - } - - static JPanel withBorder( Border border, JPanel panel ) - { - panel.setBorder( border ); - return panel; - } - - static Border createSpacingBorder( int size ) - { - int inset = BASE_SPACING_SIZE * size; - return BorderFactory.createEmptyBorder( inset, inset, inset, inset ); - } - - static JPanel withTitledBorder( String title, JPanel panel ) - { - panel.setBorder( BorderFactory.createTitledBorder( title ) ); - return panel; - } - - static Component createVerticalSpacing() - { - return Box.createVerticalStrut( BASE_SPACING_SIZE ); - } - - static JTextField createUnmodifiableTextField( String text ) - { - return createUnmodifiableTextField( text, DEFAULT_TEXT_COLUMNS ); - } - - static JTextField createUnmodifiableTextField( String text, int columns ) - { - JTextField textField = new JTextField( text, columns ); - textField.setForeground( Color.GRAY ); - textField.setEditable( false ); - - return textField; - } - - static JButton createTextButton( String text, ActionListener actionListener ) - { - JButton button = new JButton( text ); - button.addActionListener( actionListener ); - return button; - } - - public static JLabel createLabel( String... textLines ) - { - return new JLabel( format( "%s", StringUtils.join( textLines, "
" ) ) ); - } - - static String ellipsis( String input ) - { - return format( "%s\u2026", input ); - } - - @SuppressWarnings( { "unchecked", "rawtypes" } ) - static Font underlined( Font font ) - { - Map attributes = font.getAttributes(); - attributes.put( UNDERLINE, UNDERLINE_ON ); - return font.deriveFont( attributes ); - } - - public static void alert( String message ) - { - showWrappedMessageDialog( null, message, "Alert", WARNING_MESSAGE ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java deleted file mode 100644 index 46f1d027e96ca..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DatabaseStatus.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Color; -import java.awt.Component; -import java.awt.FlowLayout; -import javax.swing.JLabel; -import javax.swing.JPanel; - -import org.neo4j.desktop.model.DesktopModel; - -import static org.neo4j.desktop.ui.Components.createPanel; -import static org.neo4j.desktop.ui.Components.ellipsis; -import static org.neo4j.desktop.ui.Components.withBackground; -import static org.neo4j.desktop.ui.Components.withLayout; - -public enum DatabaseStatus -{ - STOPPED, - STARTING, - STARTED, - STOPPING; - public static final Color STOPPED_COLOR = new Color( 1.0f, 0.5f, 0.5f ); - public static final Color CHANGING_COLOR = new Color( 1.0f, 1.0f, 0.5f ); - public static final Color STARTED_COLOR = new Color( 0.5f, 1.0f, 0.5f ); - - public Component display( DesktopModel model ) - { - switch ( this ) - { - case STOPPED: - return createTextStatusDisplay( STOPPED_COLOR, "Choose a graph database directory, " + - "then start the server" ); - case STARTING: - return createTextStatusDisplay( CHANGING_COLOR, ellipsis( "In just a few seconds, Neo4j will be ready" ) ); - case STARTED: - return createStartedStatusDisplay( model ); - case STOPPING: - return createTextStatusDisplay( CHANGING_COLOR, ellipsis( "Neo4j is shutting down" ) ); - default: - throw new IllegalStateException(); - } - } - - private static JPanel createTextStatusDisplay( Color color, String text ) - { - return createStatusDisplay( color, new JLabel( text ) ); - } - - private static JPanel createStartedStatusDisplay( DesktopModel model ) - { - final JLabel link = new JLabel( "http://localhost:7474/" ); - - model.register( model1 -> link.setText("http://" + model1.getServerAddress() + "/") ); - - link.setFont( Components.underlined( link.getFont() ) ); - link.addMouseListener( new OpenBrowserMouseListener( link, model ) ); - - return createStatusDisplay( STARTED_COLOR, new JLabel( "Neo4j is ready. Browse to " ), link ); - } - - private static JPanel createStatusDisplay( Color color, Component... components ) - { - return withBackground( color, withLayout( new FlowLayout(), createPanel( components ) ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java deleted file mode 100644 index 6cd1aafc712be..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/DesktopModelListener.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import org.neo4j.desktop.model.DesktopModel; - -/** - * Listeners interested in changes to the DesktopModel. - * - */ -public interface DesktopModelListener { - - public void desktopModelChanged(DesktopModel model); - -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java deleted file mode 100644 index 04d68da0ccf00..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/EditFileActionListener.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.model.DesktopModel; - -import static java.lang.String.format; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static javax.swing.JOptionPane.showMessageDialog; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -public abstract class EditFileActionListener implements ActionListener -{ - private final Component parentComponent; - private final DesktopModel model; - - EditFileActionListener( Component parentComponent, DesktopModel model ) - { - this.parentComponent = parentComponent; - this.model = model; - } - - protected abstract File getFile(); - - @Override - public void actionPerformed( ActionEvent event ) - { - File file = getFile().getAbsoluteFile(); - if ( null == file ) - { - showMessageDialog( parentComponent, - "Did not find location of .vmoptions file", - "Error", - ERROR_MESSAGE ); - return; - } - try - { - ensureFileAndParentDirectoriesExists( file ); - model.editFile( file ); - } - catch ( IOException e ) - { - e.printStackTrace( System.out ); - showWrappedMessageDialog( parentComponent, - format( "Couldn't openDirectory %s, please openDirectory the file manually", file ), - "Error", - ERROR_MESSAGE ); - } - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - protected void ensureFileAndParentDirectoriesExists( File file ) throws IOException - { - file.getParentFile().mkdirs(); - if ( !file.exists() ) - { - file.createNewFile(); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java deleted file mode 100644 index 6dabff18c3bb2..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/Graphics.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Image; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; -import javax.imageio.ImageIO; - -import static java.lang.String.format; - -public final class Graphics -{ - public static final String LOGO = "/neo4j-logo.png"; - public static final String SYSTEM_TRAY_ICON = "/neo4j-systray-16.png"; - - private static final String ICON_PATTERN = "/neo4j-icon_%1$dx%1$d.png"; - private static final int MIN_SIZE = 16; - private static final int MAX_SIZE = 512; - - private Graphics() - { - throw new UnsupportedOperationException(); - } - - static List loadIcons() - { - List icons = new ArrayList<>(); - for ( int i = MIN_SIZE; i <= MAX_SIZE; i *= 2 ) - { - Image image = loadImage( format( ICON_PATTERN, i ) ); - if ( null != image ) - { - icons.add( image ); - } - } - - return icons; - } - - static Image loadImage( String resource ) - { - try - { - return ImageIO.read( Components.class.getResource( resource ) ); - } - catch ( IOException e ) - { - throw new IllegalStateException( e ); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java deleted file mode 100644 index f1491d1218549..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/MainWindow.java +++ /dev/null @@ -1,271 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.io.File; -import javax.swing.*; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.LastLocation; -import org.neo4j.desktop.model.SysTrayListener; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; -import org.neo4j.desktop.runtime.DatabaseActions; - -import static javax.swing.JOptionPane.CANCEL_OPTION; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static javax.swing.JOptionPane.OK_CANCEL_OPTION; -import static javax.swing.JOptionPane.OK_OPTION; -import static javax.swing.SwingUtilities.invokeLater; -import static org.neo4j.desktop.ui.Components.createPanel; -import static org.neo4j.desktop.ui.Components.createUnmodifiableTextField; -import static org.neo4j.desktop.ui.Components.createVerticalSpacing; -import static org.neo4j.desktop.ui.Components.ellipsis; -import static org.neo4j.desktop.ui.Components.withBoxLayout; -import static org.neo4j.desktop.ui.Components.withFlowLayout; -import static org.neo4j.desktop.ui.Components.withLayout; -import static org.neo4j.desktop.ui.Components.withSpacingBorder; -import static org.neo4j.desktop.ui.Components.withTitledBorder; -import static org.neo4j.desktop.ui.DatabaseStatus.STARTED; -import static org.neo4j.desktop.ui.DatabaseStatus.STOPPED; -import static org.neo4j.desktop.ui.Graphics.loadImage; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedConfirmDialog; - -/** - * The main window of the Neo4j Desktop. Able to start/stop a database as well as providing access to some - * advanced configuration options, such as heap size and database properties. - */ - -public class MainWindow extends JFrame -{ - private final DesktopModel model; - - private JPanel rootPanel; - - private JButton optionsButton; - private JButton browseButton; - private JButton startButton; - private JButton stopButton; - - private JTextField directoryDisplay; - - private JPanel statusPanel; - private CardLayout statusPanelLayout; - - private SystemOutDebugWindow debugWindow; - - private SysTray sysTray; - - private DatabaseActions databaseActions; - - private DatabaseStatus databaseStatus; - - public MainWindow( DatabaseActions databaseActions, DesktopModel model ) - { - super( "Neo4j Community Edition" ); - - this.model = model; - this.databaseActions = databaseActions; - this.debugWindow = new SystemOutDebugWindow(); - - createComponents(); - setupComponents(); - - updateStatus( STOPPED ); - - try - { - model.setDatabaseDirectory( new File( LastLocation.getLastLocation( model.getDatabaseDirectory().getAbsolutePath() ) ) ); - } - catch ( UnsuitableDirectoryException ude ) - { - showWrappedConfirmDialog( this, "Please choose a different folder." + "\n" + ude.getStackTrace(), - "Invalid folder selected", OK_OPTION, ERROR_MESSAGE ); - } - } - - private JPanel createRootPanel( JTextField directoryDisplay, JButton browseButton, Component statusPanel, - JButton startButton, JButton stopButton, JButton settingsButton ) - { - return withSpacingBorder( withBoxLayout( BoxLayout.Y_AXIS, - createPanel( createLogoPanel(), createSelectionPanel( directoryDisplay, browseButton ), statusPanel, - createVerticalSpacing(), createActionPanel( startButton, stopButton, settingsButton ) ) ) ); - } - - private void createComponents() - { - directoryDisplay = createUnmodifiableTextField( LastLocation.getLastLocation( model.getDatabaseDirectory().getAbsolutePath() ), 35 ); - - - optionsButton = createOptionsButton(); - browseButton = createBrowseButton(); - startButton = createStartButton(); - stopButton = createStopButton(); - - statusPanelLayout = new CardLayout(); - statusPanel = createStatusPanel( statusPanelLayout ); - - rootPanel = createRootPanel( directoryDisplay, browseButton, statusPanel, startButton, stopButton, optionsButton ); - - } - - private void setupComponents() - { - setIconImages( Graphics.loadIcons() ); - sysTray = new SysTray( new SysTrayHandler() ); - - add( rootPanel ); - pack(); - setResizable( false ); - } - - public void display() - { - setLocationRelativeTo( null ); - setVisible( true ); - } - - private JPanel createLogoPanel() - { - return withFlowLayout( FlowLayout.LEFT, createPanel( new JLabel( new ImageIcon( loadImage( Graphics.LOGO ) ) ), - new JLabel( model.getNeo4jVersion() ) ) ); - } - - private JPanel createActionPanel( JButton startButton, JButton stopButton, JButton settingsButton ) - { - return withBoxLayout( BoxLayout.LINE_AXIS, - createPanel( settingsButton, Box.createHorizontalGlue(), stopButton, startButton ) ); - } - - private JButton createOptionsButton() - { - return Components.createTextButton( ellipsis( "Options" ), new ActionListener() - { - @Override - public void actionPerformed( ActionEvent e ) - { - JDialog settingsDialog = new SettingsDialog( MainWindow.this, model ); - settingsDialog.setLocationRelativeTo( null ); - settingsDialog.setVisible( true ); - } - } ); - } - - private JPanel createSelectionPanel( JTextField directoryDisplay, JButton selectButton ) - { - return withTitledBorder( "Database Location", withBoxLayout( BoxLayout.LINE_AXIS, - createPanel( directoryDisplay, selectButton ) ) ); - } - - protected void shutdown() - { - databaseActions.stop(); - debugWindow.dispose(); - this.dispose(); - - System.exit( 0 ); - } - - private JPanel createStatusPanel( CardLayout statusPanelLayout ) - { - JPanel panel = withLayout( statusPanelLayout, withTitledBorder( "Status", createPanel() ) ); - - for ( DatabaseStatus status : DatabaseStatus.values() ) - { - panel.add( status.name(), status.display( model ) ); - } - - panel.addMouseListener( new MouseAdapter() - { - @Override - public void mouseClicked( MouseEvent e ) - { - if( MouseEvent.BUTTON1 == e.getButton() && e.isAltDown() ) - { - debugWindow.show(); - } - } - } ); - return panel; - } - - private JButton createBrowseButton() - { - ActionListener actionListener = new BrowseForDatabaseActionListener( this, directoryDisplay, model ); - return Components.createTextButton( ellipsis( "Choose" ), actionListener ); - } - - private JButton createStartButton() - { - return Components.createTextButton( "Start", new StartDatabaseActionListener( this, model, databaseActions ) ); - } - - private JButton createStopButton() - { - return Components.createTextButton( "Stop", new ActionListener() - { - @Override - public void actionPerformed( ActionEvent e ) - { - updateStatus( DatabaseStatus.STOPPING ); - - invokeLater( new Runnable() - { - @Override - public void run() - { - databaseActions.stop(); - updateStatus( STOPPED ); - } - } ); - } - } ); - } - - public void updateStatus( DatabaseStatus status ) - { - browseButton.setEnabled( STOPPED == status ); - startButton.setEnabled( STOPPED == status ); - stopButton.setEnabled( STARTED == status ); - - statusPanelLayout.show( statusPanel, status.name() ); - sysTray.changeStatus( status ); - databaseStatus = status; - } - - private class SysTrayHandler implements SysTrayListener - { - @Override - public void open() - { - display(); - } - - @Override - public void exit() - { - shutdown(); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java deleted file mode 100644 index ce9f355f6834a..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenBrowserMouseListener.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Desktop; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; -import java.io.IOException; -import java.net.URISyntaxException; -import javax.swing.JLabel; - -import org.neo4j.desktop.model.DesktopModel; - -import static java.awt.Cursor.DEFAULT_CURSOR; -import static java.awt.Cursor.HAND_CURSOR; -import static java.awt.Cursor.getPredefinedCursor; -import static java.lang.String.format; -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -/** - * {@link MouseListener} that can openDirectory links in the systems default browser, presumably using {@link Desktop}. - */ -public class OpenBrowserMouseListener extends MouseAdapter -{ - private final JLabel link; - private final DesktopModel model; - - public OpenBrowserMouseListener( JLabel link, DesktopModel model ) - { - this.link = link; - this.model = model; - } - - @Override - public void mouseClicked( MouseEvent event ) - { - try - { - model.openBrowser( link.getText() ); - } - catch ( IOException | URISyntaxException e ) - { - e.printStackTrace( System.out ); - showError( e ); - } - } - - private void showError( Exception e ) - { - showWrappedMessageDialog( link, - format( "Couldn't openDirectory the browser: %s", e.getMessage() ), - "Error", - ERROR_MESSAGE ); - } - - @Override - public void mouseEntered( MouseEvent e ) - { - link.setCursor( getPredefinedCursor( HAND_CURSOR ) ); - } - - @Override - public void mouseExited( MouseEvent e ) - { - link.setCursor( getPredefinedCursor( DEFAULT_CURSOR ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java deleted file mode 100644 index 3006df3cf13a2..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/OpenDirectoryActionListener.java +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.io.IOException; - -import org.neo4j.desktop.model.DesktopModel; - -import static javax.swing.JOptionPane.ERROR_MESSAGE; -import static org.neo4j.desktop.ui.ScrollableOptionPane.showWrappedMessageDialog; - -public class OpenDirectoryActionListener implements ActionListener -{ - private final Component parent; - private final File directory; - private final DesktopModel model; - - public OpenDirectoryActionListener( Component parent, File directory, DesktopModel model ) - { - this.parent = parent; - this.directory = directory; - this.model = model; - } - - @Override - public void actionPerformed( ActionEvent e ) - { - if ( isExistingDirectory( directory ) || directory.mkdirs() ) - { - try - { - model.openDirectory( directory ); - } - catch ( IOException exception ) - { - String message = - "Could not openDirectory directory or create directory: " + directory + "\n\n" + exception.getMessage(); - showError( message ); - } - } - else - { - String message = "Could not openDirectory directory or create directory: " + directory; - showError( message ); - } - } - - private void showError( String message ) - { - showWrappedMessageDialog( parent, message, "Error", ERROR_MESSAGE ); - } - - private boolean isExistingDirectory( File directory ) - { - return directory.exists() && directory.isDirectory(); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java deleted file mode 100644 index 68290146d057b..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/PlatformUI.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; - -public class PlatformUI -{ - public static void selectPlatformUI() - { - try - { - UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); - } - catch ( ClassNotFoundException | UnsupportedLookAndFeelException | InstantiationException | IllegalAccessException e) - { - // don't care - e.printStackTrace( System.out ); - } - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java deleted file mode 100644 index 5faa9be4fe760..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/ScrollableOptionPane.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import static javax.swing.JOptionPane.showConfirmDialog; -import static javax.swing.JOptionPane.showMessageDialog; - -import java.awt.Component; - -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -@SuppressWarnings("MagicConstant") -public class ScrollableOptionPane -{ - public static void showWrappedMessageDialog( Component parentComponent, String message, String title, - int messageType ) - { - showMessageDialog( parentComponent, createWrappingScrollPane( message ), title, messageType ); - } - - public static int showWrappedConfirmDialog( Component parentComponent, String message, String title, - int optionType, int messageType ) - { - return showConfirmDialog( parentComponent, createWrappingScrollPane( message ), title, optionType, messageType ); - } - - private static JScrollPane createWrappingScrollPane( String message ) - { - JTextArea view = new JTextArea( message, 10, 80 ); - view.setLineWrap( true ); - view.setWrapStyleWord( true ); - return new JScrollPane( view ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java deleted file mode 100644 index 0626bbfde9459..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SettingsDialog.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.Component; -import java.awt.FlowLayout; -import java.awt.Frame; -import java.io.File; -import java.io.IOException; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JDialog; - -import org.neo4j.desktop.model.DesktopModel; - -import static org.neo4j.desktop.ui.Components.alert; -import static org.neo4j.desktop.ui.Components.createLabel; -import static org.neo4j.desktop.ui.Components.createPanel; -import static org.neo4j.desktop.ui.Components.createTextButton; -import static org.neo4j.desktop.ui.Components.createUnmodifiableTextField; -import static org.neo4j.desktop.ui.Components.createVerticalSpacing; -import static org.neo4j.desktop.ui.Components.ellipsis; -import static org.neo4j.desktop.ui.Components.withBoxLayout; -import static org.neo4j.desktop.ui.Components.withFlowLayout; -import static org.neo4j.desktop.ui.Components.withSpacingBorder; -import static org.neo4j.desktop.ui.Components.withTitledBorder; - -class SettingsDialog extends JDialog -{ - private final DesktopModel model; - - SettingsDialog( Frame owner, DesktopModel model ) - { - super( owner, "Neo4j Community Edition - Options", true ); - this.model = model; - - getContentPane().add( withSpacingBorder( withBoxLayout( BoxLayout.Y_AXIS, createPanel( - createEditDatabaseConfigPanel( createEditDatabaseConfigurationButton() ), - createEditVmOptionsPanel( createEditVmOptionsButton() ), - createExtensionsPanel( createOpenPluginsDirectoryButton() ), - createVerticalSpacing(), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createTextButton( "Close", e -> close() ) ) ) - ) ) ) ); - - pack(); - } - - private void close() - { - setVisible( false ); - } - - private Component createCommandPromptPanel( JButton commandPromptButton ) - { - return withTitledBorder( "Command-line Tools", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - "Use the command prompt to run command-line tools such as neo4j-shell and neo4j-import." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( commandPromptButton ) ) ) ) ); - } - - private Component createEditDatabaseConfigPanel( JButton configurationButton ) - { - File configFile = model.getDatabaseConfigurationFile(); - return withTitledBorder( "Database Configuration", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - "neo4j.conf contains configuration such as cache settings and port bindings.", - "You will need to stop and re-start the database for changes to take effect." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createUnmodifiableTextField( configFile.getAbsolutePath() ), - configurationButton - ) ) - ) - ) ); - } - - private Component createEditVmOptionsPanel( JButton editVmOptionsButton ) - { - File vmOptionsFile = model.getVmOptionsFile(); - return withTitledBorder( "Java VM Tuning", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - vmOptionsFile.getName() + " is for adjusting Java VM settings, such as memory usage.", - "You will need to close and re-start this application for changes to take effect." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createUnmodifiableTextField( vmOptionsFile.getAbsolutePath() ), - editVmOptionsButton - ) ) - ) - ) ); - } - - private Component createExtensionsPanel( JButton openPluginsDirectoryButton ) - { - String pluginsDirectory = model.getPluginsDirectory().getAbsolutePath(); - return withTitledBorder( "Plugins and Extensions", withBoxLayout( BoxLayout.Y_AXIS, - createPanel( - withFlowLayout( FlowLayout.LEFT, createPanel( createLabel( - "Neo4j looks for Server Plugins and Unmanaged Extensions in this folder." - ) ) ), - withFlowLayout( FlowLayout.RIGHT, createPanel( - createUnmodifiableTextField( pluginsDirectory ), - openPluginsDirectoryButton - ) ) - ) - ) ); - } - - private JButton createCommandPromptButton() - { - return Components.createTextButton( ellipsis( "Command Prompt" ), e -> { - try - { - model.launchCommandPrompt(); - } - catch ( Exception exception ) - { - exception.printStackTrace(); - alert( exception.getMessage() ); - } - } ); - } - - private JButton createEditDatabaseConfigurationButton() - { - return Components.createTextButton( ellipsis( "Edit" ), new EditFileActionListener( this, model ) - { - @Override - protected File getFile() - { - return model.getDatabaseConfigurationFile(); - } - - @SuppressWarnings("ResultOfMethodCallIgnored") - @Override - protected void ensureFileAndParentDirectoriesExists( File file ) throws IOException - { - file.getParentFile().mkdirs(); - if ( !file.exists() ) - { - model.writeDefaultDatabaseConfiguration( file ); - } - } - } ); - } - - private JButton createEditVmOptionsButton() - { - return Components.createTextButton( ellipsis( "Edit" ), new EditFileActionListener( this, model ) - { - @Override - protected File getFile() - { - return model.getVmOptionsFile(); - } - } ); - } - - private JButton createOpenPluginsDirectoryButton() - { - return Components.createTextButton( "Open", - new OpenDirectoryActionListener( this, model.getPluginsDirectory(), model ) ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java deleted file mode 100644 index 69859b0b14512..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/StartDatabaseActionListener.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.desktop.model.exceptions.UnableToStartServerException; -import org.neo4j.desktop.model.exceptions.UnsuitableDirectoryException; -import org.neo4j.desktop.runtime.DatabaseActions; - -import static javax.swing.SwingUtilities.invokeLater; - -import static org.neo4j.desktop.ui.Components.alert; -import static org.neo4j.desktop.ui.DatabaseStatus.STARTED; -import static org.neo4j.desktop.ui.DatabaseStatus.STARTING; -import static org.neo4j.desktop.ui.DatabaseStatus.STOPPED; - -class StartDatabaseActionListener implements ActionListener -{ - private MainWindow mainWindow; - private final DesktopModel model; - private final DatabaseActions databaseActions; - - public StartDatabaseActionListener( MainWindow mainWindow, DesktopModel model, DatabaseActions databaseActions ) - { - this.mainWindow = mainWindow; - this.model = model; - this.databaseActions = databaseActions; - } - - @Override - public void actionPerformed( ActionEvent event ) - { - mainWindow.updateStatus( STARTING ); - - invokeLater( new Runnable() - { - @Override - public void run() - { - try - { - model.prepareGraphDirectoryForStart(); - - databaseActions.start(); - mainWindow.updateStatus( STARTED ); - } - catch ( UnsuitableDirectoryException | UnableToStartServerException e ) - { - updateUserWithErrorMessageAndStatus( e ); - } - } - - private void updateUserWithErrorMessageAndStatus( Exception e ) - { - alert( e.getMessage() ); - mainWindow.updateStatus( STOPPED ); - } - } ); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java deleted file mode 100644 index bf44f695f57fa..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SysTray.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - -import org.neo4j.desktop.model.SysTrayListener; - -import static org.neo4j.desktop.ui.DatabaseStatus.STOPPED; -import static org.neo4j.desktop.ui.Graphics.loadImage; - -public class SysTray -{ - private TrayIcon trayIcon; - private SysTrayListener listener; - private final String iconResourceBaseName = Graphics.SYSTEM_TRAY_ICON; - - public SysTray ( SysTrayListener listener ) - { - this.listener = listener; - - if ( SystemTray.isSupported() ) - { - try - { - init(); - } - catch( AWTException ex ) - { - System.err.println( ex ); - } - } - } - - private void init( ) throws AWTException - { - trayIcon = new TrayIcon( loadImage( iconResourceBaseName ), formatTitle( STOPPED ) ); - - setupTrayIcon(); - SystemTray.getSystemTray().add( trayIcon ); - } - - private void setupTrayIcon() - { - PopupMenu popUpMenu = createPopupMenu(); - trayIcon.setPopupMenu( popUpMenu ); - - trayIcon.addActionListener( new ActionListener() - { - @Override - public void actionPerformed( ActionEvent e ) - { - listener.open(); - } - } ); - - trayIcon.addMouseListener( new MouseAdapter() - { - @Override - public void mouseClicked( MouseEvent e ) - { - listener.open(); - } - } ); - } - - private PopupMenu createPopupMenu() - { - PopupMenu popUpMenu = new PopupMenu(); - MenuItem menuItemOpen = new MenuItem( "Open" ); - MenuItem menuItemExit = new MenuItem( "Exit" ); - - menuItemOpen.addActionListener( new ActionListener() - { - @Override - public void actionPerformed( ActionEvent actionEvent ) - { - listener.open(); - } - } ); - - menuItemExit.addActionListener( new ActionListener() - { - @Override - public void actionPerformed( ActionEvent actionEvent ) - { - listener.exit(); - } - } ); - - popUpMenu.add( menuItemOpen ); - popUpMenu.add( menuItemExit ); - - return popUpMenu; - } - - public void changeStatus( DatabaseStatus status ) - { - trayIcon.setToolTip( formatTitle( status ) ); - } - - private String formatTitle( DatabaseStatus status ) - { - String title = "Neo4j Community Edition"; - String formattedStatus = status.name().substring( 0, 1 ) + status.name().substring( 1 ).toLowerCase(); - - return title + " - " + formattedStatus ; - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java deleted file mode 100644 index f7b8f8b58febc..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/SystemOutDebugWindow.java +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.awt.CardLayout; -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JScrollPane; -import javax.swing.JTextArea; - -import static javax.swing.WindowConstants.HIDE_ON_CLOSE; - -/** - * Useful for debugging purposes: an easy way to get access to that data in an environment where java is run without - * a console. - * - * When created will tee the System.out/err streams and pipe them into an unbounded byte array. - */ -public class SystemOutDebugWindow -{ - private static final int START_X = 100; - private static final int START_Y = 100; - private static final int START_WIDTH = 600; - private static final int START_HEIGHT = 800; - - private final ByteArrayOutputStream sysStreamCapture = new ByteArrayOutputStream(); - private PrintStream sysStreamPrinter; - private JFrame frame; - private JTextArea text; - - public SystemOutDebugWindow() - { - stealSystemOut(); - init(); - } - - private void stealSystemOut() - { - sysStreamPrinter = new PrintStream( new TeeOutputStream( System.out, sysStreamCapture ) ); - System.setOut( sysStreamPrinter ); - System.setErr( sysStreamPrinter ); - } - - private void init() - { - frame = new JFrame( "Debug" ); - JPanel panel = new JPanel(); - panel.setLayout( new CardLayout() ); - - sysStreamPrinter.flush(); - text = new JTextArea(); - panel.add( "status", text ); - frame.add( new JScrollPane( panel ) ); - - frame.pack(); - frame.setBounds( START_X, START_Y, START_WIDTH, START_HEIGHT ); - frame.setVisible( false ); - frame.setDefaultCloseOperation( HIDE_ON_CLOSE ); - } - - public void show() - { - sysStreamPrinter.flush(); - text.setText( sysStreamCapture.toString() ); - frame.setVisible( true ); - } - - public void dispose() - { - frame.dispose(); - } -} diff --git a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java b/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java deleted file mode 100644 index acfa22ceca9af..0000000000000 --- a/packaging/neo4j-desktop/src/main/java/org/neo4j/desktop/ui/TeeOutputStream.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.ui; - -import java.io.IOException; -import java.io.OutputStream; - -public class TeeOutputStream extends OutputStream -{ - private final OutputStream a; - private final OutputStream b; - - public TeeOutputStream(OutputStream a, OutputStream b) - { - this.a = a; - this.b = b; - } - - @Override - public void write( int data ) throws IOException - { - a.write( data ); - b.write( data ); - } -} diff --git a/packaging/neo4j-desktop/src/main/resources/.background/background.png b/packaging/neo4j-desktop/src/main/resources/.background/background.png deleted file mode 100644 index 94fd09a220ed7b4413a820031d765868ba692125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51184 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

x;?2Ycwi3PUrLLoQ^N-017z^;z>lYO({H1~L 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

-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 IM6N<$g8oKl1poj5 diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_16x16.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_16x16.png deleted file mode 100644 index 5a741bc2a6a985328e81fc43df817e1ca046a313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 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 diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_256x256.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_256x256.png deleted file mode 100644 index d3ab0af6c08b61eaf1bcd430444eebaae616b727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48880 zcmV*OKw-a$P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 T&nG+RZ~!?eWyxxB)3E;o0l`A- diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_32x32.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_32x32.png deleted file mode 100644 index 2728fb6deae38c7ae94958d5cdf715222688ba0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4631 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 EKfc)2k^lez diff --git a/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_512x512.png b/packaging/neo4j-desktop/src/main/resources/iconbuilder.iconset/icon_512x512.png deleted file mode 100644 index c9e4a263f0eaf7b47079fec8f1c0b07136c0379a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112607 zcmX_nbySq!_w_Jzqkwb{(%sF_C@In{UD91c2q-BX0z;#8BMl-lG)hU=4Bg$ll#~004mhN<~2%001K20s%xA$XoF?Rx9#`W+$sI z3jow5;@-bQM}DTaQqfii00Ni+fY1*Bz%BBt&}{&~n->7swEzIbGXVfHx16>&lE@!0 zELD{ikay(kM!p?_{3qa*f~=0;{Qi=!7l|(2ual!(t{oaVIk_X6V&7-QZ0cayVm3wt zEfP{vg=c6aY%$?poLH>D@N=``D>J!QDxl)4(ZjL3fkgxGlzv#r;<#Aez)OJ!fiFax zkDD*T3R$mcOlQ4KpDs#To~`49n*N-6XOGxtaUd@Htc5>kz4Xi)(TBIgYW5!aJ*|IH z?NqY1JegrJd~mxcD`buN@46E99pdMBPKe5P(JX z-nvx*gz8ASV?L|`WdcbNP&jad#^r?1-)mB2c~8L_bwDXJO3YIB@aZ~!2n%D`m%@W!Rcsb6u@0wJY;j|==!Scy56Uz&~~km!ECAwMao?;HPy zP67DeP>@$hkxM)&g1}21CI92IQXwU2-X7SC`mn{5oTNu#P}OAo`Cp4-yEj?haCeOM z+uO(N1AmZ!j39qt$4JTPiBHl$a{@Wf@(751170g=rJ zoF0ReY{_&YQT`hz2_mG}C5#jyd}|f4V)ZR4zKncM-lwXD+|GKHMJb9@;E%e`pxt?u zcz1`&mTI%};U@SLM>+f>^f7T+>3{Qi$X^b~XKm>b(!BH~H*EZnWC|}1IDlt9SllqRf6obC zkr%%HcICPvb5_)$w1Yx);ox}TiBIq7GQa!ris84ElS&Xyaopg|jUxd(r)9v76y;I? z{I^F;ZeTfIYd)o$5S2wXai(~&{Dx{1l9#g-c+jyWr8@t#hzULx&efcPQ z|D5D$UZ!A?ipb;lg2_*u^d_TXp}mz5%I*+-xK<2_7}~lV4~U0O;MD0R_{P5=X)X|v zU|vp(`hSTu)Cpet!#<>bJb=-?lbWOp|9i(0!dw5_0i+6>yXX^tSaB81eTWPH5MtU)v3@OltxBj41qWkEz4*A*zRn@*_5VUNJiliaP5r5LhhyE5`MP21-wY1}%{? z#+#mJ>wocYDH#p0M%F{6Uu2GOM*(;Ks-Sq(rl4;+8fBIceV^qeI~xIxho{pYMfY6A z8Ef=lA3Iv#jM<_1={AHQBxu542aIt|;k}mL>@NDD!pbK^-~7Y)wU_At32A+d8tv$rOvJ@mHhvM)>T(4N zcGHP{8%OIDQMJblkPl8jBn)7871s|B(T2!EaW;dEI&6gfd}^nTX)(iyr8G$PF~SZc zcS!<>fUg5bxcsPNg4XWT2D!9+Ji<_>3-h&9YjoEV?^jk#TjSPk4D-c2dSTuk8c~s; z__!m^7MUs>;Qu0G3A|L#KJ>Jfi2vkKr{t49e9|-~SRbSIqE#cWo$cfT``a*{aD`-`{}|w3UIP5Wtzk``VWn z;kW+698;)rTh|I?9JmF{M?5hEp^W7@{#uXl>zL zc}m<>7VvsQrBWT;NWlNVNTbw6mlVNsU)M{=Np+tKKlMC75I@a-iQ~*X^&J?_a$L!4 zA|8{13SRuR|45!H_@F?mF#ftGFhneeF3)6F$5TZ*^}$+>9Ed_Gf#k}^_mdEoXPX%0AsiGi3jSv9upnhMl9B;p7wxD^w-n` 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 diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_128x128.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_128x128.png deleted file mode 100644 index f9b46b71c50a6f2c585fc43499afb4e3756f29c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21989 zcmV)RK(oJzP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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

-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 IM6N<$g8oKl1poj5 diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_16x16.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_16x16.png deleted file mode 100644 index 5a741bc2a6a985328e81fc43df817e1ca046a313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 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 diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_256x256.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_256x256.png deleted file mode 100644 index d3ab0af6c08b61eaf1bcd430444eebaae616b727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48880 zcmV*OKw-a$P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 T&nG+RZ~!?eWyxxB)3E;o0l`A- diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_32x32.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_32x32.png deleted file mode 100644 index 2728fb6deae38c7ae94958d5cdf715222688ba0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4631 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 EKfc)2k^lez diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-icon_512x512.png b/packaging/neo4j-desktop/src/main/resources/neo4j-icon_512x512.png deleted file mode 100644 index c9e4a263f0eaf7b47079fec8f1c0b07136c0379a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112607 zcmX_nbySq!_w_Jzqkwb{(%sF_C@In{UD91c2q-BX0z;#8BMl-lG)hU=4Bg$ll#~004mhN<~2%001K20s%xA$XoF?Rx9#`W+$sI z3jow5;@-bQM}DTaQqfii00Ni+fY1*Bz%BBt&}{&~n->7swEzIbGXVfHx16>&lE@!0 zELD{ikay(kM!p?_{3qa*f~=0;{Qi=!7l|(2ual!(t{oaVIk_X6V&7-QZ0cayVm3wt zEfP{vg=c6aY%$?poLH>D@N=``D>J!QDxl)4(ZjL3fkgxGlzv#r;<#Aez)OJ!fiFax zkDD*T3R$mcOlQ4KpDs#To~`49n*N-6XOGxtaUd@Htc5>kz4Xi)(TBIgYW5!aJ*|IH z?NqY1JegrJd~mxcD`buN@46E99pdMBPKe5P(JX z-nvx*gz8ASV?L|`WdcbNP&jad#^r?1-)mB2c~8L_bwDXJO3YIB@aZ~!2n%D`m%@W!Rcsb6u@0wJY;j|==!Scy56Uz&~~km!ECAwMao?;HPy zP67DeP>@$hkxM)&g1}21CI92IQXwU2-X7SC`mn{5oTNu#P}OAo`Cp4-yEj?haCeOM z+uO(N1AmZ!j39qt$4JTPiBHl$a{@Wf@(751170g=rJ zoF0ReY{_&YQT`hz2_mG}C5#jyd}|f4V)ZR4zKncM-lwXD+|GKHMJb9@;E%e`pxt?u zcz1`&mTI%};U@SLM>+f>^f7T+>3{Qi$X^b~XKm>b(!BH~H*EZnWC|}1IDlt9SllqRf6obC zkr%%HcICPvb5_)$w1Yx);ox}TiBIq7GQa!ris84ElS&Xyaopg|jUxd(r)9v76y;I? z{I^F;ZeTfIYd)o$5S2wXai(~&{Dx{1l9#g-c+jyWr8@t#hzULx&efcPQ z|D5D$UZ!A?ipb;lg2_*u^d_TXp}mz5%I*+-xK<2_7}~lV4~U0O;MD0R_{P5=X)X|v zU|vp(`hSTu)Cpet!#<>bJb=-?lbWOp|9i(0!dw5_0i+6>yXX^tSaB81eTWPH5MtU)v3@OltxBj41qWkEz4*A*zRn@*_5VUNJiliaP5r5LhhyE5`MP21-wY1}%{? z#+#mJ>wocYDH#p0M%F{6Uu2GOM*(;Ks-Sq(rl4;+8fBIceV^qeI~xIxho{pYMfY6A z8Ef=lA3Iv#jM<_1={AHQBxu542aIt|;k}mL>@NDD!pbK^-~7Y)wU_At32A+d8tv$rOvJ@mHhvM)>T(4N zcGHP{8%OIDQMJblkPl8jBn)7871s|B(T2!EaW;dEI&6gfd}^nTX)(iyr8G$PF~SZc zcS!<>fUg5bxcsPNg4XWT2D!9+Ji<_>3-h&9YjoEV?^jk#TjSPk4D-c2dSTuk8c~s; z__!m^7MUs>;Qu0G3A|L#KJ>Jfi2vkKr{t49e9|-~SRbSIqE#cWo$cfT``a*{aD`-`{}|w3UIP5Wtzk``VWn z;kW+698;)rTh|I?9JmF{M?5hEp^W7@{#uXl>zL zc}m<>7VvsQrBWT;NWlNVNTbw6mlVNsU)M{=Np+tKKlMC75I@a-iQ~*X^&J?_a$L!4 zA|8{13SRuR|45!H_@F?mF#ftGFhneeF3)6F$5TZ*^}$+>9Ed_Gf#k}^_mdEoXPX%0AsiGi3jSv9upnhMl9B;p7wxD^w-n` zwK`Z4$ArOSsX@fAukd%ZT2V-N5auN&^jLJiKBhmNkB-9-Z`Z5^u zAn(>Zqbjx`%kxV?3cKUhXyzs_GCI8jYO-)l*zRmSP!kt)O984FvO$a( zyLjcC(>W&=??>S3rmTpO0`2rzs%1`@sa3{>`mQ$^IfRi&6p17GJ{;%W_^h_c{>dgON(1%-+G}U@f8Q<|FR&4tm&XS9DGlP=3N{KbunJmgx6n+(KrpB$t;lw5@Y^t(ero z4PU|>(zmUvfyjb^L5@EpsSm*!>fYqV0p5~aZuj+yDXr|fg+nl}jL;Kg_cULB$*YyW zX+x)+{TOc1o&ou5RNLj~xa+fiM9_sKbylybTD>ciC~$Qc{uhs}q*Gj_9-3{o{M|E3 z>2bXESBXkp_vJ~_POe@#72XZfF{Xrpd5JzNUKq_~3XkUwOcH9V&Hno1u{W|#6e?i|?r3*xfh6+(2%u|DEu-a4bG__< zKDI~Drpc=@I}3UEV}ppxD&%@PZSSwSy2t1lhbX>D(ZAIYcFbls@8&QchSDD}WO;aK zzi*Hnv&d@Y*B=(KXAm&lY*E_o)Y;o`p52X&cj|u-d$qM2MR1-5xsgX&eU`~`F ziNbT3pPGi&{YUE{ic3c9SE(|>_h(zKHClbJ-pKf%)0m{gS)tKWM={(@Td<|q%;ZUT zPfVylV3#2dW?6qoXOZOJ*AhXVJYmAGohLPb8ablZ?`QlGkIC;x7*SdkNhNapDpF{67KvHm@!-cr>O71HO>*8-UYK9*Lhkq1#XO66&ey@M` zeu>L`nBmn-6hGpKE7rvJ&uOdVGS6wyz;GPDHm8ub40jC&3~RtEi&kkK;eKX~La%vf zxA4xonv?o3oat+8;^6GC&CoQ@DO~GC`~EuwIoBB~$kX~A=ngY$2>~4*XSNz8mf*!RGxmMTxN4OE1UyWZQ@{R|hx($WzD~1j4R}uy5ZRl<;5VMESInf%6 zc@I(D1IL*Hhhxu30n_fL9z@yXk1;~v8*;iBR84Kgjt{%@HTOvr__*6V4X=-|7{9C) z@=qB)w+;DR;qHx*wCEFqSSp+HxW{5X8Pm zb^aBo$|HgBN>M2QW;bPa>Uo)p@6{5^&qKb$MK$(V7KfK@Yh93_6je%2!5rxPVYpR3 z1{PHXbI8#sLqG!ma*KRq@m*9s+%Z-`EPJc>b;l+(ZBg9xV}U9L?ZPeF7bk|8eE3NI zY$9AVDN$uKBzB}1hzX_=)R%-wJUkAv4C7_-3iHV09j`f_;`iAKUCV0Dq*y;Ac1Y)` zjrO_3%FgsBzU$YOEl8vOBk&hdG+!EQDO)?Lk|I|4`Gt*M0ENHb@;@!pUmLCd=I(_uCX3Rft#SW-9Mf+jNGr>4a5=EWA@nG9Q8}nfv%2(PE+>_h!C#U zr&mh0BEtNtkE)-!Fi-yKkvn9_gZ;Egagd3T+8)LZVD(LNV!ldAF`Z6N(FtZ4(3t&f zWg6Kb+ZXZ3x%Ez^Jv;EF*z>O2W4B))^4xae)18iSkYs~)XvOS733SL=-j)_{_j|GtKpeH9eR7O60A~@u?JlwvGqHGSa_+59;qcr-q8F_6tg-@4i)rJ!B8t-t67wz z_^X22?D5JRg|>(@u!BWDpts(eTw7T45iX8 zHW6~4vnZ_lf-oNFXWY58c}}~q78v)fOPUhR$yx^OyzI#f@EEs zGK|Z5qCDlOzw-%XB9%rz_sA{fQ$ma|b9%iE++Xj{Q zEqIHwJR6d|GcWJE&Oi~X+IuA9lM%hkQxq-`^p6a=xL>OuhYr#b;z?E|U*(`(K}R(M zLs0N(6f>I5uuUOf1@~I5iN+gFXBC%1Qr;;fI~zdW^uYK|2Q6omJ=zr^=2+MAs4FX2 zZ(u6w(hNewvo7^aZ@`z8-&mm^nm?!1N^uVClO^E?GC)JK5r6OQX;C%-wb14XmmmqyufkZppI-1OgB8x5h*I(h`2b-`_Hhp7@pRPyW zaL|zKaOg>s6p$+M2P$$OJBX+;OB?p;q=){@-0yZtRuI;wuhKo7f@@u$EA08Yo6i{Kryc1}8y9+0%XK@Z;qPH|z-0bvk>aD1pF0MkA zJ2^=nu1(9(JT@NgR;GbZWdHC;_iD&d8yA4!byEZLm)ua~ks}pq#gl!kk2L&rnrM>< zEUQ7fJxm{DhE}k;D~0%#9y^=7d9}xn-hsAeETHUo|CCfd4q%98eVpoX(?;ns-IR@G zm~Y%{XVxVvJNwS^k7jLcU)`Dcc|>3AM*5)%&gJhhb$=*e2c8^`#Bg6`hNpHFoH7&+ z+r{3aoV$gv#|b~zx(VeNS&5qZ?sF5rqKNI6=cJP3$+!|^(*C&v z*1*SngVrklK9Cc|Xex>YcD3vm9?`JB^_dp&_PiJ%BwtBLSGkb)Wz)D$P~O4UyG zaP8K%er#Wm0D_u|B%KWx4_^KQY1$1vDBc}KYo!{OR8a>??nmK2HC8Ud;UoqRn{&Qo z)L}(j>(NJfsFz#0!>49we{}lHTXDBfyVudQXg{(1OamPW^9=;Bu{$z17gTd!rZkv>|^~p46+mo+AlWzmN_g z0FiJ!KnqBNpPC&F4JOk*oy;FJw9l#9Nux<@DU6z4VQ})e1zdHce@5hP!9JqQztK3C z8{Ms0%ss``8y2gApcmFC8L5XFVvuphFg+H(RH7cwEZ|A=5UGH7B{AL`bQI+tMjT>__EVz097vYf7BGqX%K zzT?|oN)hpG@-ua1=yE;2A#(5FmV2XlpB5M~$7-=tG*{jYC>1>^^`}n7XV>a-q$1a< z(YtN$>)imIh17fl+p(W=YDF3DM{ZxonKo|~%x+aULg#@C1ST#Sn}q%;IpgB-{it+> zB%$o6$dzZ)*I*3T$xOobjEhU{Cf*!+B?}R=w2lf=#})EILNns9_}^&nZ!(|C0?Eb1 z=U|_qHA{?_Yj{vqCyU-xtM%Avw|a+gD~J^ljbVQ9psVROQiNF{!vq+TIC|T#D!ee& zzeGiOZ}PLkMr^ySQTrq;t;Ym>#%K5F(k&h|EGsH{`Fdw0VB-B&j5dq>>PT&|m0=U$ zr-m6?PdSclOyNDV<|T>f(hr!um@yQDni_@ z(@1yu+!d$I-Bs_03JHM%xL$wYlK+oA2E;vpL~;>_sF*T8WW5{JFl%!B(UkpQ_3)(yJi%1+KtS?3`<7S>YdgvVQu+D_5!K9 z6&g_ZhvD(6D}+?~rmPM7P9L8{8o0;DeNCZdO4*7rVj?OPgjZZ$2KXXa^dOf?)ov~D0uJ2CBISW2k}0h1IbG5)Nd z)oHVy;JKs-TE=L!+A!SP=MxDrWTQOtoi1x-Us|GAjC3`Ex_G}6@`{{S`aT@uu82u7 zyrbzbg)Hpg9=dgzp0>|LqBOo_qzyIMukL~^yiR$dWVRfs>I#(y+;VVYPC#cf0JTv9 z026xb&}cSPdNZ;(aJ znXV>s8zFT;9$9S{))Vm|baSgv)(lWU=~2@{na0rj%qgN7nuM>HeKrOQ{EUxxzv#Qx z`08-61~QVXyVw=o`B=m?@+n?!186~$Q zccb%=iHhNJxiUyN9YoX$CIbHBlC+>4eqN%TZjeZ z*`IcJa|0CPLCDU$6D{=e#T`I_hL0{(kK8HuD}`$6-H1)=Zjaeb14Lz+(7B5F$z)9E zv)F4=H008{;OhdkTw-Nj0B(f@PY*KUI8S~yEzpf51Ue509GfNV)P7?kGT*#WJzcr<(ZH7)cdxeeRK6us zz2m|Blr$H7miM9fQS9+j$gSY@?ynqki`lC>1_$Vm{24f^h!?bKfk_J>>mj&K{D_w$Rw=wlaf!S`@!X> zgZhY#;MFZpyYk>O8fWabzux_K79n5`OSU-oz?_5K3hh)0ol?G6`7@?ELb+jw{pC6S zbyQOoWL;(cuWD^Gmpvf|w@Vl#Mo0datRocu`_tENET~p9H!HDvj0HU}6dyS93;^dY zFy17nu31{pu3PcTcPR({+}wAqVq;(u%At`4Xv9{;VA4 zwEKeoMPI>zt#j32ucE3Up!e3C+gmM!CZV$Z)cuzYOlW~j+zG|rvtJPqeuB|cz-*&) zsJVqpe&fjnx`It(HV?O=b89@kH~x>R-9WwqLp_j{2|yqHc%nxGiakO?>1cXv;v>`Q zK(vO^NDijh_&kT5D@t9S**d>tmW<*J#|=bAI-jC};cKg1yj;_2WUx2weGkW;VH{yp(MvKBYZ!j7cko!=rEMA21=Z^vgmnRxMw{*Mpqz$*?c-{q@>OBc}m!j_~rOJ;&n)<1?T}c%P zM>&oGN`H&mq_Q{%i8>ipU(w0{93)RA{}YsIgm#WjWW~-6y8?i&%ZXVX|oi9z$k>%_rRb-pS=Yr*n=fJh-Rj3_iUb z%@9gFR?k5_+B{_SsH32sd-i1V>m6W}Ev~!Y*C@lwcWxSzX+|oS5Gdkv_xv{XYmlTh zt)xh!kg~Y#f7gET)pIvs4h;TiS{FU*np790nMhS=V z;UYP9_fT>Juu8;sdKJ@8x5i^p3zDfR3A=^8{4B|1w>M2BO5xws zhazBoFe35gWar|G?_Vu;uCF{(bZ@`MxQd2~GRAE=M1OL>=)Vs$(bFV+$Al($e%z$+ z16Qa*#!!?9V{4}4xiI|D;d;x-yh*2l9)DSARz_!^<7)~r|6Cc{N4I+T=Xmq)XkXVm z3r+eaEv@g|Kz2iSiHR%}bBfX*Sw(tO_WJ&FqI8nKA=$!;7CHd&A|SsgDbiIm;39J% z4L49a?CqBt7fEtJ>FasHGYWdLXv*F))~6)wFzlcDlFT7tRk%E3rf$@VZZ2 zbd^cS4`=}I=&s{@oKW-atVn=|sZm?Dj6L=9_sKq#0TBJ2PoK>u+O125BV%N1yOrBY z$|^KZR-DrG@8d(SEVdWC+h4rL)urVYomxNz^Msz5ydA~PXN3%k55a^z=2vShfVuIrMcm4n*Ubk6g=Ox zNXte+pG?92y6x7H1VIa8!BkTj+@+hOTi3MBOSr^T&VGz48ol_^GRDovv}*d*3in{^ zEdf}j{0c}v+&}C(RDE=tNF5Q)LNE+v)H;arg+4Dl*Yo*%RStopk+lx2Gjkv1(MqZt?i@zJ7);*jl^Kh zfA9~w8Kh88E{RX8$un%&Y}7QstVJhShGE#S9v{@pzvsouNasLh|8Nvt`JawdLf znlK}&_$jUrZ9%TiPbWbly1vLfHfZi49-F!ckXUoc@2uVxm}H^P(r`XZMSH{o%`g4NUT%3BrL26`*B5nNauAC9dI`lkF&HtiQneKBT=~e0`S1nNdxeA)Bq^9QYZ}3nO{L>VCwzx zK~8Z={fG$^Cq6?ggRlREH`l-LrYNU)#zb{rGDhye<$DlSCe9Kkc8#qtt3l`ej>x`D zA$bOEB5rU9Sz#hSoIq=1pRJ>aN(zU}R42JLnd%jYBIDyK%Zkft7pq?~$o-Cd%Oe?OH3Zv+BE#EpcgLBwB8%{ zCU(XjDcdlAzpW%eW$QFgx}0Jr8B2?Z%6k8@t#S4)0%zOHeMzY>WP&Gn0SJ=JapfzM^SWe8+xi; z(AOp?o1W3rC-w^ZTtsh+zbw2@Xh&6->l5n!0SKsnEUXwuQePHk|EG;~7r6XJyh+d$ z%s)gaJ)6Z>lm!=sup%4@7uBUm6A1EV2CE`RvBfMkY1yh~>A2CSX?%@mZOF+GVRaed zm%%mvPG=UP=#Cx+My<-re7PJpNm^}7eM?dulF=k|sksSc-94^rjgL4T05(Wv06vzG z4+DQC`{0fXP`g%Y`9)me?a8ms%uQ)5Aa)7IFXY<%HjS#mRdjOm{+ehLfxL9r@9TfI zN4(;;A`g|Y%?F100oAbv=vdnoELd-l?eCbEuQTm3U78KQ;+Sz@CblTT zLIL1e;R7VTV}V}?>zlWEKs;0AK^2rGVo}4bNiPOllPPJ^sdjm-RVGWTrOlCe#NycR zjgXmui?<3b#-EeB9lRJ5lp469wbp6&FB?M-6xkwc&azhV0Cwf6<>ZRKh>EB-@i_o4VI^jV%e%6Cl0BNl-K&1YMJaio7`aStJGWfC}3%}?uS$8Ae7}9I9jAv zdqz-Q61T(`1Mkcadp?opLP^We@4H7GCNM$H0(9lDd0_EqV*Ii?{N`&q`*Ybn`lyfn ztNRr#6IWqY8C^*O^fjqgk&iFntzyxlTfJ@Q8EqwTkuTqmhxj)UQa`XVaC>t9RT2}H zphF{~+9m{hWhmJ%`#&OO}!Y<4yr2tBilr=TfY3O0TCc&G?q;3C~ zw1k3UGgYlYGwYtFTWg*tuUHb&Lg9IH{lv_`FZMi_fJyfvV17{r6`!K}Gak$YR1dCb9_K4O-Eqt zm?mmX_U6vKM1Iu^cguo%BPxA}Uv*h9+ssG1p7W*`YD{n;ciY;7<~+Ga;*e4M>%El; zpd@9sz9XG%!&Z#<)e5#|GY1`64wf!IPV=ca8iSRjdE;1AIBi}Zr=qO&vq%g{b=7c` zOjhD_v$F(a$kme!Z#c2m&@3cMSz?<=&rx+kTcyHs!Nr^a3KfM@y(LJ0@;Y=}CsLtv zq_Q&y(B}~;C8Ah;L=kmco*7qfbv0~=ucR-NAt3x*0~PQ%eXAsEk(RSL^{gNO$=N*` zkm}m{7y*XzGfuUBfC^%-Ysssf3>8c1v>+u>S3&6FUxpsLBwN^9F!HY zest#gv!Ru=Zmmp7;t}QSw)W0r(H@z)==Zww*4;iv{XVc5z|9yg3kZ|?VW`^z_z1$o zppWfXIK5#Tk_839hcOWop%WQ#&QFy|plB-eux-1z*#Ou75UE?+6TtfPYeC6x$XLDG z02H~>M8zzbZAc%$ZB07vIX)4_b)JTgj?88vMvV?`oWALD!v{7m)=kPRQUC1Z)d)Dki)1}gN&bkO+#mL`wW%LUtz*HRV;?;$SFGxozZO_&B#@W1Sc6Ij25f%Y-EBg4F7p#IeH=}HO&iUeM zaK?Cftes|1tiYuS#D@1}B&Oj7-Sv=7>Oy^>+he6GCOsh0_*5@@e_tl~!UFqudhF~P z;y63EPqim-bdQch51ld%pW{%1?0&g^UaiHK^@sWM(M+|#uWh9kpJ(45&wOt)j!B3r z!_=W59i$fD{a@eXSaKWGlS?ZBsN;Ka!x3|eIgMR_@^@JD z;Y?i4B|li_(oSS~QKrAM?S_%0eB-8cntVtgRkvlegYgvzvv8rf+s=ugRe&Zor^)2u zU8|XPe9rGnSvNoRAK`dbhmpx1oOh!%;U`~InNZ0@hpCQ#Gzc+A>qg9;I_Bbxhg#YM zcP>fajUTx$q_VI2{tU*$b3Ex;uQfe}U*qJ48_VUlZ&|4FhIXZE0KR_K5 z3v}dzYR4fq{>;oXFAT`SsdiL75oa zfc`pkCzVZ44QRm}7`nnNp+ln2H&fRmF#;Q#j;Fq9N*ad^X5w~~{$q9bG)OV^h_0S+ z$;Gp^)@)S0#8~QiyG2$8PIt}Ab4UM4dz&&?lajy|x6@eRNwhqDl8S3617WtCU7AEEqm{$ z#vrww1YY#dG!}t&z(=c&0FLEXNBuxnDYn`SJ5D@uGp+_V7S?uY@YUDtUCp&kwu=wu zF?WJ~V%uRq-Z9(1=YG^#bpj+ny{x8D)R(x}d@~)D1d}4e3d-WCk(`w>Nr|CHN9UiP z+M0gLqJBdr*q%f>PUX<)LJ(SkSx=j23~0Th39kPVdTr215^EB?jGP5h_ZYHBs$#)W z?AMa06i0s@OCDbJa$i#=R;6!h-OI1Exx@m_^+q~M?1VFa)iR#nFaP{R^d+nHhY#H) zKqWi5VMLnpa>spR5*mJfRZlk@h!<)$)$z?0p@2EbK3P=ACz)Yz5HUgjRTy-QU!xhu zFvYky4gEE$U*zMaTcfru-tBw^lmYi<1ku)y0VX2+2muARKvv&U#?vsh?pCEPI!kM( z*8I}(*?;l*TKd05d*6r@Kh}cjsIx9fr3l-XsQzDQH0L$}58v39-7ox+`Ilik`NlbX zeu-Xj6e!4P$Gch&Jqv@jxbMk^Z^y1$2{xmlNt z#oW!L9*syT=5x2tO}oGu%)rSR6rlgZ5ZQR?4g^f9yJXV7B%tNROg!PnO?2jHWv^vN z6ZBnp-_;r!C80eTu4r}vp`K6UCVkdO2wusjicIHpu9lWiykVIi%*z77*@2y3$SGzF zNP$S>8|kR5klTLHf2>*^n05I~lWaEx0|YwRed_QHok=bIQlV-5CbgT{5UA{W##nw ztXFjZ?1@i{0SP=F&7m9K!A&57ud=N1Cc%2hKr8V{En)eKAx2v}jTu-dAT>Tb&2oV$ zZx76%ES?%43+?9`KW}e)!B|mDHcWG{`?meYc{rE!yx>@VK>+i4UPO(DMi7xXRw!E` z2!P(2wF31?Wx~RF=`ZbagO{B^SaYC{8iztz&%5(lR{%BTs|J9vYn5-X6-%A(9a?fmkTS+r#<7&}0}GhBd7!Tp|X zYqvq01i>R^L9)BQluLTX999(T8TK&N#?ZKdHZlK+nRjELNWfC&gJN$P74rwV`G5uM z0Rw&L`e?)ZaYTl;YVUn*$|XkzgNx04@nY3+JImA97qM^Uf4SRYcPDr`ox{vskJam% z`7V&1ORM73n504Tft->i%?7AX#DLqP5hMqZL<(sSDmYI?Yq|j7c9;`&Vov}a?0YI6 z+LcxfxFzot4sFP##ard9riui~ND=q!Kw|5g4^dWw-tge&kC(j+rFE#J$tM#EG2hm- z;9R)HUNA}o`aBckCOYo<^R38zP}cNc+vs7iW27-6-L2U@#Ks(@4YTuNAPk6SH3gBb zEM#rbesj-;JBGM@smwOfJzF6zWPuFLeepC_v`aK)s^AxKdkriv%Q3%;@Fz~i$Ug9ua+P~X;O+Vay`>=H`C~Xa*h6Z1xRnESfZ|=*gGpl{CI`uo10Z=;n0~K&&{2M^Z zc3#Han5A=H6*|k1-*)GyiVhHWqpNPqH+^wnh|;?x$ztpj?jMDyZ6@Cz7x&$zLh<|f zr&?MSLH9XQUe990kdf+~bB!Eu#%s$jUOoW)9E%E;Q4ll;%%&3&!n}HG+n`5P`Bn|_ z({A;J?O{O`>Q!m!i+N!;4p+(=Qb3Es+c*PYx`_Hl<5+&=Cod(GI_u>rF{Yq8OJE?x zu8{sbYPuT! zbq&kA>;4`7gyv*TD!vEzrtTMGG%wRxP!afJ8KRudQ={$H_#3iU=U=l1*V?@{L;-?! z&T$*?AhrtfS>5-Ra*&+fQ5&IZx z>WbtA#ZF72>Id2+U17w{HAv92W01o%IYXr}IS?QGLVfXv1C5$1WR|FggBMTg%y2Xa z)Qr+}flA|Zh&ZnZx`do8=mZM5;$_@fP1F;YD2gU$CYZzioYVf?;reZeYEMO{O_dLw z@O=&9tf?vI8!^eyIi+}v4 z`Iw0IzIyGzXOfJg4~^2RVgvQV=VI4h&1!;8XioJGbrWEPlbo-FV`Sed$HOhwXYH~E3rewZa1VuH8vYU*6fW$ihR9%s^t#Ct13y&2J>+6jeuP*l09 z+U?!LT?=k}b% z*nAZx>S!@4RMV?X5OP?zXVB|OsAFvCmOTspN=1CzIxequ zE$h0bN2#W)h{_H0XDYHvr7A}m?9PLpKwfoAY!m_RLjg*#hHiBM#p|4UVZI9>U1hv_ zXMW@1Q(NF8nfIzGZLuWpy)SCi{KFw&DGVbta@>A+J}35O49PZw(32N*0HxyCN%7m*9l1ti?9yu(e7yv%a$+5T-C!cY;;~?v^c&lLjX-a^X^)$>oG7;QI*JpO_ zgr1i>vf^+Qp=eL|DWK(XpZ{_*-mOi3%=pqHf$4hWVYNS#Jo9lQsj4nf-Xv=z+8KE= zkX#%{gpb8+(vQG;xtt{Tx}55?wZZ>r@dg00_+CjC=*_jau%*|@-3HIY1C zeKJhbU?1O-d+09p&EhqC7QiG`eXmm??6TQUt`g-c##V-ly5rX1Pve`_$IooClRd=4 zjFZM%d)5VA%Y0gi6E6>J2?L0jq3@9KB}eB{&qpZNSw@ z<8;|`efTCJRg%?tuSEo>u1ng>DEV%3f3q>>$o3jH=#^rZ*53fk0CCfs5Qx>L zU7Re!mP`I>B@2FozKVSb%{2>Pu52<15EjF|Oo;jNWf{+?+nkZbf?M)RU02zjRwth4 zI%ZavcYGqe(Q;LKaY~;W<;;@HB=r{aD4QjaQL_KFhHOH#Rp=z0$JRo|u6J*U60}ex zd@d~^H--w`vr9CcJOg*@bqV$G9G<_cIIWj7X3yQJ&+VnKPgz1DlW=!P*p1{b}x;Tu>tXF@4O=a!!K}qzIL80aly@Eq0G%Jnw>x=Sq9jXEbxY+ zvBEMe6JV6=wn0q9bsa|l_6+a@`W?)k@!4YRJVMMAaW|h~Xt*w|XJU?>1r&M$L>KmK za@q1B>dITh`R2c)w^hM4eRxa6IdpqmIrzP;CNeu;(b3jk6+9g~w7vUjtp#ot7b-^sN5grYjQ<0?;h{TxXv>n1vFbfac+Sun-g1$hUNT^cVQjo!o0^mDj8Hp~cu*g{9C@DJ&z&H;su; zj(%|P;F4_aT9{O1b^sa5^Fane1y}ZGz$wADk-bSVIZiDN=%_Tzr{zwZpfA~G3*%)M zJ_m9m#8#W|FO&qDdm_dZoYwiWhT`w8*xe2nn5WPeSr;tlbMGQE+8=90>e6zGY}s!i7v1(R@K){ka^4`ri@AP7mQ2dZ^>!kb-?h3 zj1yh`y&?#U_RzgQ8?C7=a^(CFSM%Pa+D{hZcWj;1_V}f@Grl!a4_A%(x4ak1Swyz! z_Xvlu>ks2_i3^nZv+bIr#RHx(c2p{de29`$rFC~wKA$F^0?dzPA0{{rfMMgnHTz@)iBu7EE4{6Ul#j-{vdXd@NJu{t-gMvO>C5@Bqq> z6vBS_{9KYxM#K}sF{-77`4`WGkO!2qW0FfRdgN2{`@HQ~Fnt|w{10a1rD;>s8tU+p z_nJD6lkby~8Wdsq#$Yb6&TmR{TN|aLU znbZ8vm(oJsXaj~)gC~L?2~C5MJ%Ec78ifX!o63!j>7^DiL>nUw@L8jWGEjTAgzYMJ zy65wK5C7`MwAPJ-qBZ-h4~$upYl5#L8uodM7Jd_M1oax3OVFF4Ue#~*XVY-H8_87R zXA(G$8Up=CscUvT8Med*ti}d;T-1Fg+u=Nz3M0GD$%PP2rVm9Q+$?KT${QJZ)lS?Fh87k{hQ0Qhke&Fc0@lX;oH%PUHj2a(dMRq zu3EZXBAky{S)Whd3uCfn-I%f0rF#iH3b9x(g$gNpter=J=@2$IoZRqI>-f z=_(cHA7oLBDf9w!k1Fr{FkwN@faeiEF2{;@T~D2{c^+^0zz@ z-X1-hyK(cx7m!r5uo z`a1vt538@HQ+~P$upRkrI@Nzexgp>0B-_C!%eW6-w5Z}CLJ~S>HyPY`O+$BI+u_9r z+$UM~7?B}Q47b~c33c_R6@s_T51mBvSJ%d7^Fh2VAQT56)0931^z_P8l|5;2>_p=| zfNdr<)@^sws-wk%Pw6W?3u14~HcETaqGWZkNNM*+BRf}bHxW3qT2wG*NBeiJgmscC{>^fH_4Q8SlL$^srmQ+YVQk1-`9qI!n zgvQf%{jRFZ#{6k2XrX}A0VF(|e|jBns{_9uqRD_hNu`!v)eK-hF~-B=lE)7gEurFs z5m2lY3!vB(S`x7v>oM`*C&2ihyJiC1SLJXh5qtGtgtth~Og?B1$!EF%V)vmJ9p9zC zd6jnVwb+ki?WmhCKBYeNl$(}K>vz^dKpbt@@%!7yi;#{LW_#?|1Z=1`jj|R8bCTXC z^T5Rdk@s}02b3Bn)w}#J6xsP<5yo`MvfK1kq~W^vznp5sS`L+k;aEcSH#DA$V+g{T zuLQT=;WQh58ic=ZrkHxH+zKS4MsWEif4h)UclsTaO?wsGPJFxbEOLMiDQyX0JjOC= zY~;up*zV>+O&p9p#e$%PMNCbPk80k?L3UDkBP!$%zXlqXsy1!1Cmcp$y?iW+e8_q4 z`CgWKy4VebPw7y8{~mw3cMgKQkUtnhX6>Asa*rcev5@;8{sTs|kDed*)d+1xx2r8Fwy z;Ct`jC%#_8wAbfbd8zXxAJJ+vicWfDwCA550wEBKzyrr!Ud1bwFB8B$oy{>T{h_5h zNh z-Z69s_aU<*OJIx1bR`k`ukBKIXqpKd^$JzV!#64FEU~(-1>-Xt!o%YlrwsdvtjIP; zOiwxex})1~4xoRmb7a757D-5I+Ym#G%V|jGLWi_0Q6+W@yV0;J#2FQ=Zqx@2z0w)8 zsLkA6B4&wKkyMJ)S@PSg`5yJL)#i>z_)|ecpQ-#?-^(D&A=B1p4!;JiiU%n3ss9>= zeI94igk47*8f1d6#KiWXy)~b8^fsZkxgd_1{mis@8`zhx2Pv%qF-7N$7wutM0hxqg#pPJ$)XAQfI0B?qY5rvU=jj+_hk-DKbTlS!xzgA8lu`I4Ptl!z}k0K74U5yQ&Ibb`>=io0d91zG+j%lq@`B3JTuO>fjL+hR7_atog56V(=I zf1mNB(;f7(n{vxhz3L=meEY_BN=)=sgbh<=GQEz4a{2HQWx1Py9&SeviA5K^5BTEav?9spgEfZ`Icd`t!sIt zLePDlO?c0Rv|Mld;y7(-?hH*#)m18JHQEof?R53`bsJm5pjVE%{O4wiap1dc9^P!> zF~5;qUxZ8?qgaTvOb3A~uJ?i_f7<)Y*2Py3it&NF@96wYHU4EVyux)!>;;@0bLemX zoqC|$ec;lt2OA02j0B7-GofzJiKIJC*>!eI@no%SEcu6@;%1C=bsr2YtJkAuZl|g& zrztY}guTjpCM1Pl{u87c5+SIJlunBL65e~dZWAQ4rqVr*3Qkbx%QA=xTz&o>?MNDw z-gl3rrO{R2ebs0y$ZIg8!Ds9@#Q7Hmeel~bm{$bD7~HT#e(ZOdlX5xmsKX4V{n*ug zZ}0NBm_oM{At#0TU@5_%%!Il6V)kC?LzVveX*}bZ`hcMF%=I;{2E&n&e|#??II^!+ zmIRSFheeHI@5<((M38)2@wyzV%*e~m^h!;gZ4NIhnN@Vlz}tYi9hV^*tzEf=NR>pF zu4o;8vu2g>tYg!DLZAC`?MCJOmmi80ZqmWJOHyoXTU0uC@8DeZgm&DiQfEo|yDQ!B z*?&!@j?DyZV^K;1%&F9c*WJdDJ(+Dr+*?{VTTn?>$dpa(uGc>hIx>($mP7 zu^>dK6Hjc`WSI4tRnRpDjo0$~%Ngdr#X}WIpp46mO_Lg+m!Tg})U%DVnxt&f=kB_d#JOUQipf zMG3YurgQf;E6)*xi6&;8tMTw6)CCWOj`H?f5N zaK;ZTOE(c4H|BlU>VAD=?b>SoCGLtFz$nRqXP^&v#JX26w*-BZwOl)k7&9{uVq1YH ze#v+{Efeu(%a-6nqJ{&Z<-4|G{b(KL)Go z6W1_t^!>X_HC*>NkFl_xex&!9`EiXpb|E?@KdsjuTE?IQD2_wct=KnTbO^EDdxPLOF^{_UFN^aAT; ztDeGvi`m-V#_ikK;8LpN)@j`Q#XXcDKGvcIp;I;%u2W5_@!2@Rmw6(2MMRpc=mX(K zn>33=75sB%OAlGvjW*_vDkWuNztW<4PHyJu_1`4mT5 zKx9A-8FixIH5_p{zOZEySufY%WhlcZjb-!m2>F0s2Cc0A1^5-#-+FvqU~(-1m~ByZ zJpn{x80KC9^ghX2IyBxx@lx-HeQ=L^T@vnrO6%<}jSb|k2k-Dh6DG>Ap3iReF- z3+tgH=AV&k^+{0AuPVE&MGB#bz?35NptMhlO&xn%y>PX8>4%6=G)N-1cu-h}BQ9hI12L)b zE38#Wf78c34vuLWYrph4-Xo;1q|e?ZBce+5f*J%#yIo(jWs-9o_cnteXOjXC&7=0y zsmCp;1b%nor`j1uN(B+YJ2*CJ*D-MBHOjwpzc6ZH3G08yQbeY-NA|SC0C48)*4eL` zlfr#DUw*^A<>%hKnZF$IEBa$i8knARI#=@mUhJ#cJ|`A0rh6b>%VK}#yR10Tr?8~H zP1fHV5jD$RK1O#65KeisUB(J|=mSAPd81O$EHiilmEP~=72$>>3cBZx<27N6Nyeq1Nk8Mo{3Y)9b*UE#`(agp1^^v` zJ$A2BCLR=>pYWa{ir3!!VAd!*9zS2Uf>DFer`sG)af_cIy}8aCl#w1GYjWqZ2}Vhu z>~GB%h54l5>H+`Oe_ylJT{V{q)I?rK`Irws1j7RQZ3u~fTJLH&cCC^?sDThC8cYIz z>@hI=m1rbt@J|K>s|))VSr%;bcNaeJB=*IXB)`9g+ek$F2}O%UriD6TsNQztjVz}*<86kaBp&LEp75^}ft2a4;%9nBKr}&= zbK0?=q$Yl-2}y#!?-D2;v^sgQu{bJ`t8|5OZ=mcez*+XG)~3xr$b*t0@`k|h5q^a{ z_Sv@!#dl#aY0vs&=xL>|Ery--AA)z=W92}g!lrY6FGa`$xVZGO+dJK008Agg4Mhlr zwK($i?fR?eOT#dqms$WWwM^Za_or5Q%`ZM#PqsHyv=!i$*SlD;4*zb{9s>9`S8M3?{$nAoI4N{-g!V8LofV1V4)Pf zPeD-f3Li1Q6~Dvys+3S;pY64j+#TOlYfdE-YUewXpya&N)V}rhBCx{`qBAR6syxf@FW`-``%%Paoyy0L8-Kr_mnh7Xu=4SdogtS#O7ZQ*H7~-$5Bs zTZ%?_?AY#!qoac;6<^i<_Dz34E!TVhNrDJOe`iPgpY8|x?QbkC=*yRb$Ef<-vu%Ca zO<0E(%jH8-c#jHxgSrgB6>~-(i-ti+?rPTUl+BC*Aggdy{fP_^UC2yRp<& z(FlbI>LFHaY?}l28RfaTLe%G(T2nZia%?r)JCbC_%T1jrYom;bzP_O>5zqRvHXjCX zG6O0w#xafX{VD4N)8t9^fc=dZ```B37&Fu|>>olrRRmHQ)*ZS@6vBd_x+`0_cJ32~ znJywS&I=<8j5L0UhVNjtFmy@=^iE!GfgL6_MR#mG?-%Si}{zZU&==(KZI~J+l--$6mvR<;RQNdlItojf{EI`Z%I(K3@@nZ5NPei#WHde z!1}E@T9%zdP>RE4e?hegzLN4tbPICq9VWZ`WKpH8D#+s-pn({=hdBC4*^}LQxtqG`kKQ1&~r%*Z*C<>rDb(vIR&88kQnJJ}_&;P-NoPOo1{ zNiPgQVh$GWf1QRFJJl8GIf@z%3@=GdQ;eFUP==x9DzJw%5xlGh>|{HTI2MQni65AW zy=m5&eQ)>shML z1u@V_V>h~nOScd3ZPh$CmYfbuSHrPwtle8Nk05@hE!m!u9y9}RtJ1h!{gojhb!yrx zn6`*1Q#xu+1ES+f%9)+GigV&#EacT$Q4r}O6NC>;42FY^;I`pH9u9_8D_bTA$Gv6L z+gG{#Xa6*Rkk-NPey&gDMo@FaW}P2$bwyO=Fq;qO)YL^46uVGH`}A!fYK!}c0RQV;>jNGCGb^+-?*Qz_s8ZsXOK z5T=bUn$ef%>8~wEMuuh9Ac+^)V;ko5L+gOw^V8aX2RX|H{;+MHVn^!lSLZ6(he%l} z=i;K)^sA4%2CXf4@k^*vdS4uE^EPD{OjYjbzwxHL1)ni_*F8TrG8$F>yw2Aef+a8c zu}(LD2UuqKg#-Q<2ju6(w%?$hBBvYfs?71ZDspRKBu$JjCacwz6-$qf1*%y5R{Afz=wE2-0TPAUxq z$lM3AV^?l9j)@at@2yiDU`{SvCpaPSx_)KlBMZ9xW)O`z1)*8Qa-+HVF-*We6y=FK zuvVBGadm1>sCL_KZ;%Ky7slSC5jENTj%~^0n9fnhQM5z4qxuW+lF@eZ?x>Y9NR1~6 zLJ!ZjxxQRLMccjFu-gc^RGnXYieLy$RY3U^QRutf%|YG_WBAx-tIEcd{$`w@11jqV zAA2rUS-MBFGGQ$|Z@Y#a=$(xKqm}xHR(HZ&lj()MOgQv)S;xCRI=7hDrQ@hzmT|nh z>g=*vxbQMX=LQ45haZ=htbOHhuYjn+;IrEr(M|6MStp%JZZ?uxDZjh8BYt)SS@S9J zQs{%0XV^BfU1q1}BZ3%}>8n%@d`FYhms|D9GUwaC+0@GYoe2K8{q7~dFp?U~uJeo1 z(lkIVPta9*8POb|a$_6L_q|Q+%M#%Er4(L8^vnwb8cjfN@O%x8)T=}`1M2;<)%UIt zIU3$zt$FPBEDA04t+-8VpSRJGI{SIqMRE|KxNIQzZ7BLh2r%&+YSZL0LAntB3O=hFmgE4uDWZ)^`VV%BEfGn_C! zS4<#QR{(XQ1%wB%IIbRBu1Rmv zsqS}_%|B9H7D07EU(3YSuRQ=vT(x$&Pf=)|b++>sRnnV>j2c2KPT2K9y2tHbuvi{s zUnq0GPWmh7av;D{Nyw2C@oP2QHRDJQT?~0fy1NGCWwp8m(jr{khBnD z+LO(8Ra_!(pYBqOyH~XS7|VC&-kJ!@oxsB@^a|FtQ6wWpgzcY!X>s{hYIEs$blx@l z^98nu0eb5ty!%aDlkWOeXv^=PNWI3s>;LMoCFSFKi(O4&tL>dX!ZY4%;T{O-^Mx_| z$Dj@@Hz3n%;@{iw+8wSsh?VjKL-zt4B6$IVna%)=Kw3cG-Y5sk-Z8rw+x~ogvpa$o z2=AkU4^SW-C>QBx9M%rMb~agTmO|$5+F8UB1!7WyT`fsY4DY~q$|^o+ixt9CcHK*F zT_#i?<0ZOWljpsaSzR{p6hGH|=}%YA_FLAI9MF>6~vK2M8RQk@yUb60z5^^40pr)F9(l?G!3b$x|#q&CFhG3E$ zS3fC>!$O2FAkKueZ3q*^b09L^R$wQmy9wf-Up|8o3Z3ie{=>&fvdLms_(&m9Vfg_ac0Qosd>L4zUT^4B!DEzN^Bf;EAW~t6gN&mM zSAeq(Z~U=qIraA!Fs`TOF3`NP!E7`w&BSn~6PYTp4LaNc6H(l1$+iQ^9#d`kj~)nC=}hP9v&4`h@427WuCesyfU^VA!);qMvdOI9e=EK zsYDPyDGO6A48l7gR@0Wh2Q$FX`ARw6A<{kM21FAO5P9V>|0qYPR0AL_Too$`K&AUN zw>SYi-u)pp>;4RxNsc}NgO>lnf+zMXlN}aR8pLpng@rX?_J*J&sjRSf3x|%{-~7yg z-Dh_F;qz62vNCoV8@O?1N53C+8Jf4d)fvpjQzcjB7(3bEnJ*NS`4k`gLBmq{$)<<6 z#0go%-);V+%EYisd_dl39Tvm@dfsehiP04DQuRg%ooW5N>PLf(6`f7^9`499WUx0J z_8Y4g+PfG9=p{YC<8fwqFgJo$k%5?Hzp}&q%DBi!_3yA5E{1)up4a7WgJe~~_3fj& zA(nMG$U9+rV!af)&8h77-#rhs93KlbCq8Wm+(g1H7)y)2zKP zo^>UzbWZhz^3l@^)+C<~x5!bno+y|{%dvOgYYQ^(j25oH(5(Whreihs)X+Jk78c*N zp@_AZ8!gY%5MxR4 zH8NDtB_**0Z+tE7*6`^l4Lc!|&qadMc>HA#E3LVF7VrqihLm2dGjnIOD#Td!I0bYj zDi|rM{OQjKqI_Ju!@{D;UzbcKm;{K)81_F2$M^Tvh$+exJiA6rD@%=w0!iTzC^UC< zgcQIy!E@gD{r`T9f!!EsTz!UQNEBa{k}L70Va)oak3bs2TmAxS}D$YiJ5R`hJCQVD?dKk+81rd!$QWG6`! zd&TK-VW^K+b@3@Rl!jfIc^m~cK_vrU6b9N+o^jivg+7^_R`N?NiLT|-54Vj4cET8w z*YzR{W?1^N@k6^#G`-ICTRzrqm6zEofK_J7LB5-myT4sHhvZ>UF-PtVqA3gc>r^3# zJf0|ByU}@ZWDl})K5@H`e-I|^#;h>&FtfALxU#4IZ(LUx{T9i&B;>n)4-Be^sO9<= zgog@>Q$L|GhbY(Q4l3x}`1lZG>ot0R&SgK*Qm>z3!;7{E7%)1&K9AMtH}JT$L(yi* zXs4<{O_Ppm$5}w5GajBCM?g?UG`?J^ywjpgSjEPlRWEcewJNIEn(gwkx8FAFCahUd zh2ghRaIatHING<^u)40|-x~$d;=HSCu>N)3ioU#fPm;RA8=TkWuWvkd)yt5prpo>*Rs1H9)4fy1Du9 zkPEZrx@xeoxw39~Z@ah&uuRn5sCU_Y{NMM`8K)q6|8DAcA6fLd-5<9C+h@H)*qiWK zQS}Hd$J%k}9<~G4HnFH%qhrO3pfDMkk8Fv@tSlIs^1k=plMU3xN>FhYh)fjMkhP9@ z-!$IlAq?deYL3+*1XRVA6pa`3tsbJnx?O&DUW1-S+KDNFct))@-1Sf{}KtlO_F96}S zkBZrSKgw+-jYxw{@Dq#M5B{tbJdww%;u2OVCA+5AU|*Op!>|9&u$nG+Gm$Rf$O0e? z?_cesszo2_TQD2CY%W+-eBN)O)2IhhpX~$w2xp;uu)wvadCfjA#m7Kado2A?+I-dA zIIjfYec$_JHLU|tTI;`GFXk-{BgY8R+PlqD@G7$kd1<&MSDQ>M8U>K&h|kY1s%)m` zTsXl&$NqI(Bh)3m2ED#TM-fvVe4=yY^o@8G12Z7}KNW<85dZ3lj_Lue#T9y^+|C7B z-+wv;iuq5!sNYVeN6uDu)|TW!Oik_}9D2Y8I>t$rWKsx$w7Kdv*0ybIryN%_-LO%KW9i65%$q6q*&CqZ?7Q$${eo zb~s#KCB0XO4fDeTKgfsM$uEoCJ})oCmPR-72cO4Rtb*3|m+s4uO~skUQ<9%C51BPN zWjiQnG+r>R$)>w46+~L|C(F!g6r1b+(>-4u2m-l>3M6_DiOwLttiyXL>FlGIz7PQ` z_yeFtZ4GkF57e;#pkqxvINfOuY|-=DTGE|6L=1mOCefkLJWb(!-FDWvzfuwvn05vw zDdX*yLZfeaBW7nRGCb5yECTJU$8@+DTe&L76Di5M2i*v78HGMUc{Y-8EI|K?Gih~w z8?VA3P>@0mu5d*C;58y3CdL048YhjxGU-TF!@cYaC+oN$gfQTqCaw>VDvfC2iMz&s z{a&DWFCMKN88e!C-62zO3XtQ&(`J$JOGkexDjnwenmhoa@~Y)_+|83x7d$*3QMF_K zFYlx(42f0QyZ+qbU$NGGoqV5n$4qxbpjh3_p?J#vVQUu9xujOHIVw38UP|Xng9p!- z{Ra=WZb|W|$v=957>(kk)mAc2^n~KyPmF~NZmwI0_(k(dA5YngT0}r|00mh4T%n2Q zrEk?S2bW4NQj^zJG}mpcZWC%aE>Ce%<(O`0AbnstlB zU+)c6bpa2WD+0!K+p&bq}=Zsaaq9Y%9{xKe5{gTP!mfNT1$-=mTM#c%M0RzuGF z&1NjfOeHH7EmOTD$?fjMO~x*k@pQ!S=ZKTOhJ|Q?!tx5AFf;-yP1AEO_Fln={o{if zhWmK^JP(PV+rjLH>aC1>mBd|{k!_bnMqThx7!ld-te1ub*($0*6mL3r4kJX7O?^9h zu=%*Uvh@tFuanPDsz`|KC$`c~^Y^qXyhlqz2P zN|n#2ZLTewKlC?(%0reldiDhuVa3p%KQU@!+(z9xw)ffVWkWU{#RywJ+OgCCYdN;f zZqgM0eeVqZQJC%Oy|@a`@7MR&=MeY0LJiw)OWqonwZ$Oksv!M z8@g?bQ1QrynAIpejryRm2*;{#im{@rc&L`bkmi@VBkf!yJ$vQR4QKS)d=kY>!e@e_ zXsLgzDMfX->{*;VvoQQQrb2sgh;G0*g@1^>(1#Pr5h3YGmF+mcNl^77gJ_wuQW zdAl2{&>t@4ETAEWq&?UDyYC66%EEDX`_-F*hIRi$W6&VZ-6LT}_vUW6GOU*E5ft~r z?}MC3v&>`X116EEUj82t^E*^ZFF@yT1P8%=WoHVCbh6y3DNvvAk;VCh$Q_%v6JXP^ zG7ToNwlXR%Sd zOyP_U1KN78eNrgM9rGDiqW0oHeLi)34Cbq>URo-;XcisqzAZ@l7f`RRJ1ORO95{(S zcM0*`ms2Qv$Rq@>h7fZ&qIPzzSCO4JA_$KOoN=%Mjmd^Dn{RKT?p40q-_q_aJTL$J#*Y zmPC?8C$fZed~`JstEHqQ_v07DzO>F} zgUck&o}KCIEmH0`ASy=&3!9C~+Kps{_=lBRfSA14q|n3Xo17E3`adq-aW{ge_l>W; z!T&1n$3h?QxB?mnBSQzN4Ubu^QZT`a-gN)X@WLG*er4|fVu$#1DR<9)-BxdggL@p>QDP^e(h?OhZ-ND)he)xJ2a*D(4r1 zy>^H>IX+QINRwb8E6^b*CWC4ylyg~a5H0%>l*WAq?*bR7XO#$8R-Br>ZGlSG|NX-o zs%1TTOpXjO-dCWK^(#R+=XmO$1u~J*0_5y>6vcCtrCs3O?RT3HpwJvDo*m2tbJ4sI zCo+<@V6fJ^sT%T&)j@HqPo;&6^PL=u(OOmLv2d^GfAAdXu3D8_o(Ev7Ll69?q_?Ft_H6eU$Xdo; zy(p%J(8ynuCcK9`;(LvzXjvUQK@6LISoZ>8ok1Y(BM!;1HQb9oNTVSE_f1*Q=n6XT zBFP*XUzwzK|rk4XZNNDqRFbid=K}+9O^;S3rhw8 z98v}q!f+z6NISQmCN^cj4YpBuNQNx|`&!#~RjFi$(|}2VB$IFa7*vnxrkx zD+HQ64Bc-bRp>f2Chog-Y03zq@&Y@)h)mx!wI`J$%(6FW|9-XsK^x5O4QbAC~Z+SZ9WuORBnE>;})PTv8PA z^vqyVUeqVSw-%Ds$h)|V_`7_?l3#}Xj?)g)vmimr z=feV8qo>B1eUAYO7lreb-Maq~H&EP-x(4R5!g60xmNq91jPut~Imx!{2vPfF-#JD~ z!SV&y{FwxBd%kordTkVJVC~kIm2;1~jEQ4|ZoEQNoZrPzROY9LzCQtfUF+1Uh)_PZ zIN?DVxQa^WKf+A?z8SGg=je-UVH@zvTE1?Yh+X)7u1KW9X1ZhM_Z z`kUb>xTI(RS?(0xu1AH~Y;hIRT7a;ZpJC?aAi?z#(yB1ukzH1UqB$c=C7|#3T-UQw zdkDqMn(%Lt3kRvd!vjy>F)yIk$7nYpN=iP)?R<&#^{IL@yrhT}Fl;-?H8xn-!F7#> z^5M;W3eYA|g1)zn_z-AA^Zw#yaJ*;A>&<5*v;TPF=IA@W+F8Rrt50-46<{=ZY8i$} zQns05&F+N)nRLQQ>KN#m0@ii9>_$$y)EM!tl=qCJkpt^k$;qzm( zV!MdnkGTa0pB~?TPPy$cp!cm;{_o$}T;DRKlxV)))%PuHK(QrDf&YW2H(*zb5@*BZ zC_eXq;Ye+_q5_v+A`ps%$RCRq?umF_C)(mU4;DXZ^4-{Uy0wr`b8u~)LW~2n&8b9& zoUh_aD87)u5>DBTMctNEx3;Em3u=>b{k~X3*?e5kTzPcZm*wjy;#ip8jd-zfNKP?9 z#8>$**5?JkxGqi*imAL^w(mcsr`-Ju?T6V0r{ksM)7M*8*HQb#*&GD$I~J|s%F&@% zaSGf0Zl;Nn*Or)=c2~Oa(eg#rAn{fmL8^~|v3JPQhA;e!F=scRUN=Du2|EQ%!TDlv$3rDQhE7aCoT zr+(k65FdGna6=9SKAabvrM}$p8+h{6ji&5Xnm!Hr*D!QGRqoEldx`Qh$JG^xsEHMY zOkKJ)J}cuuk|eqeU1gCKX5-o)F?X8ltIk-b^cZiq!S$6sd-<>>>LOCVnVHKTqEInu z$dp>I+G0tnck%R{?)K>6{;Lh*Apd0B-oza8K_nB=tuOJQoqz{Mi94aA(Add7F{*V| zv*pm(dgVZoqWF+to_u?d_ROZ zKA0hVncI)gR&F6NN_kYgoo*|WQ1-T6%KXW92 zcUG`CYUaC&q+MB}UJ2!WvLIbE!gNy4-|q~7Ek_UGyH$fGB7zT6RT>1=OV9qVoe6-6 z-$l(lrii!N%14D_xRqvn|DdSb5&ec z2A=32uJ%uGwB-+ICKh7NIe=BRA^gJajs9Nkes#U0|-cDX4pbzkQOml^h$?5qD z4fRnpZ|{l|0uK!LTk{|jV6kP`6@h`>6E{~@d(@jos0_yud(b{k(SuW?^bOZ$)x6`< z34+5PCS$*w&rX;oDO`6AqD^z9j*%bmHgoU*z2eW$;@_MuvU+sHM}XAv&G&v%za%@X zPh8&4$D=$+E4qRTilZC_jQl6wbCOQF3Tg*=RD|GOQJyyC-V(tB+ zmV@(Dhm#E)`yc5(tH^7y%o0{L2$&u<@f-J*;a6t3l#ReZC9OFVN~05tB&71wPqgOx zTD2chMCWgRF!FWq`EI4D#0iHefb3S)A`6OgqYoQEiM10PFVJl7OG$>lb?X!_zo;L%tlxel!Hd<@a1Y_=Ef=5h84hO_26XoZhaM68+H=V-(ZzhotaYiG}a zr|A`l!TmDf9(8Z=EQ8N(w>$8mq-pH54anYnrQ`4gD&Z`)C86%Qg>&zh1t{(y9yIsBQ(>NgC!11qqSXx zj*G(Xu)sj77X?4&q1Z$SY6GSMfh=;*7_z}g^}oeC-x!)c`xVC|8?GZINf$7OAHtpp zw{O;HhBQtSTu7ZaPmPm$McTB@3|i0<9A#|CWd6(M3E2BLShIcGd(G{Q|7gzbu->s|6r+!ku^M`%LdzM90H@s4KxVq$B@lC^C3 zkhn$OY|M3AIDp>FDVSF}2Uh*{qZ@brDjuuezR`RKUa*+Gr~g8NB)G%1-i$3lMKk%^ zpym8TcuLNf^xky9c~t=JJ~P6@!O3?JX`;q_Q6!LE=_L57;#+wMs}dv%S=1+!nbi0h z0ENhWG&bVeHizQyLf}hE0B2I8b(IT+doh zAt2%YEC;GlyvS3P<-w_&$WL~jMDlbxu4}pze00}|6Pyh!Y*orNL;0v;Cym>zu&B_i zOj^rmoz}C%!qx!6FrM4J%I5whQsm&S-ziEp3!0l&^6Fxz-VXB%J?XR}t&%3}LBjW+ z6g!d=h=#IM#L6p5@J#$OVQ}SMAk@|$qsZ=6tCW^^NrA?<#JE; zJq8sP75Q19ZK4U(WFRc@`x?$8hr9rktv*xyR2yF{k+!SmgbiJF=R>|SZD*@Ni*X7x z@#jQakvMiZq$_JYHOVKr_lZ7OWnNfa${>!-OsjqqplZaY6m^3T7Bz-@@A4A^&et~j z{t$;^bM4qwG{fVe9u;H#U<^r6llxB$ULg$>-@VM*(4I~G&Q|H0S28a*5*oETIEPoS zf_nZi*u?X5DUrW_VXM%YBt-jgtJoEll$2m3D{;_aVE&2{9+@94n(|xhuWyjKsXrki zhj*H7y$PUAFxDK5wp*B59JD{c)TWW#m^lcw;?LQrE&VV&`M%`KmLS)i& za_>K#*_59mb92iMCC~&-NfEDghhhY+kXFQ{0Fsih0ll!V8yO#XQRs_np{#p^?5m?# z@okmBf$vmk@;*s-M(=j`Q-?OGB)a|X>YU$2%EWLvNWQ@_?7ZD7@I>RHAq zdLE<5Y?U*+97Nfm)!j>jCLdicS6@HO|Xj0JEc=+)BF== zND6D`YSwPTnpMoG?tLdh-+k=@n1a9~;z)p8 zgb%l^3p1DyizxXAWhoo4*_%B+a|`55v{2S7era+KSvxEXc=z)WwHLJLkSZ!3A;(v* zZ?_}#Td%-d@ksM6g0^T5Wl6DOK0kuJ!XD@r!aCm^oLb*fZ%=y?e`ycvB%iA_j*hyu5rS|JF=HZ}7vT2JF8-uChq-<~8{48dY`1E-GTh{IPvznpU$Dbg^Yd?W|llI zc<`!R4B=P)lMyXo78I=GO;K#&x;s?N=C!>3(5?&Pk*}-Y^Z<#6uRBty7QYiOqNTj+ zk}yvAA}xsw78Q|zNr{k{6wVfSIZl$}+16Q$#D7j)O37f<0t8ouzQs)O`bM1);Tv2> zOUtjqM4Ph`kt|@#x2AA4W%EoP+si;3dl;ZV-LVs?AvqK2EV;hOH@euC5uoLZ^reYu z%<`hvnyM~o~)u9c?M=$SyhajOY&eggrUlA027Sdh(}P{@)#w$Idh*t> z^3cTgaTtgkpkN*Qlew}PY4JxzHxRvBH;PV@f3npj;)R2kFdgLiVR5NfOu{Jq4`w`I zIRKXN@dV$l$5!gH#Jsm*nV{-cvnIr;EG{~6+y4Dxyh9qYW!-z2!-LNz@&MT&CF2Y- z3jrT!4v7w)@0IS7e&Vn`jsC%c2n|Zbs^b5&O<1s&{y=jWRXpLs?ufJiM3XG5QcT560? z>?;@riaD4_|8+g~Dwq)uwb}I?Q48JB`5dW|Wp)mIX5o`&cbZ8Q*0B_Tw;d-#K?GUI zVlind9R>^ZF&b@5WF8SjnTNH4yRvW_cIW8OI>t`MtZBMiEQkT=tS8LeiCh%>7HS+! zm~aQ7izSa9)Az2+;<(W6vbvy*mZ0$a%Gop$}hTWIO;K?1BA_G54- zH0hoKCOE4JY-@FGDBd0;<7rr{G3_)Rtt~H03dR|QsLT35X%g$m1?$Ojv(xd+wXJqM zLW#&`Ji>8?C#w~J!>V!Ffgn7j!A%MSbxDc8GhWqdr1ysO5L_fdS0^Hvi>sL^vPq?1 zB4+2u62TzXZc8Qr*+N}51yTfk8yuVC@uONK+;pKWs!Oj_6@K}NHX-Nxx#Eiex7*V1 zfQOz?KN(MwWIzb%&|xwj%(BWeWgBhhhk^(0HsO|5Z|=b*U2iM#W9|a(VTKw#tpMzg z#{l4K{vii2H_H88Gk@Wy{3}RQ&;?SCI5UU&|1=zHak#Ng=y? zMzr|>I})daaP#d$rFxC%mf}1vW@88^o`c~2rC_x|5GGN;YtVWgu-I|voMzhrCOY$Y z5FsZN{_%f2eT734Z1?u)?rsqQ>F$mPRFp0ONeSuh7$vBb(lJuHyV+>zj?p1Kn$hu% z=Y4+PAF%E0+~+>$x=!6Fj_zaCdR_L|&ZgZs-kG!S0mq#UH`1y$-YuW)(_P1p^7K{4 z!U-Q!j$3vsAqO89-(|g4r@MIv5|iT!m&}l*T$wkUt!O%88!}xw`@qJU8G={Y&oHDN z=Qa$Tl%fUlqoNRoyHLiEe($Nbp$-C;C+A1lqM-EaERuYQPy-(}6>8#o%Q!6Cidi%U zK9IERe_Ed(z7WQ6j3D5j3wX3A`Qy(Q?^xns&i8Pk^^}X~!NtWvU5Ju8Q6P!5HR=2!0ZOHSwcb7FqbZ*`0rBcYHLBN9;$`PZWt+BnBk@ z6!V@Rr8#Z~GQeLN$^DU`wb;I&>%zP5rW%ev1T!z==RX?Zd~eZ zTS`}fuBckQu;dMD-6l4DX~#1lGwoy$Iy*^;ZAhi#)nz5J2TJaNU=ZelN7VA-xh`hK z)+aU?24>3cj7*bA(HDEY9k!)c?gM-4_E?*4B2F@V)E!c7e%6x!QS!7K-<6lnkL&aW zYRKwZdjzD8#@~!Cf7t!%y}l~{Fhe1G9-beB?Tfr3wNRlHu9hze~~^F6G(m4-XCumKdx#x(~ksT7Y%bJ6oBtW2X9_n1kX z_mK^qFnb=RF$|r)8ro@OvI^-C&DQ%x2^Iw!y*)p~+BXYJYH1x?s%bFu8O4(>MWE&m zYPnXYLY%ZjrQcwH^ZsGk$A0myG>85)E?P7R5)wbhdt}#1&|Ye(oRD_b$4pc>%EPo( zlmdRhaNw8k)$j~ctlgWa$)w=HzaMq*B(jlC10gGeW<&>TpS|JtvysPSjv;Kth^zk4vT>M*vAw(Gjo2 z5XT#zKz4i=YS||pFqJ<;1K1jkU5Z|O@XD;o$0od~D%#mE)z(RQ1tXC)Z0T6wx=Zbd zyY#MATw$NC*@UGsIDw>DVIwF)^myv(kQ(ivG()ucGbgQ6=DO%Ku{O@&IMuYX&}t3l zH2c>g?QHU&g4>lJ_AB(l(SGg0CRsx~WrN;i;of?S+tGFURUd{OKd7I^s{2KY-!qW zhzbibNj{-D*UwH~SO9Dplx{fZYu~2Q?y^>3?EOVTY?OxcW_!Y`ic(KH8%4CsPUsZ1 zuc+)Q-8~EARru%Vup$UN%lxjOgl`^L8Z9&>gW6XIKtYUQO~T&7Lk(z#_lJAq1s2WA z%Oq>tW;(7%oH#2k4Xgor6f-v?6w%i!icEc3zmOqdCY~9OgJGPY%EIXRe8j4)0Bc2= zv7_{9AqhhgF-ZnduTT{@v%Z#luispZjEYX+O%Cm}d)^Adj5DS;VnJ1YUarY9XD?0_FV{)7 zAX~E;qpsNtd^*uc@ZYy1HR#iJb$VLCvTa!FV-^SBxg>PkuFsK8DhK*o@E2HpDcS{W z1TH=uiLVLt3;(%ddMzR7?UpF6e!lZYFHci_g-o-=zzNfP$WGGcU(?KQfr&k`L2L0#LHa-FN_? zBHTZqK$n1OYQNuzsXci1l1e93nq>W^s33kYCb;uzu1#Q{*6TzI#nmm|wiDLrH`Q^E z9mo)1zl0bf&dg7|9fvVuAx`5jw%U+ySV0>;Qmk)1!S`@Kt$inNM`3M$HdsZPS18;H z9(q_t^XYAeQrn^%=gpEqCQnq7JVeG#YE`056=YWn{+{W_&O^(an`Mm!B#q=%wa4%d z#s?&g%`mq%dfFWWFbe!#Bbzn5cxc=;+Al}?Fwbw1YERIMNDPqRe zWDS-mDyQG7tpBL@-TFhvBmKceVQ`v%kzMxALEZ&f_J{FS8LYiFC@pkbn19e(fyXmZ_yOXF6>Oq>8?Rlt;h^;|1srY ziqWj3)=FvMWR+P^o0^sA`_(2H87Q_LliEs>2A%L~^1OH{(`PTvl)r)W*SgE^L;yn6 z7Dylb##ny3uJcqVr;8y$$l=UOlsdvvzcDV#4EaQ0H?=gaw>GPyex1SJig^x)L!&>b z9T}g#D5BTabCI>oZh$HfBN)&Cw8|8tuj|Kk(zVJu_HU5ZTF6rzdhjzzh7J<=CGtx3*LxhsjFH~)k*AE& zWPH{7tjmTO+U&tE^L7s}eVb)^s0>RbQ1bT60+x-h)3@eekDO5UJFS!Sac}br3MA0? zM=M*x+G#by?*u<(UrU!W-61`Q4)7P9IXCGR@=s@wq|S($|f@idYDg$GA% z-FW@Ri-=d|r=S}Q(+a57WuQU(a(>3nIv0VvdhetqA|IGkDt{ybu~{fllY?vPP~mcJ zIwoT7Gqsd7LmmXR$3kuM1}ErVe*kRp4Km$8=zl?RZ)pRvr189etoo2%ET-m&ptQ$J z>+s;b`q};VMYPec&cbgG(yQK>s%M^I9uZYvqzV2}mS+P)2C9`AZGk2?lRTj&63W^T z+>-JsL!gM}4D?HHMWf@x{Mqbn;ah<)4P`Z1!yjp?bt#8<9{mC2t&D^>YQh7>JUY%g0BN z73J18TfG+eW;t$Ah7DQM`md+zyNI%WkcYt8i$X|hVm(?0(vcpvQTD7$)jM zT*OZj`_rR<4=;ZP&p^QWdWqSg*+=UXLO7ywED?~OpFMnMFrFG>j!_B~WJ8j%--exZ zbl~I}1A)%{5uL1^XL;174gsf?5gcljp>+6Lg~@{>p{x7!fy^T~o_LbWf_J?4k6YiY zs5VUvlYgf{OXco{>B^%4>I5Y^fPDpDKwl+$98Lh^XkCJ+I%q~!h?stk`ttQMVP;SP zG>o4|L6*j^qkhjM+6^VcKv%Nt{%AKDtQtx+;T&{nLpmhh98>U1=z{{=+4iOb5htcW|Rn! z&sm78V(<^mvHYPqgAD$F%7NLVvDbJsM;@wx>aLmSfiD9 zB9e3t%{h=vTfGn(uTw4dl&f8zNl7Z+@|C?a8Em7K zJcFsa)M^^Sup=sM9SxsWK+ck!Qk$j#{Y;%7Tn9)Z;zvQL-w5R+H^!{&9m{F=b!O0S zFN>t_A1B6NRu7ASIsjRQ_TX#0dq37IcBYtgt|1@n8V$e4ih>wjrr+@-bV{mw-hL>f7=pny~`~lj?eG7jz zQIXCvU-y8kLqfBKO8{`BHgB!kyCJJCk}ILX*AL{^ZB_@idvLu?Seoin)R@@-O2m>( zV+8cWB`oU}Q@^jcK8ZvY$VaA)iO5gByW%XCe9IES=wGrLM@+;EOH?8;p+;lwM_c+> zp`rmwUa{}7mMTOk<6=Yuy2VQYDmb>JTCFZqZF?r4%rxtp-h`)j3+3YiE!!4w>{)*F zXJ^OUF*yj?Gp{ENPgEsd<54kYFPxQ9Bj?9r9G^TA?+4P~R6kMMNSA+hHU(TqNEqnv z$m^>dTU`>Vca2q+G7+2GqH4pxf7Rqe8lfYB+*uqjsw6;pNp8M4 zn>);Qg|x0K_LoK7Q!rjB?C?9#(|$@43RNa|G6NL9M(3@D~o?>BfHE>pr^f0Yb>U!HnI@S!BpSNw#~kbrND1F0w$C<0w?T<9{obq#Q)V*(51I!T8J}iAz_Xj550Fx8G*wqsm30kMHb>pxDIj%>btLTjadkf)eIR)dO9eOU78$ z54CsOrN62B8TIHtIb(i1$FIQyJW#c>nuMhFL~Elz_0we;w!f&W^YU1HSfew)8~lZ` zl4Zcq07Fx*^7!eCZeN`wnh*I^fnRJ5{Br9^3<*f@_z1?!;HqoCrGHJie>r&+Dj9JX z$c5=j)9ha-`sZe_S;-Kv*L@DEC|J|I6+uks=25E=h)Rk*thBjSJskcWhWS=Gz2EO! z3U?M2m;tq-)Ff}W@3^Aqqt}wkwih%Y73ssNfVWW{0PU`no!kN207mX+&?^Alt~?p# zxq2y&xpf!Q!@dYR8MZW90|ghs(~M|g*m>e`{>frWs6`=9gh}8$jr0uG>>GHDgVMa^;ipM#GP2(D)3v~B$67&tTXyC66 zV`V6vcIEXUX=t-FTw_Ixawdv|cMy2P_Uz`1W97MJ1I*8QZu>`)f3B;tYyG%?i~Kp> zY+;ye-F|{~;Az&CiQgP{w!aygT1D^JBD2`9G{~n%O=AyQK~X2Nl?ICUxdAR^IHLhg z5p)3BGtOes&-N{E(8dm!DIVpGd^6iWT-^8)6fKIeGnwKFp0ZUlt7dG)X=Xx_M|A?2-qe%_Ya*A^R8up>77u_7MSB1yQTih}n;O z84fZ`=|u;sK&qhQ=?S;@Ym;AufvUnAHe(|>hg6yX-aoiNI|I70qeqdI4WBi(S^;9c=&qr|u1`nG z%)sb$VpJ5^+i;)txVcD;Ay3_eJ6gGeT;SX@XvcdD6O-{ z$Te8#i7slq*A2IC1R(N37bzS5R5~Evs|al1Buh;GH!FnaQ%(9!NSVzKlS)UwmrUu zQTi<)=#2^2Z-DcM61};|5ouuw5=5r9cSUpK1@Ew3Xgi~O$wzMSzgDlsdRI5Rw_$yL zvn=KFM%WGUqRyZ6)Ge`c`PEZ-ZPTSlpFfr;-n&_XngRPo<^GwiCn#(A@;W(t>p=Bz zB-gjz#=Iv+2ZwiRgl-Cl&>DYdE@Hvs46BRzgC#MA++o6XMY%Hm;=j( z46c}vFW*+F8EmY)bG}%=;KxAj{Po+F>mg3!36UUrOn=dag(4J>WXoEX>Q~m+h2$*C z@6bc9rvVyt5Hugsi{72;hnb~(zy|crHgn$}ycaZI7I`|XMR04vp!g3+y!vo!q@~6N zUH@;E>iM>RuB0nL%hxvP7kqcDa!ZTFtH<1U6|40MqX7`Y{Zi}4EiZD!&we-cdH+z5 z)Sbhim457lzhP(nG4{r!NDpsJ6G+~T&CqOYjf~)HY5dN?M6JE4pl2Xs?!+RI-50RF z`LGfkciisg@aczRn}}HR>MX^Y>DY9&gjaBWKD#w2*2O#9e}NEjY{g58|I9FC@YsOK zqJo!MfB8PHqn-Y!on`QAE>itqOIiKo;XUy5gxEn;?N%Z2G~>u?uH#f&OM>`l`S?x^ z20E%Ph=z}JupD=PvwaPwJ9=bbFZcS@Qj*l^^;F!A>?6UROsIJ08?rB#ln7>G{#~7;*+NS1Nqr89MCD4&b&?=YzUtdG)7id89^0FOoa7lWU zO}UMy(zE{CwOw=e1emk%jWB=a1z1DVDVDG2)Axi3roZ;=LzCi}z z0&!1$bI3~+l72bEY;Mb45KF^+X9x3`xTj0qgNf_}!RkYH(WHRy`Bhd*WelHt)IZ*t z_>-#gx^AE&xGrF00CkP>3*c28nzwZ1X6i4FFv8>ycJD|~bC}y(p;^JUKNOD7qA`wD zXID9AYtxTuL4sc_oJ6I?^Y(MDWCI2nlH4IUG#yq1N(f8{mzPqugY*5JbB-QLN9!l} zeJtKYKWVrV@f*fnqE~OB1k;&;-B${-0Z3Ka3n;4}53Q_Uj^?TZKATOGfvp696{n~` z=}>OdX1NhPg%{b;-E#~0FON^lcf66_iD1odCE^kpcQDMC2Cs78y*PNA4Y@YOzol3L zWGDBCj$G(nBF9Axoj-&lTo-39Lw(Mk9`h=`J|5#@JL`PzcSm|KtJ_s|aonR};8+5Y zX>krqQG}#PTg)`$4#kSZ5p&xICtE*lU2aBEN_4_tsKRPg4j89^+d%YC%Ldzi+(;~3qrV_5I^o0s zW^byclfYDu&OLQuf$?=I{IbrHueM0D^(9E>kQy})4W>>h6R=z*#*u%!%oy# zq>f=aXxZb>QM2=7U&>@2Rv)@#jVQyh(9EGjwH~bK4x30`{I$Xx$m7fg_nVCa8kLizwNN`x{tkQVo>wB#n zqd5q_v5XuCSQ7_DVI72*{*{&>0&P}7t)K$KD}d|033|4$Z-L_0y5LLH>xxWkSvlW2wXgJo`i$$-Q=d$fB{T;9Ig=3Bm6WjE*_7GQ5zfMt|E+^klh zImUbT@&N8l;7<;9u zbwZthbG{8J)P`uj3>Ej9-U25EP7>zd(8oE>Sx&5T6fj+uZQikkKqfl(Yu<-=Mi1f= zNMk;JiRqlxvKCogf4|gfM*0ezpe2$cQIs=WKiu84o2-V2s*DxH`&{BB$BaRR2P;e5 z&f8l62 z1Y~wx{3Bj?C(pD!Z97ipI5k(a4=TGPVZx5o08IO-xuqXrc`=>m1j5mrQ^YOGxc{0tlZD z{KHk3a>a}m5&{b99Bka!kkOeUoXXFxk%!rRl(o_LnFyucPKyZY6$4+EggX}JV7)Xb zn{k^#VOJ1h0DMex^6z$v>Ugsb3^vXNSeRv|3ALtAYU+42gh%V?V#s05yiT$Q6`h4`lQ?UU6;yhK2f`{=JR=t&;?3HdCq zP%UKw+em3gRVC`?DvMN&38IPyE-@(wR8WfTewlPCOsDs@EBnFXWBq)qCDr_ zP?cw(7m7`^$EHaRCl=wx!d4GngJV)JJKk+saofuc;S-rJ;3?k?Sf5L@mhy2127*Ng zNd}M*eq&(fJE~Gl`4*T~G8pZuu!I(_jX-}5Ck#G06rmmJ>X93JDMeDNx zj6S8&E4)1_o1rDHIg0ur>JB&V{o|m0o{Vhzj zRfN^!o{4HwV(WwGCv0s6c#L3qK3#(x8C6Nw`$shU}!5QIM*&l_Yit_aH zazK}-)~(e)$O0K$>M)3rX#dOSBB+u_&aW0cqbnN^qj<*t)xA-1tOa5zRXaUxR)(=j7ypavBH0ZzAyhJ8bIsg994DuP7HW;|3?t_X{9zJs>w+Jv|;{?8+F?4^E`Db zXnLkwX3nKjh@KPiW?qsw0LBV^)*uC2I&xLu=i-WvFk-c99|?X)jq;)7YFJ<0Tc1PC zmXHG~hv0KG^?>4>BLTnH2&sB{HQ=c>R9IhP|IWPm24rHMR61hN&_00BDcPTg6LI~J zOh*zQrtc48MgwvbIPc2<$fDO~`Xd!=srascLq8geED$U3hDqbJ91pxs#nwiA8P48aez?RDtv?+>Am~6iXp;VRE59?Tu!l;IhCDC27 z3TIdM!rC535dafCvmpN#V1a>jGmW5hxha~J&L}3bay(acOWkodhJnX*p%nX;cf*lp zmXZYb_LriM95*_S*o$0Bur=t#*iHrFR9!R%iNZv#?Hjf}vWN64GZ#-hJ$$JoYe2JY z`Hpd{SFVu2hqV9ti84oTroQqWU zY5WZ2S3XpvEDdBEYaPxcTM@`1EbcniKvUNPy-_7-beZ5xqKS3Op;?`^btfhWdZ|>W zm@XCd^bQ-4y!`ax;pzlY0mzAurmUKPaaKyO{`n0!+inh=Nei9*F?;LLcK5W}OmIMQ zp{ssU+gkES3Se$pb77N@ER8yXmaon~1SMOh`4ZYHevLixLoX|z(JGV3JALmdK(*0t zJtDDyf^E>OvW(Gi|I(HdxTbxIlj>`JQ7UEQw9Bz1t{#dx zGyZQ@3Unxeto#g&B36W>q&~I~Fuu#eWH2dJh@?*Wg9d>eG&&IN zWx>=+7iL*?*582Y*D7shF9;@qa;Ayp;LOfc;3yz!@Y{`F~QK|+%>d>U8b@t^oZV>pqlwH)N-=+;=+iy!}Y zQ=96v4b5jp)(oVnLX(>E%Jk5Z6+C&=?Jl6L@IBSu$F|=#kSG+zEa7T;K8t+`jvm2&~eX8=ffFd&_`LrL6=&n0wTxA$X)$COdX}p z*EgX7%Sh(SA_)AcD1N3EL-x<1l6J2%94v=$A4^YkcZE@eyEjEM_gqX1e<97K5%O|! zQA5RtVFM(M$uX;#%1YMu!wjYffHKN}LR@M+5|Y(+361Xq*c8I^0MiNeV0lu#TO!TQ z(=s@ficHbH=O4nXR)}VH%=r@4NTz8{AkOcGF+4SY(xvk{!%yVdNX%ax{!L3psthw= z1Ve0+_7xzXG#GY#=`K(t%hb3_;w_Vim?TwNb+~FHT&fWm>LXN!*F1bDde@{W_LjiP zn&nZoe2ej#&C%rjr1$*a_s*7q$Q6q13-$L}npJvs6<}1AH2TAMbk5t`H-&XXfTWQ@ z{i0kA`-60OqpK(>z)P;yM07qd#$Ug^?944?$EVVtk4OjJ`22%Ai&`8&zb5Ja07`AL zt|Gfj!e_jv@;;{u@rZiy*O1!ER!up!H$#Iesy-b>sl$r7vJ*MH|t0H-a#!925WY1o1XPx0)Gs#0oc+u6NkQc~m1-4d=n2S3~4=SQb~ zu(D|!k)MumZaoz2gBT5Mo&az%6t!1*pHGz4ec*MOYS=7f@A^qbg>^%a0@}#0E&rft zeyN>uJ<(8K_;M|_;q>Ms1B!l^HWfsaRSwfdN`KUBTh_QrWeXqm(BlEU9E6ONckTYvFj1(vrg&avjlF=7s&`S~;sUm$PkD98u&j2E z367D_-l%gq+7sSDDw0ise#B<1C^~#qg`ZKr#C+y4uI2OY2@SI|-MKdYnelVSrx$mD z*4|Cv`pJZ~vf5Z5DI&4Ovxdp2@E0ZR2PXt;L!(}*?Z z@13oDF>v@;1Wh_hpuXEV3ad!x&p%ObZ+dOq$_|}a!3iKN3jvWjiA(8W+-0zg7=i1Z z`07kZjxzyjR6IDGa4x?4cQu7kszHSS?nT2bg)iya4)oRA=hQiR@oWk0GNk=|>l7KF zxl%OUQc6eLP9=kgNzd{k)!&)LNTyvt@eq_jB~% zDj=(^4PF?Zw^p8wcNe>iEphZ-Izfx-;;8PgMXlE3k2}Ty%q=r`RXl@b88Eqfu1-dr zw4?D5nl4B<$+11-<^WLls-XnhV-JrSV48hbluD0ZJ1SCh8ADa7O<)9y2>TDKBFZ^o zP4D-KKHxaVP6v5pg|&GtIk*XYx3ve^^i+8$X>X0FKA9sTtc=9m!c&}-66~azXhx{c z_r4|G(umSfTH}tfT+ukv4#}V2<{(OItb0m~!qRhIVn z!mi~~gzS|)b|f8#v6VIJGs|R2#L}vlJD+hl8te3lZ#4>()rjWG%wNh07idd_?wN2R z(#=MOoS{*a>rfca1=ASC5x<1MY1Y;nsybR5^1|!(=0N1_ny1;nS*D=#zrh!aIa&23 zdY{EF-WPeR=?g1*oWZ?tL+7LA%G=ZBvqvTtZ%qc}R%;>@MGvzmj?>Ux0;Y&v?_@O_ zml!g9c(=kqujb7j%bHHvR%N$$kz4)nfR?TNR)WLUm;i1IN%_bFV{UF&S+%*W$sMGi z6JZV{4(w9s!1Ikte#?f;MsU06i_wlIn*1e8LfNNd_VGAcYVq^tju?7ee5U?s$m$L| z6BzEaF|KWW!EtLF8LJ&q=E4pVs$9~jfat2ofROdbDst< z1kj-X@;5#4AR3c-o5r0(9szC_G{McEPpC{!GvYa)kL*X+DKqxPa@3?QaIqxX^BcE()W@orrm8Xf`adUP6UfFk@pNs=L>L|j=0Tcov%e1#I&vbFK8{)l)sF(7@}9bJb& zv2YkGn6RtNe+oTUWh*4`?Y%8Hv6|M1fg5VNSD%OjGap_K4gHgjh>{!sr0`U9M)O z*}f)>5?QCDc+vzsE3kZ!H>Oj^ZQ8+BMn5Dm7M_oDDZcfs_fq6HDd4f*t^6VOg7$n) zdH@D{j?qEAF=U9e((aH_HfN_cy5QIf;F%-Wzy3z68vK3RVTPj2gNwu=f@gZ5ec+rS zV)%b9>KCR@Z)CL#qCSTBl6wy6`4beKx6zGDD1rr~BBrziyZryDP)tc219Dbi;2?(C zu)`@buS`Cpe>IHvCuQ3wJL%bhumSE_8!VJ?8SFe+o`1PlU2ZU4y^2MJd@cS3fW_~{fZnejK}KP$7}Am!*h1LcG3nY}A(dha9+v@Nb=nOKhb zavK(57taCXG2VG>n*iP+_}{lBu!h;19$1xIIbqx8wU}%neI$)@^mKg|dMk%#hJX*p z-mBCEmJbmb%{(~fE~#(*O++Ff)lQKLdU^)gL7J0adOXJvW#T5Qy-X>kV@cKMe$W?fL5u`Wjvm(k@jLVBB|K1F%5-Kmg!+Glo8{w5tQC zbAJ#8CY5F(k7rHVA@5eVAwksaQC>{ddd`Wi8Y1q(WQ@KqP))`#VD-$@$FN)@A{ey> zZehjxzjzQ2{T++sM{+93jl?}m z$7o2OiMAziF2#O{cQJc=rO()GUlCi24)YecY0Y?}PvTMHq~tN*z*MX=ixRhyygVj` zTBlZ23`WUrDK-J@zF~&Uuc%@({ONvOEabJzN1E(=~AhLO?4pcgbV-UaS}jz$1U z{$#iaDubd9yvrg$5N^(dSA<3cHvRBC=O)eDP#-cz8~@J|PgkAD)K18;6B&&!sv5lt z<4CK7t21ioQ8GPNdl~*CXFY=Mf@>lh*F>=5Sq*$V zKa!!*mC0|uN5b1FiAG zhm<`GE$Hw;f^zB!sfhq+Mse+E)<-90*I=NGuSgxlTvJaZhFliBt@fn?k~3bVGhO~@ zR&^*lsRw0VJ6KyDV?GM+jivJuo54q8U0OW=0j57uI$2X?YK9W#&TCm>1&4UmXWqKc zFER>o&oS8MEA?Erqmz#*GQ&Ie%dF()v9tVgJCF`|JxU$0tAeZBtpB4`oFGX}S%(c( z58N_c9jGu~(R<4H@B4o{rXmNLm8P#!rJ{Z?`vHs+Y{nYiz&~R_;6pKFz%Tab<9g#1 z`}DCDWNRpuxHgG8M*vBRsn3e37UO%%u5=1Vq1eZ$ciuq(H}P(5Uk0>EvUPQ@k-=%a zC-t^o|5SvCC^yp68IsXEegf+i>%VS)4H+Avk)^3nLx-$tohN`$!d^cP5~7ZhEb!c7 zixQ?a@HL{?=)kGl{FF*fnm^Hn6Kh@vK9*c#xc5mQ|tp`hWxn5 zBX_4#H#6Bq_pbD4CE&0R?*z}_MjK-#iiEYT33R~{MTvcRn zV()~~G{uQ*qoeG%kHZA8kvc@5@$e}_;!Dhohb7hvQBfoAcB@RZi%ee*miw7Ebf#fv z5tFCEk6T(0dP};UBAojk?tt9?s2NuPqswiqX~0~~$_hrCNv+3a>!Eym9i!4PrxEh_ z2+YNZ^CPme#=X?t%f*8fgj+So7J(a%5CH;&l(QFy$XvU~yKwx{trMexU&-=};aO&$ zB^0{0zn_+4_IPcAMyMy+U+j8TCff(Bw;zifiW*}y(5oRP(vX3cW&A9Xmfoslh}H!L zjq6a3Pn9`~Yx8-j@N*QogNmy;DS@A)5YY5G-^o+28Qw6)BJq%hq2zc5B`2js*n1RO z{jqv>O~fI*)@7**PKNMJv`n2cpSTinZFBS<2(-fNmG0CoWPTl*)%$i-7ymscSroUnb z2*pt)RU*84+$I1~i#B4qSii0G^*Zq#Xz45D4BNiDRz6}YsUOnfm$}a+TCQZzPtbhj zXI_l}#zD-c^+Zhg|LR(jqGO@l_e+s?&@S)l)X7>(%lSKQU|;M%V7l>180k|hu;uc- z9n&t{x3^;bxI3Ffs82Z>{dnSXd$t@fY?b^>H6QZjcd!}Q;u5zekoakFC7|Nrm*St zvX{#9P#GLYlP|s2j>JVWWK|(kRv6!@&T<<0SHM#Sw$0e1UXEMg6Q>OwHXEKET%09s zGfNE+c5MHG_*|qfBIkN)@+mZ#H(4ueC-ZG@?8vC1k*Drvp+c($L3qQRg)~7RWy{w@ z8B$-Au;EizsH3n%?@-~SVP|20x!H+ReQw^Y?8&QDV$aR-p?_c^&ly4)ZBf37?`YV@ z?lP4@C=$vntC{C7nzj!rC)T3+8r4HFvj5%!LtGn!nYyT99z1;p0~G%!ZvIbY{_(G_ z?kKD14aI>Tj8(aMsd2vlcnpI3Bky!6HSW4#X7_rU2t&=4+L6)CLbTRw)GWS5E@GQC z;f(EuaO z8Lkt^>N?4QJXdQFz9=gZ3rUf^ zfgaf#O>sK`F(@+QAX}>)&#i=Z)~fGw$s4-&k40D=n#Y)yxD#m{^*-yT*0FB9)2px+XHj?pZ;KeBcrlLo-M4jv&Z3%p+lwP zf$H_fyK2&ioJ5)ra)X$`f@6fOW!K7?kZ}&YhNFqFSBY?Ct)$XpwtHRHaiL~OH+%Va z=#f}(~G$& zzf?r?Ejz;2l>LXO`A*0Xz#@5B{!*a_qXWPHVeKxpJ!^}+R*T=n-43kXkJVKCPcwnS z3d$ORYT9$fje%cS=mEHAAF*V`EyIORth^0#?!aDspj8dG*q6vx?VCbJvKyY zN{0Gk{MT2Z0ws+@@^yNUXlDsKg1abOZ^LkKmth?{pNSt{~9^6ChSgrRs?4?K7fEZ zgtHTcfuHkm;DdD5Jz=d<1pZc+qTFN%2h7CiL|v`O{O|Dv{^~TTl`;K*>gO=Tm2_!U z=nhwJEO~o@<`w%$> zl9C1~B?Of25=5lCQM$WpXi!R88flR37+OHOySuw%=DE0k{};~}m}|~C`|MbIt$n&| zCC%3C`jD!79f|*XC{S28uJiylUy^s2d?TJKnQ1a8F zU7Uc8n?s0GNyMR71~0!`02d#JyVt|qKDvAcsP~VZAKMK)UEyt}!dIUWR#~1o19vM_ zm~CBQCYHa_(;E(%@KChCX+M^@+JEJ+PO7J-k55U!Kl;V|TDAUjH0_39dug?Eq!@P4 zO&R+y{owAD+eN|3NZcWmfA)qE@v+3V`@ZpiUPnf=SIt~cQi+LE^tLMmxQPB&Oc7|1CvH( zhO!OdHg6%%Nlxu2nk1xAuf3K1scgv~kU0~-fLU&uHZ=;sC8=0N@|N4K0b@jJgGo%iKQIg+ttM$a3#l-X`_O` zCb!_V)ti{O~<0lobG8+*TRH%T`Vm zv3vBKFnm@?pR!KA8SFrnrwW9+C>!*Vn7PVpWF(5>=B&*o4;J5jwJ)^vOc!JZafNd~ zXEc7fidj!ts2rr*oM8(t_q2U|?`}J;&gLS0Y%7PZn+XH-uVJ*-BC{g3*HsE2hH5Rp z4Ff;BXQXKSoFKPW=W<^gK@xh@#;6;IDq3mPxu;+;(4P)3z|@q|_#S$56Z?g*RqPh8T*O^QPbS2# z$U)u}!0p9dS00_&jox!Iv|E@QO#?>TPjN|DsX9N5AAt2Lt*FhTW_+?kMFnzkW(typ zo}0%rLd2x`++p?MEVHtcwBk@kFUtl2LI(Lei)}Lw%#mYY0dT+F*ag%LX&&kd2iW8Ir!!22AG-;?;2oSte2`*_-~e<@007tbGxw&qrmM%{GDFmRqQfe~U^5=DT{o6DELl8LvK9i_xm?sui^PhK>g{_~tZb8fbJYWW zi`0O3%LC#-i#I>n*hz{3=IigO323XVPt5$CI8Qg~@)$vUMW{P@Er`elR$EuSL-J?i zeD`9e1&`sUfA`a==)DmKv?(yZv;kOV^=DATKQ%x_F($fQjRUi%6HaI(u1euGYhor? z63mx3Og}%OagJ1w+N2v5o@m|^V(&+vIh~XNPF~{|3q~L4NCw(Sgh?nNQ8KxRNr)X3 zQ7T+mD92W_ zXH@OKC!|sGg{@q_!}T7A<{Xguy<0tc?asE=N+5dRm&=H(a#nvHK#Ebg)zt*zy6Ouu zuQ96*kqw%AyHYOWuHMtq9H{Il-tftbmGRM@-}OLgwtKTenGeCGv6Sojh`bIPoL=mJ zUo0c`v}>KP3RrQAS^!sNbw?sx47@|i)NLMW`=SKB7BubF8c7Ar0C3kA=cUGyB5Z&k z${(PkYQHZf#U`VbkL)u?v~yWLJvvjbuwVYEUnHY=`cwV0-{dpDH!iX&7DK8dH)kQb zcLeee$J*&H9HnT=k<$Jcq{v8u{MbkbI72Mv7AKL2?Nbj}RKsnE{U67CW;i+VWwx4k zzjTObcmZNv;t)!C7ch^-7X0*edvEE#R5Q#f!|a6QNWdqx86zGCqe$}zA3gc{!8M^*U$5EA0Le#MQuI!2uU-8!W*PGL7Gk|u3bboJOV8&EBjs3@Hl3V` z-7eSe+~h*-nRvYP#eUBf5gi%Yd#1J|tp)O@uJDfGFc{lt`Hds?rkb{7&JeU$DQzLd z(7K%mH5>=6gLV2Dg_B)S)5tRkmDnj~EeC;-ju;A|FaG#qd>+R6#I}G?({*og6WEsz z0XF?zIR#x6rK(kHO$%azS+I~!FKYiLinJ=JzG?wjE~4SkeT{ZzU=l9=>|#$)BX)Jx z+JvGTLd-LsPGoUGhDBM$?IG_O4Tf(CrLYXH+OvJxVSk52GQDx@L=qlVuPsLX*2GL< z1t$-gbZtK$ngR{SwxfBjx|MKB>jI^5)j73NQvkR)Mpy6seA)kN z9KSVr9K-n_o{F*-=ZzzE6!7vNf?dK9_VkObDw{XO7uX~5@VhwNJi?4NOuGXVxXUNt5pNYkfHz1MG$Pz3IEs1VC}tWZ=B0aFKSWl52Xy2TXw z5m$YAXQ&YM$9}DCHJ;gu-fiC%_y764l4v|ACXQ$G%3(yeTKQ?R;Kr>e%Li4#&0uqf zdwI>j4p#TrnpfRt3lm-K1+~yT7o7MTtk#JK+rsJhmu@Sfg_OA0#V5_U$0r+gREP!! zI%!)0Q(j$r$1cCXyWFFdUz5YkU0PTM*E zklS$ASCpFF$rDEeGvZsRt{YXnc6vlvJArYl2af0+VrtV89&VqCET0T-!Z#yCD8bAa zsRW?sRPT=--5IK;z9NsNm&C;5_*aSr@h|49rx+h?=UUrx@Mh}X|2_yjxEl7Od3K^p zDm0Ejd-gOLpnh0|>~JEy7R<~NP`Vo|Oe7j(`-ku5{`)Z%2uHRqZxHTa$To{}73S+d z$1NnXvV|<|L~Y&(ym>}v{J6^8=`Nuu%~|?MFS~To0-(_a@r(Dg>;XRaJfg%*CH|&3 z0QEz%QmJ8Y<@qWGJ7%J^X}VAaP2G^Zyu&`-zvC|t`>>A4H#H=|jUdRjFp~j~c^ZAj zJ9k)ciqzPl53t66y)wLbw%(bE2v?*CjWBvg=O zl1`RbGJg@M97u6T{j=}=n$AddEd4jn-A-?=_+FjA9MdH#Fy*7(l`P8(_S_uUS?4>B zHh&EF=N?HMIMfG!-b4zD_c{?zcWbfg?((x;_l1@}u>rmA3o! zdG9-1Q1P_3889_AhlzV`M@zi}-&rpDQ^EY0={hrTC8@>7iuzfUT^2Owt z9T}!?Z5&ZLsf1oKnaYO-u-|+I5S&tGAu`vjYu??_LhnprnJl&$oDXE57*OZP6@gD> zYl;_QQdCJ@3>bpMKXyfg<&^|pAzO(%l4ybfq^AN}_!%>Vn8@)kOHH7Emn z^Z1LzHBhPhZz)9e3c1&)*sbKyUz703_CcWsF4@Jrvic zpn5HT=1c!Tm3YuA{5cifLg##^L1Orr0H5^IBp5dOj^9-+`n#b`QU3fmB+l5e`+u|6 z)}1$Q!c&Spi_{d)3=91t6|$WJ+cS+M+V7LKjY~9CcPtD@9o90V`-0)m9lblkLE8?5HqLU}#~G6!2N+G9K0YxeJ$ zfW>I|?_B*e0P4$U6IJVvM9Df<{IRC^P!sEc)73(Ws*#2r*cBDw=uuWJ@KJEX%PD+g zv_e430-WXtk}#`4ruN$jcldsGf|#Aaty z`>Lw${DVn73KgH?0R}YkTuhuZlX19(&;0^A67Knj%8?|04im;ec}SQ2z9r1RCG zAV(zM2dg@@*Cb82H?b)Zec#l|(gHe`#(23**D?>a7Wf=D$t7Q^=AYe;wcY5WMEq6AQrFw(%~8b50C(sx5!8h zM&8?v&~_7k@aF>EBYGm5$6b1Wju~s;fHVqS3EHn3c20sTfjM98Pq9ScET5tg)KQHI zD#(Z?4&-D0HU`c2)$>85!XAQ8hcQo@Fw5j8(KLZPa_h82cDj;{x%9^shf9nmg#9Ih z*JUQu@l{B^FPp)$axYWwE&_i)1N3F~;WNIJ(TR}>Z&YDZOHMuB&W`YsfK%n zOj_zhS9FJ6Jer^M*Jj7t3XDv^iye3{jKa0;v4u`Q1bg0T$-y*}l6$ioBtbmu9u zVW8)$>D#mx9$H*e&UpjjMsiNN{WLpbrRX~s)+rMHzp5<-D-x$uWIEAM5p-S5TAyJN z2vQZV?e!?&s~)X_iD9U`L-G|tZwv-Xa1SuPa|Ue$90;l|A3n#`;$rJ9;DF5rB=@U~8fR%3?gHR@Ao3_Ip7X9UOJ)L+N>^MoJ|7 zqQ4vmHs(baKlwz&>nRo-*P-K+C~=r7w&FR1v?5}Cqr(7J+^`#2L8mS#Dam)GB0o%W zr7jolmXpQlgHp+R$Eh_MzC8RP0Ogks)LOv#BVU9N>NGCguZP%O(mSOMa!E-7odR@m zS%x6?@C7IScFPbk`H@G>8UAGWeRl4IXsX+1KXOhKe)4{{# zEhi#ri^h57blg|H?K9gS62PoUG_d&D84DNSf0W2K*IuK#Cr*2#!Q6O>km~$XUo)v6 zWFq+QD!Qv z+f}HlG1p=GSlB`tceT1!*=P4J1rQn9^QX}3&1@ic49EJhufS(+ zX1*x~=!M@%%6w6?DCrRttDHrFKQM87Ysy#pXn2sAt3Kzn8kYgctCba@)GQr5;BVvz zO8WkOF6Sc-v*4A0x;jU>rf5imopR`56ISevS#P>0NpicCK1xgFn$a~bkb)5W`;JVu zt8kVoj7tuip3=9;zH5EYZ0m_xT!+?{v+P{Kt%9Q!H@yGUh}RmT z?)qY8L^5;{=+wB-j#R&0;ju7QOg$pBxr8FWjb2s z+n8#14NfipyFlruZnrUwCveQZ&O71?=}k%z`ePORpB<=J^b4B+2x3ao5B!SiRHW0p zaqfkClo#Q}SGt#0r`o-VTt-yEG_72IVc4ONkZTqzfU_IYjuQ1y8r?NI*#wnsMPw76 z6l}0|+r4wzx(&lyH8;JRIwt@vu={>rJoncNJCJWxnpK6~5x&gm^ZnpQ_Bd&1kiI$c zb)zEaotE72@n*0~#Ld8{WJ1OqjC#^aZ#{o|1!CgQZyt_V_i}_Z;_jm(<0l}M!2aGA z<>Zq_v~PoUeT|Jyg+(!)z&7Fa1}Xj0m!pQWBE{ zshL!(2&ZnmmHmAWvi%f!$2v>4yg23QU~RVR)O6l|y3oF`qP8{f~|}-KsEGYvrxl1hl~~rM4H3TFwsTm(^42N51XW49?Q?-$Nk_1Ks|Xg~BQd z=R3CJ%4ooKj?;=1fP2abk8_<0S&m%Piw)45i1RD>Hwn{Qa<>tyGRP0;nO*91<0;oB zc%(07&yR5(IrTI)St`KB=@_Tg#G6?UbgDyLN}sdWEzjYE!PY6jkhuy@d7&d(IKr4V z1uXR0Cp-x|!8d_Cu{th4uE1^lt|9~8)FGgjLHRqX7scTL^;wT;S@+9VYmuANP@}-? ztLx;5tdaJ!Fq4LTg!X9bhqf7jTz@nngggSwKu5M~7O$nPFdhAey+_rRq~j{Z(4D>{ z^EB)rOBgo4cH_NgG78I>MfDm&fHzYN1wQ)sn)hf@C+Nmv3j7jM1#CBJwsIW={a|oV zX_#rgXOan0qr_Y>;K8&_QQV6}uo3m?P?udcSgJ9){eXd8qacttGhvbLcRH$4q|o|! z){vc=l9n9ny!r!QfV5|Yw)asF=pXQFb}}aZXTPW% z6h`~^&^j1bBiYPJRL%ciOiYT<_#C)3t?6Pd2sF#VawjRzW%zP|&&a0m=pE1qQZU!f zaqh*|%ihZx51qe3DK}hb7N$ZV<1JzXb6$2rbDm2jsbH(8Hj`!;jV43UP@?slMqzu^ zLwEBP*6XN@%m9~qQd=ML4bCLoRZLf094&mzkfx>6?SEKD(H;lPD;7}O`LTZK>8NuH zjh%_A;U^qEKgzlf^M_*kUe5v0tsKN2Q|hn5+9Yu(a=h!g~FsN`{EEjG4%8^QUk4L3QUv6k3?to(UGSd^k); z*cT;Oqw(X;wXr@+S97M-?Jx(jUWIm zYiF350hDUbIcwU#$ByS3AKDo%OLZ!6`*&92Pg@6;O}`*HIVzM%?Vj$DN6~_Oo1|I= zddade}Lbm%>~VwN|%0PnEj1|SNr!Wf%fx6fSdb*g-#xh zw}GADJ&y3d}@Bv83m+utw?XE@Q7<%~gIMez$cRIo_6^W}F~$y^*m< zcEXi1Wn1uJ$A2G96x6^|Nv3MjYQJ@X)aK9*oOAQ0#=6HI4oRh`KI54IAPN|5Gh>cF zBAOk1kapjV^Sq-!0oQ)lDKc{Xo|Ji?@=i5)fqd$b)`*6`{iK2xTa;=r8p7eB0n`L< z7s*yV<|Vd;kX4pWy4+5HCzdSG2km^!wf6;9my7)Dw+G)4_L1!~yqTacbjh=^?~1NO z5ONir<;{dCoglJ}%gZ5N$9Ag2nvCdy!(At^J)ens>&ZE5r6ug-9PF7V`#672ygOF# z`8;dQ%xxm`H>%3&r=p0Fi}`jV)TH$9UPw{!v?<;;0+BuFW#WBMK)HW@{Fpiz+bATt zfqb*`n#$pbT>z|fC}$?Xt6N7di(JS@^XRn_uGl8CIRlFX#yCsG1MLrlm5E48d+ERX zOy^dG4Gaw}z&k%e2^|9jmL(Zb~1+ zlUhYf&a`%v_*8Uf+(DxM^+|#T6zEk5HM-cwS0i{QH{H#|c~n%5pSgV?_4kT#jn>x} zK;*3eCPA7XrQKf$@>2BpeS4AiLGwaT$&% z;EJ#?}ZTVaSkU%0MgA* zKwuUOsE`%g8RRQpqIHCRdeh7_t9IvP-puam9i5pisRM5`G0j}!DlZTa7eE={r?AR| zz4X?0(>YRMZr__Eva*7(VAxw_=;^OxlZcwSwu&rUcdK*k~vur+cLfEEc; z_OoEW+MYtR^=h22`*gRLQ>|dFy^9gHzsocK^)bG7oH6;CcESWGn|bkT`R1844L#0`dLkCCnVigX}!vO zNE$cJ#fUC7sCRF@==?mVVp51$vr}mtgUo79O3-;WtW3fb=Run>iQ0^BMm5fOq)wuD z|38+vYb+?DB3>zh+Po^M+y*?$sHv|~|0_M^j{gPAhd1uHlD_*oBQQjW?c!J*K#jr; zcFGy=>q7U)Y$mnhV_$0W^B#A-J?y&%-aka!>%yRP6>)GilO-YiMuJlxG`V}%u3Gr> z)tyBbX_j`$+r%XQE%NCdP}5E{kVi-mAsa)MlTNPqamRbiq$J=$i=>;s&i#caCt z5#sFy)?0MO2`sm>6bL7(3$v&0uULc~j2-5`^pPEvm8Bcu{Dj;`l?VD{H&^$^3J8bv z3w7BRKhf+$Zxi?15tL)neS>fj(;D7_pdupsSM7dzw0sq0H7BHA(&Y+SOSF|;cCE;- zMCB+2n;(u96mEw2uoV32*6$<)zUq|cK2#|{V2R5LaEv~-G!id{BYD~k?~brzgF#=C zGM8tbfwE8JE0M0lFOm*9BW6_YN!2jJw~(+nVVs4oq2ay#jhh%~u?dzYE$ioxpbBEX z8#S~uILn(XzUn#Tf|Y;i>%dEOC@g+&Y-z}6Q~3qTITV9O=ImW}#^VrAN-9YCHOgzA zre73Ryx$Dorw}bEl5Us*?QJ^DAJPDQYIJ}CJ{o#avJ7s?tSr3@4)_7IZoXP;!tN+x| zq>(p2eAeoD-e|oN;I>)~T?pwG0YH}{t<+h}v^Fbn%?&~r!)n0FQ!<`{*{d<=;Ni@M zHY31Mp&J+oD{3ADoQBG~5z7Mdw5qx%^4NcW(LE{OEt)dY2E8G|7#$PyQ#<*i5W=ec z4gN>i{se-YdadUF6gqC(Hzd-Wx@9#rGylpmG2+k4uG4N!S!cWsVz%ziYF+}ggCehO z&lBUcBPw$)5O56x?JB#ID@LU-PR*o}jyj#}hkho5$Nu3z+1DydMKZ~;8U@niYQBOl^S4Fhq;CG)jU2AsJ+N0BWLTv?Q`;8f zqy`6puA9t~J30KDU|d!DSLaf}|Bk#s(3oPc2XL(HxfN(D>vML}j6y_^D;88y&Ee)~gel<5NOAH&+1k6KW z@|M=h#|W^xp%rBBZ$aK8 z`k*hI4<=3106>{}_J?6m&%*Wf?*^sxLPQVrvIS1NPnO9S!7BZq%>G%fr>(uiIlk8} z_9cK6OFr{jb;{dU#|xo&fcz_T6WA=GZ_N4eihmQ{l&3$?wBnlfj$Cn$hoqhg{tJFi0 zxW2viv*0Dr4Xm9X4sRDzo{O|5eFGpG&+5yJf$IBjr$t{=4>iy|$^U5k*>l#AYvixy zXRkKTz>GzgerIkM%-sBC6hUT-)OFhY1fG5HJ-3^S15HZoyMeszb)91~G8TlIYk3uZ zJykug_OzVNok`8h*rn>W;4y+nYDzI7Bu=90o?y`buAK5-=nAu1<-^KgB5F^;B6fl8 zKhH8lFoge42FEj*i>vbkp_c@Jv#~PEBh)vk(w$DK?WjV4y=9fm=9r7J5 zf#o{atNxH;14%*k6WiTuo2`n4i>$R&`iXgO@bSo%-0{mS1;aqt%jc>;nJv&;Sq%P5 zr{;mCZ;y++2K}<3av$oZ7D&Ws)Vj}!=gqS~gh?syR*BXM|9X;}t9GiK#Dy9) z8JKQ^FVaVfZs_sR2ALYeFK6KI;sZ~^&MOD_mys2dBRC;I9`d8#!lI?Tp98{N<(h|) zDx(LbJa(UFy&>bH_l7_EzraEHA#bvozakkPA996b;3>?+qELx?`28Pov@<`9h>4H! zI49!QodKVZg-(rr`5eW5Ta~MY4IBNeV5Mo4xelooSfFLyAa}|7W^cZg;+5rfz!Z8C z5y~yy@3Uk>r}??WjkP{NKOM(~xJPpK2TT-@(GsuW79AqkMEC|yqy2V#>Pe6fvh^u> z0W}ihWFwp?p5Q!>AgOiwJD=wORkV{H-0E=;Uer{RERTRF~1DtMr2)- z(7^S8J)7=#|93G`(dO$eg>V7nSe1J4P?aqwNwW)2bJNS&aK769bf)H4qd`Ec>VpKF zRCFpI=`@q6ALyXSdo+Ml>4ihnijkw6PlBncZj?Ivf!5*0F?+&bKjzpD zuEb3N9miZxF0u0Zb95ER?x}PIMrN$puSERxm@*tsUl0+wV%XJ7?!c~AX^D6rAz*L& z1BS)ZiJA!;+m%$~^<_WU3*ZJZB_x5K2S4ljHu551f1 zsuI}JhEDTNYArv8!S|$?^6UY;gWz@^nMlr>-4f-f!25e?6Vho#( z+AB^%5jYg@7a#>tqJUyKoZ{58~??X+wiTM+l47e?|L{+HT!tp%8nHA`V5(V^c#+DMv}eS%+Tx;+S6 z75;4T{t&YpfzLLd+`cI;^WSI_Xr7ZhiBtp!EjM2>$n7cThM{SSR{96L{?>tl7C;>k z{F)m2{c_o>JUd8K+|y3SbXmldR*>ypkjNOnVPyn0+PJ#fEXmmIINfO^y@U{S$~ zi8_b&Nb)YQ!Eao%?cDa)-Tm%~-wn=M?VefJQ10v=AyrBa9Kk7HXd#@6JT2pVlfn@) zg&rRs=8E@XYJimg`IGtY$(`qS-I}77tb_&b@{u&3zYBEz={C0tklpyWlBk6tMzkA5 zW~Lpzq1dyw^r)F_Jwt+#8eW?VCSOi^&o}9Az6o z_v-=8$9HypM@799#Fyp+F4qH3g+K8@ezJq*o`Q64;22o(BhRG1YG?~rotc`#tPszA zZw(iFPG@)z2P^ek+MSOJp!W3g*^R?^IRDj)cM&178nMya)*;bfP<>lCFy9T!W~AyN zO&-sCX=6b`TXy{EWP-zUw5Zu8&_s>TI1Wi(`Eb`_y|`H>axh_e^ga~ty8UPGWtlj& z?{y;fMGnhkXhrm>@O5>neh8%=Q$cG3C21~k$>=;<#)Vu`%Ygs&ORHMfc7`%@Sp;O7 zk$$>8yaf0|rWEDBtn^jnD_QmzFKe+l6u*Ux#5hi6UpbkC2oqwbzf&)~A5>VKpMAAv z3u;mcZ$5|}I2Q^99Ml5i`zpi5hlj`C*PRM~hnu?7{o~m#zSJ>*zE$z!h}N}o?u(5U zkgvMy3C+t3JZ$+*_C=?((YFRsDhy=*xOCe}${7AFU@WQGR`Jjt@sClyH`&m(pt``; z4l-N#CpPhYmQe4;psQ;?JXQO%j0>|4PP}CC)I~2efLE+Vd8cfH z?jYgI^(PyCIm4Cso9O){&i<1nC){g5AYkcILdj*zeH=Lbzr z--R%Jur=I8Zdu|f)^3^>2-zbD;`mMu<4-DvCSPd3Pm73JN#Md`Kqg0TEoygMk+oyw zL>i!;%AyC4#>7I%Z)IauZ<8;%Dz%Bq{by1cn%6jX*D1%SN2!*d8awdmqa^OOe0i3L zKx*jS8_R)(B{fc#SiG}4`E_|Xhb4Fv%@$x?szmL}b(X#otIUjMEJ+@w_pi*Q-j3n< z%-{NF7Rtst8*C{YYE{IcYU44OS7yZ%!1`xasaA9sB(B%p6T+u{1Ryup$>Upsub(c zXM0*@FKKm~@z*~OqwL8YVJ}?`e>>KhoOk8^KmJun3!-$U=g0fn|0}+#v2hN}rD$X< zU0N;V7>?m1TW+Y$xtZdf;oE@#yq})?0;V2CO0H z3dp`nP;TR+ij0w61d{3t?Y!wwL6L{hMgxCth%qa9H#*bzH|@w^2D3JTSh^>ADFR){ zk?w?g;5BKRB6T%VMTk$}>uNP7!2wnOg|%-qFg8OT5eYvdSM=gi6osQSR!4-Sd%~ zMZXHQ#w$!=g)V0CeMJ9}eY)AW|&+k&Zl>rd=y*K1{u zWlu`#rA`Zf4g#r3-OhnBT3d)+8nLSGN1AM*9!plNAciezsr>#xNHiP)m- z$hIobMOshY)S_PBtt)f%I1LyTi-#qw;At62)JNK31?TEY)8fE@?>F6(#rGWXERw&c zC`$4X#7ERE2{>gPqs%Rj_+nhEMfzK&NOb`*LdR_>*MS2zd98)WWmgeH2^6c!YI|?B z186?IAQJFrmHdfVXI~n;4Nf#Wv@5!xX6yBpvcjojwS**sd6xS%f4aSF9T8rl<;I() zY*zlzh)2iLM`9?1ol?#%w}7fkA4v|ITCR+xlR;MYrAU$@B0AmOQtq$^W%!ngN3YtP zMm73dotY?B)zmj1s49AYGF_yiI==ons4_NTXf&8`FPq=~>$ihL=(fZ*+CYB|g`vUk z^hyn+Gg7SX9SE_h_vnh>mOup^U$p2-ogL;WIhP0K7h4n_CxtiT{ZX z=Pe@Y+WOC{mJFzdEyZ&&pS;(#O@7bPiz<)I;M&KJxUxpr?@_Blj7i6MdpRMwJFt6Q*LMyWp z@)7YxFUIpNy!>CiujG9w`W#C~_&V>bgD_s>WAZJ^Bds1Z0{V5gpY%u9bbAczlr6y= z#>bVLL3Swix>?;tCp2{I3)+=VU#Su1;2lz3sQy7CKY=UpkNxUpL<>HTat0famySz@ z4`D^@g*T4-x6YY4wg5UI<8x-4Z+)x$VKVEGmss2TA?w@G*eUa|iTQ<4?$-w0Nf@`^ylapnq3yW# zPbpYJnRZB^!_bo5dei&P@=AJ-qbzYFr1$^dylzDySK+MQ1nKnjbh;=1wtEDc6*4-R z*ki^IC!JNx`zBl6?GDPAR72T+Wf=RSrA_-7xpC6K!>yvR zF!Wwq@^#3o*Y7**#a{44KvoUXMIJyP2uMa!O!Y0L&krb~UTe|n)8V_qOW)Hhe%W^1 zHw+~8{^OtHm0TBr7>>+Vh4|aEz;5seNn}tMA9se(RGyE7>;qYB)E0T24_5K-r(7Xy zNcL$)ww~*Y+Y{R5UwxP<;?<%D%(GaGNKm3~*gyDc{})Sr_^u zk7>%uygUZpPCgH>c1&$?ZKiluNwQw(-g2*g< zC($<%StQmM(YEO+m?w0{u*Z8$`zi-<-EH!|p^7V&C4V!`AwG~U2miz0+vX~(U59Yt z;10vym7}K%1ES}(|3ing9o{g2nA(bZwOB7_Ps7_BCI7d4EsIS=tZ-^vL2*6Z7j2@! z#7|UCBFI#FR-4NE1U25jB_r%)*bR6H@CJaG_V-~qaPEf%WgT}+eWxo^J*KY3FKb=_ zblh52=hgjKhS~)R8(7sAUBDHw8fP?+f#gHiJvsnvdeL-OVi z*J&;M?3knZ>(DP|fmqH@kGutct~e@C3n`=C!Q{s3!R!RE@97JAm%LT}l*GP&aBinq z%*?I}V}asoVF@3h1t2O;-oDAsAmqn8GnjnLG`Y04O`jwY@gA<24$i-?GTT1K`f zK{#L7XE_S{#<%A9HR_gN>ZP&4FA~hRa)0UegmEE2u8%7cHvCP%eVQlXq805bpO|8) zn2pm~!jBdX&E(d+J5r;zK5uBbrms31C@|N(0h3u94 zzLS~R>*v!}&Ng;VOK{1-m~ETUpJ3`diXRkC#H!dnPdLo|Hfpxb=0VKRp>wU*Tnq8HW{FAb5BHx>N z$_Hsoq5RBbkO&=l-8~_ZWo~mawdT9(I-I=r^QsLMHn6SR|A`#DB(9+#)QljkTem{H zkIp;8@|OF7xX;3Z*^UZH)C(Bogdwt;O?tai%`#&YpYtH1m!3YBBd-p6v}vm+$oi)x zbX>f7c=&wmGM;bVL{-JXZ?pUC< zt}STZgTj66y<|&+Y>?<8|LK$5P}1#e(=i}*MxB)THG9&gc?!JST@|kgnH8x{7Bdca z`$&(wVexhwaXI-+LLT=Ma;WG@lpX3deyI)8Q49B%RP=A*yaf%Sv+U)x^mbiF1>ZyK z_CSQ!NTin6h;83&SCA=@72M*=N4#;>Zlzkz+o;Zy4y_2|+&WwE&3b!-JN#WMbKa9m zSS#jRElXDD*W!$~BH-4$6GL7{(F+C_N5c(_N(y_2%r2AL#I>EAR6&~Q>1%*F)Wy9? zj-?>W)w3<@4cm(%V-gVfAmjOI(@$}pBCqICP@(*9|wTAvWtF z4zH0m#FVJ*6Cc)I`{GuN9PO-nj6S*-sipUH>=B(^VGo6DaD9t&bqfu;{S#hq2exYL z^H$6tKIkT0wJ83cH0CB`FCqWp6Z{=5hSci&e`yG%oGLZWqluPFlVEAW5pS5^&1DSv+p^r-EDXZmpRQEFq|zsMzMkD; z#=Ye3$|$Z+%!Ojk=*yO*E?}O&x6YfAq?U-EIH5tp2cdOf3r>RJ-v6Q^v3UewWvmHc zcz~EZU`cmNOebYXpT-}YtM;lWY004on@A8KkUp+?3TlDoHMtR2OCrIex*n*aB?WR| z>Y203G5KA3r`~V`YOw*NRp~KIQO#QomI_IGqsDAH7Ado2fa6oxH;73X6iGtW=3!rWogSvjhYV*dEQQlaw_u zG-nwZ1MOpOYDmI1De`6T^g|V&$t8Uk7#h3L{_vL}0mf3fCpbw_ecln|z*Lx%kZsfv+MHOgmDy{}W4?~_7D-2_G6a^uFc;29RaXu$uz zP2Q=ggRwlTB=FZ0=Nh>O3Bs84i;>~BdM%?D`Wv3p$o5UE$uv4_S`^#@>J z6O&1Vdho-UQ)k z46C=~w}(0o-Pg4>3TqhJIPqXTG+O9B!YU|ysb6epp1KL!kg`L1)>hU{XblAHT73Bl z^UFJ6CbcPL9oNQn>9NZDoc!bO$=qgbd0UIgKN=NcBCXE@6!iZ7?y+=)$nAXPIxypp z*XZWw6}LGsrK;uQ(ki+$S%v9zLzVAIiGL6OY*_r5zA2p`zc)7z2NR2&?0f|XWiw?q zVEYHzF}>?JcK?i&$+=Bbn6m|PjV~n$9{q;xe9hfm1YoFA66>gMoWxQM4P8mEIN9M` zC>@)WZ#4JB8X^R#P)avG3!+D&Gaa6}!%8t<3T=PJ?*8Wflp-Y-lC6zA=0~oZrI{;D zZF5*ie&f26U;>9SPuAW(K8kvp6q&w@v8StEgkQKdrcrk z1!=ybxtO}bx3+b~P=!agBl@ENXkE&}+q|DzGFn+pjYK-97z2siEVM^gxCfJ+;%SKU zJ(aPMi`G){47;+zWHj-Hsj_BjOvSW9bhVfwrfvR93&SSM!=J$9Q(q!C4bjryJS?lX zw7^DeB)DGj9$Z=>u)97%=7Wj#Fd#4DDWa?rhaMGyP^o|^M?LaErF{s{wsP5Ng=tGByj1_P7s+8lhJ&9gj~W-#``WaC2+XN-kv>Xvt|} zT$crQkheB9y;~4X%Oa_K_F0#+qVWwBYoY+ImfQwT>pbF=%)&rM<`Tpd__40FIKcv? zOG%I(Zxw!vi#zo6!k8w;&UpE_WT~?Dt}iVFdNb4cr1j=krD_O4^czPiQ#3Ervu9ZKW1|)B<1iW;Thy8ftnyGAcoGf+w$O@b)Mio6f8OX02D=j#Nj;WR+r44e&Y3wji6U4Nt633aGS- zV{>Y}9XnfRqYEV5A4Wu|foqfuT#RLW>Wg=wJR`{5(;L^v4mgZChi=QJH*xyMrto8(k z;;0RpS`wP1hcAr#eg0mO)$G@-#&1~x$bSt?SVj;S37y0X|EhhCF z^d4h%>zg7nRlc^|bNt1oKFE2>absHRap(rm3(Yb~<7c={*|(#J)YpsSi(^a0r|y7H zLvKrhdge8SLUcJ4SF5q7eCDDgc@Z;aKw2jMwVpRvNQ14TMvtdK^y_!E(wx@=yqFta z>izL)(<1UHY{2~(B=+@rl1&eves;flq7|f{;NzE;d`j5qNLV4q5ofX_PN8UwF=mTF z60@8$=#dp${*`C-Jm*8W>WA)r2Dr8nBeOl}qA|Z#xi^#8&^H+#Ohv3L-A1VK~2*`HpVw}1>Xt>?#cpUJQ3EU|-r({(RiMU!}~UR(oDOwjAe<-1TSUxto^ zxG3jA-b@WhUDP7#OizU1ms?IH`|CS!kFN7;is3Y)&2NX5^zbR0ex52>74${Vi@noY z=_q-&YkO(U%!KNs4}dADQa~nV9;D^)@x1q3k(1lWd*k*w`gAl^IlQDUHSHPi4doiDCU123ycAz_BauBcICUV%u!sJ+6oM7q zUkPk{0It$WZ0N{+sWant{FvLk-=22CsHGDFK2e0DnjdlMNJAqiVIonI`|>or7gUeo`-a5VK>zD#wxFQMWbHHg46<~@Fb0vRy_;QHwQTfM*RZ)-e zZGB7(|Fu{7ul9^ZE)R$|a`wQNPPS9~$<_z)7Jx<+w`drgW7xcoJ5gS2GOLFgSv}n=O`I568q0w={$Obu-Uo09Q-Q0Gy8Bk?TI}Y#@~0P|W6*mJs}cKZ z>V2GM*F@aOL?rRn03VTF+0z)_zrb$gm}YGAw8w2@$yrJA0p%+P5kb#;_wi85Z(kz^ zh{srdtP=CU@bPO(J_Y%2uWmCoi1N`f2mh6?4?5><(7d>da#Ia+7g@K%34>LIv8U<5 z*6)D$?5~$X&o$J!R@#m13Wdn%y|nxNor>&HSJJmr;i?QW>o7?Jn0zx8k%jpleRD84 z?W{L7d_e#@GASoUyU*NU1h02!MN7JA{gc_ z8d@;zxoK)}Ths~(=%Bot4+Em3d0~sFi<6`W(=ZTQ2p^UBidx1=HxudFZ_|xf{(0Qe4l0uz!t&m)LN4R4@CUYiGJ^A~#S#=jD2jRs;@rWC z;n}eMj`y`m65Wfqk$Lf2$k3|FNjO&&jUE*qpPu;n=Q_rnlo^WE_1N(4sI>g6pzq-% zxO~iKriu2NedZxWdSft|{stYokNixM(>X_2Api}m9>8qM5e_Q~D=C}Hm!{pfO{?e3 z*T_xk7Z$O)H6LrYL<*NucYo6lv1!}K`_1@L9!G5pw}!0u><+l_kY;jYNn!}Oe}*-a zR-pBt4L^i@hDOv@r!)}qdx%@I)c2)$rW^?z-OFqjGpG|NEKko#h$};g(feEcQk{zwbt}I(KFzR8~Tcq+>9fmZwy!8F-g=$ zcGgrJs-ACexOMS%8}KLc6BQ>X_?hzqg4n3ZS{n?LkJf69Y$HKSOsxoB=r@fr|P}> zy5ESH(!j2NSJ^E=$#uHVplQ*J9i^`Gq2_w7ARPSqpFeWm@QUd}cU9x?nb>iF-h?dy zP-3W%-uc$SFw5&PGryPp0IwT>afuQB4K^kf(0C3>OfD=k2YjB6^gcBmP8nv^)Wqg? z9FB8)!FTZt%~^OLeG8mF)NI9U!f0@Y$mOl9qNPY`mW5DJu9-Jj-?(5AWf& zsoOz>O2TfW7_Auz0Io|>bjNLT@dIa8*9&~@C z|I%r54^3g;Nwf0e*{OTMtM4|(K-@}{!tmq><89rLx#4iJz8z00fIRvOg+a?&2=t;q z*b7Bq$vAKtMseiOAJs~2vz*wp6b+MfHotTy&+GAa$4~G}&-~y|>g+b8gUbtg(oobK z`NY6HmdGX6SD-k272Fwkd;#y3QSh`VF^X=ucn)}}Hu_QFPT-AbV4FLZn5h03(6f*A}EZ*5Sj19nAAR}-x!qgKu z>y#|)g2HaiJsyB$4d1rCi8huKT6W_~M5v9(uyu+KAy|$GBK$JUwDlQLebyW6oG~$) zrwsy3@fsc3=2bMHBbBg(jfHn5f>hGXegyizEt!|91T&*rqq4UgLKCOMu9eCJsW2_g8%x`d7|77;3urkSpolVbj&)y~}c7*R7I;zOpJvhif zSoa@%D!fD@b4!nbLXLLDzG6z3V}XJ6+tYeIkJ~S2eL!|15m_QcQnmvjW^#TCc~m-l zIj$f}>xVAOy=tbDM)20{M^1I^+NOIm1n(Z2)iP%M75})2&Voq3sYZg<$P_}tCm(Co z1+RXs3)fMHzDC^G`R-mS;|@+(c}uS?{GIsPjv_d*>UeC!XUu6rO*gQ%@2JZNRSV1S z^BPnYVJK;WXADcE6Akz4gxTdvYquXoDA=hZ-@z$$BwH;;vUNMYPp$FAaWEKf*-RMB zXuMu%+Bt}ztl$f%%-i=A`2^^9D28#{-S^5}$ZU3YkjLNv-jiDxfUUO_Q0EEL+an7% zCQqIJ;;@X`#2DQ(;|IwhADWhUS1w&7M*dY>i@w*+XMt~$#sv=>H}2N2m&l!=k_nMi z`J%EBr`Wed0PTFp9TD>njof8n3Z@_d4V}PEuIWL8xaBpWIwOgJVq&}Swy5-Dh}G^6 zK2q2(6|Tww8Z~0+mp1`$X`v{08n9Mnf96n_MBKvzz_vDH99|{4KIXZ4zF6>kp91HH znQc%xm=*21EQ>FTu~4ke`T=>kjUSXghvbXk4Zo$WqP;N{N7jemMez@{iOTFRs}Eex2uMAv*S-COV7-RPL~dQV`jrG~K{KCc{1)V=X&^kp z3uk;pojynp{JTbHVE1LyDCkD4sSVV?JBSKk)474uh5H5UE#ZWlbVh_)ArZv<-L@iT zkYQkYJxK^b&D3Q9A1omBsgC_U3@A(}LDE2ix>I8SB}szoAGGuCmy`QTddra3aq>R& zIDvI(`el{9B@5XQ8hQd{AEp-2bo%qxDg?fm0YnrwFxW#@4@t zbZK`a!i%|>W>l5akb9)cDJ(#ql98O~Ay}<@LScC;Uv91CZ@Jg$wZYgdm-tj;Bd#l8 zV7YOw++Z2Ue*ptj4);1Z$ z0TLWwS0ta6&i07~^&xt14C13XS4uszSMNUdVpG!s$6QZpTJm+Bb_e5w1N7ok@2wc! zPhhX|XK48k*2cy(kdymrn0L{SLmPr#E`r#~3fzpSNO0mz3A5>C6<`Be;Vam@Ii9|7 zJj2*kLa9np;ssO1rMA3z`8iyHIH;mwwd_~CjAa6;UeTA_oZ;F{iv}>A=R}4PLB2ok z04}Wa#}r~LUivxhY=~`Mb2(a^j5un@yl7VG%yDst@@6g0stXw;4JdX_X5*?yx%V@B zWgFV7H;q|LzcXt4!MCgELL0XK8|H!}&3*a9K@_z2A>|u&^+b`t3_IIZ@cbkdDMCZ)f~o>(<2}^ec)JAv zu3>a?Qh{9TkpK63qOn_-*8Ccdzi)&Po=il&;P}!7M{w`u;3S;t(ECAT8D(u?bOf~~ zGgNZ}f*+2{7Ht%IFjuBL%U=kZFzX4xXSU@HElB+Px!j=mvM^F>zIa|^^|!k$ssc#r zjUJyP=a!tKY*dmX^CMj=lmbT{jCTS!C&>r*Ys+t{bRM6Xj*k~@(5^3d2R$oakQ%4! zzI*_oFKwNa{x`ztH>RN5yQEUd=4&qXC!It{>fpV4{`y6YSO$P+F=t>@{4dTBu1q-A zZ8t)|9w9&AYJg*Q{Wneof#YN&0od|1RJq_+z=@4RT>O7O>4xxYt$d)TAuTQB=6(STckmT%g3MREA|{!@PJs$vvi36(4uSezqz~D z9A^^L{xfF~pHagR{YJ_M+#rrf2GxoPme25@QMUNjV8`UX7r=e(ylVC=t;bN5*p;bN zPfJtm`ddxuoHT~a`0Y6cEDkv0y_5KV0}Cd$;bdFivE4VXzUg3vuy*L9-Y>qt54*Uf zBaz*Y*(~$_ee65cS{8NgdCh30CvZQWhWhvG*1uK0uK3h2*p6t*aQ(&75{NIyZ)^-f z{UBfL(DBQLQBR2Z-j99<0@o`Qg}4dql?<#%m=CBIu|8-yfM)ew_bm)Jdg~wJ)XDyR z^7c+ROh+kd6jsb~mlLVTD8{eUw0{=~1c7?R@|KM(s5oSEF8TM_1dv_RxvL5ljz3jO zz;RPyI5)i=Z6lcPxpBfsElJa!37z|C$EqQyGb9wTha-h76YSsHc|FwT)t6p?W|Y6|`Tp|G&L+mVn%I>(br|+1_X9ki?VRB=6RRO*~SS zY$iu=bSX(PvQ_>jp5;{yhDV8mVIQ`;-*3S>w-gG^J_Y69vt`L9{761bLf&?ta zz38K1Y?>NLBbBFelBp|Rgoz<*F!Kj8T}j(aWFyXQS{j;>mv#e=Lra{TfWMv3HVlk2 zOx7PgboNFkmzO%>%44=pK9IGNwexLzw;+q3k5%re1O3AiUG9(nt*>Bictp+q%nID3 zqAP6Yn({M3XL{i+oFRI~B&h&;B0RwwD2hh#IY~-%ieqhijD-B5R>Bl}V|BT%@RAro zRDvF8w47qb3VMaL#041{!vGSd_$7uW2o8ZuM`|}sEWJxf-|rKqmJq+c>s6DgWXx|@ zrnxb0owQOF(acdy%z?kAAqVNSta9XVSyj+Y9NI~r#ZQKUJJEYY@IcKmKKV2YtW{B)W@*N5r4&b#%1=9G+;p_6%0kedB^lY`~ z1%{JW@psNWN@2aw1$^YzMouCsoVAVjs$t5eq|Iw5M&5(ZrKVvKFI2q?mnesbw!(9y z8P8yN4QZ9JSiIS*nkBqM!@yVLA0WRR0~VuFpJklsfgL!XW}oN>Agy(n7@+nO6yPU> zWxEgBMHNi94VTtWON(;IfT#t0sTI*}BcfBFBalGsp9J01QqwYT2H6i)1$w19L5WvM zb4>Pn!z~h;D=&ygZ5p{@3(FfEQ=E(P==h=}p?v(i&l|?fQ2+vkc=Bhqhofr)O{?9` zF?#~TYY$+r`z%am!ZwUTx))>tajd#ANzV7p;F&POoy2&k;fg01KDK_$D$+Q~mqVCc z#C^#fkdR;aki5r*GVFYJ?f8xnJ0Q*`0P^gud@aur9*+`sSy=C{Fd23>!2wYsz5 zJs}{9Q^3sr{CjqstMf?oFAMc)U`^BIDMyK4UB?}h3{YHJ1%MGD3~*95?ub>~tX;m0 zv9GP(Mm9D)eDC@CaxM1#exWyn-+AxdTTE4O+{pr6O%jcn%9!H-8wge!g%=JhF*`vy ze|=DM8q(Q_i?93aF9U6$Zu?UJ208pBq3)0~@bFcxmB5}*D7DVoQCZ=8ar(Ap84@|# zQC`NCxO6mxLQ*0&?rUj;%S@jd7dhDo!Zt_IT(;me?VKlUrYR}0jKif#wVoUlTt*`cD3hI@1rJRojzfLE>eC% zNB+uno_~BfQgD;l0tvDNw0^^i_&7b3l2T3_RCT+%DeuUhMAz`bHE&6{i40e^n$@!= zF1~-C9z(`B+pHP8wRf=-Bk+FT)U}|A4hVwaO+<2bwRc#CdarjSWYor;y-GozInJWf zElrXtua9IlrF}QC(B6<|@C#Fi>pIFEw5Mxa|K!WJAviDoOr093b(n-enhwTaA2TWZ zN1a&qreOLl3s&I=|1E0>}DXiQ-dD!=MMO|HPpqED&qEK8@F#K9=vt@LX=ToB8L^r3=7g~2+w90HPh*ElL!o2lw5 ziO)XMeRHvVyjx_bvZ3bWVrzgebgyd$a{`7j0E0$9AV)S}RfXA4ud!MtSL_*cv+l*Z zOM;)!FyS){*Asl&#o{icr%QuQcLnM9bQmQoGWYv=(#2!f>;2mJs2G#wvNt4heFEsg zP{1L&jMIq_cUCc}0nZS_J35UzP@cAwHg7;E!qI>_H7$y27u`K<8`>;&UNQw*wW2^M zMG0P;puOzp4t-+kYO8Zn+GMNgC67n4?}ST@(F%MvV$9*eNdW*%-Cv10-F*dK$_V&H zwpN?J=DPrIm0>rBUQUz0yR!myi$r$K1;`^dXV~q0zu(o7l>S5n`k4wliE9T1$`OaQ z3C9P>^1C7bn#2OszWk!zBBm})I!KedN>FRuf&!6Q0kR7Xmiwx|ygL{9d#z@}J(>O> z35AlEj?9kBQCA_7VBBl$ut=wtj7%4>AkPmazC;wLVtQ$P$4b2Ls?m|o0NDvYpgN`; zKxV3yraaDSdsnG$$fAmJRV0=RA9MgiE#I+#?S@R)edgh-3bYY*;sre!pq@Ft8 z;|Hf zJH`8@8-xvY*^%2A-vMympgs>iBR)_xSVmq^W_d((Or5Gi-u{W#=4}mGDVc}Nx3?LE zpBtI(Cr=KZN)0B8z(W6(6&WbqM@PX3PtC~v_(90N<$>(m!qJtI0YXtXi>(uXs>Ao| zUKErpxUb}%-?ht6ZSik!#_`IV#r*KX?ylC5bDn2eRJTxKbq*W4EU7N>5Q8p;kN~dF2|m4WA$vdjY8j_(XU2Kwz=qAYKA2IT>gZ zo89@1Pyy+o>~K?zGKm;af9xJ%a!msLEVqc%`SBFSM#JI5ac8PwxN4}MM5DA)59Ylyra6YymY4>h!j!)eDt{k!xwis?dy%7G;DeO%)zg#!_KUAp z3sDA)u+D-)KgVv-t;y3ia`MExc4BFXPg-)mO z^;nEJr(?BgQP;VrN{&ds=j)#qrA421TX~mNqX^>{dgt*JV^`wqkE5^>?_kH;iJNYgd9Xrn|xTo34PxD&q?#Kt#j1(-_#f)%{sod!X&2-09 zmi<19zA7xkP`#)mT`)5Nd*w-?Gb0V0gJ1GK_6MEpe~(6@^xRk{!TyG@wz;-^!{y=7 zewnK{A-1&UCB1SJ5YLd7cJMmc?%J5LZX5j0+>*b`O9i`|SVlz7PLXGMM+C@@<~=xJ z%=6VtOCV+O+)3BpD`0TOPB9gnG zb3~Y=zkU*3Q+7{$BHRhDD_2z&ji}5kp&{?lr!y2rrpdvoH)1oEvds$%xMu@g5LM?!@3kw}TVLO4e^$VCUYq_O4u z{3~?~!DLG>K}4E3ACn~KS$^v93Nd(z<&(&M`(!ck0ySPIQ=CqMh$k#p9`g!Cbvp`i z*T7w50?TQbe{YL!n8HOk%!-$}BcrenHcV(kDmKnB2~SSe(7*h^E_pAas_4;dFjk-}iDWRh?T}lAK8k|bS%C%-D1eMmivngf3xIzy&arb_H?-QpKMN4XgjMdzKL zJ>UL(fwVq}qZJcA@`1sn-sW*s7n+RaT6BA2gKNEZeghqI>@}kK@k?9yWI=1FSV~r& z(_@@363t7^iYln6%?=WGP zGM2$bl)61D<}}fGooDw}byD~KlpI!M6Zr5U>pPJ0AF+N6b5(bw-=(!CcdJo#qjt+{ zP$xqgwlX@OHzN=mXHv*J>^fJct}`p&TBQ_yD9nN*#ffO|tJZZJd@8fFoGXf-GnM`C zpZ8+M$IsRq7`FDZYf)MEUe=@+!n&*yh;Wp)0kJQZ?!S-@VH$55P@PX^ZnjMXjoN8w z0Hmns`$NlOhi8ZY18Ko=!omTc*MAw+tJo8ufUwI2O36f&0Au7UjRIz`-Dd?vm$2p! z@WZ_GJ35qqv~-~)8WF)trJKYit95l?S6yC6_9crEq)nr=xOQzvvdsN88U|nTBT=u{ zCUra1{Z;?ru*t(>tmJZ##vFl@nf z!}RhIq03UJ@=sxefybE^*a}jT8+>M0^PVo+kJ#UhZ@tk^*$ox}$zgZYEutmES`kp% ziL9M(WCl`s?%mCTs@~t-h@3dXtkSvB^q-AZD`}&eX09SuVXO1iSeA)=s3%Fw+Y!Np z;4GaCQxQpkFL4{vPDnG=t9rz`Si(S@ah%h|Wyv3&_+n_5^fIsf?@AY5L!9FmJ~c5O zHbU(-@=dl-{h!WG32qrpWNK5u*8qpS(0|ni;iJ5QLYpN6znmTUAm~J-Z?_Zs3&L|- z9$=NE0JJ^oRvNwgFYSNQJc*z%^g{GzUn0-`n*IQ@5{Q$zWQ5?hGi%PhIr3--w7sE9%Y7ODs_S;k#%8MW!Me&>Wf%7M#RWX0)w zODaFB>*wF`4UGk!$b7}Or;OHv?jw-0Fd~bvS?qbo%<-9sC25~KO#V7N(ZdOPLpFRc zLs+s+b~U(YBv zsbh3AOEXs3EAXQI>|5pAVToWgOZQd-iw3sc#;g(|fqEFZt%fYNIniK~UP}=v%rTr} zay?-!G?)Xd4+!N=R!;UlW+NA#qdpWq&F7h;FiCRf!Q&te|Y4yPP7zrFtdJ^3!xSqT}3FfZm}LOl@RFTfS_6O%En1y0z$px^z#y!VxISg^r|pA&w9;;$=jxQqKH z11Ei=$TI@7bDi+D8}8qi;+MI)V9P^yQuY(N{@5PwQjUE2lEV0&NDzgQ<|*g|m0LHA z`lA^MqD5*%$&HalVhwo(f1jMLZK%@`Eg4)$hOJ!#vzMWP%E0+M`BzzTUC4;1}k6P9^^CV>b_FmXR^oMkOOZCS`>&Ds&nkgaP!SauBXJbDSbdT z6el{K)tPAB`JjTk0l2O%p(@Ym1+nSFmG*k=C`db5H4?PDxg&TDnGK={TV$7qWL2r@ z^{i|ky|QYp-Y?Gw7v^t7n*(%~!i+qKP%O=D8(Zi9P^0ki_?bJyi?wZc!SaQm3T?g> z;m-)2lj?kc!TZRd#Ge_T^W)kpP+LY;nq<&k$fzMC{p4et6v#O6*!ILhFuv-aP%8S( zuYKLlnI02mSSf)XuA0k<)fjE&u6VkT3d2S83+A8ffJ=8ibv76!4s1AJ;Qvz}D|`XHTJfYGoPk5^cxl&gaf) zApx8lMCrewX=i#Vs7ZTitA6qULKW~)DLX5_+_2Tc^eha=1WsqRQYYgpBP4IXS^Ndi zYD~K;xG=}E;5KGI!4wMc9qfKy?sU<1opXSWUDFR>M~_wPmP-OkNp4y{5V{0?@_423 zGWk|a0A?C|9&cAJflk^j6JD0?j*!dFkaJxRc?vrEVA7!;ZSGt*d{fu5_Mt z!+-;SJ^f|rH{-QOJ+x#|sQb3Us?3KT!_4!Z>tK)HSU>EXMdtf#Y2aHuxJ37P!XH_J ze)R=^t+>(PY_0~N&rSj?e08Sp%Y_;%51I%&zLb_YuY8bkZvP5FK_J%sB3X|2;v%4S zA3W^pTiy%Fe`h`wu*Y2!hx0b zUu&b_F-7eScwY89G(%ybARERnDNMT4-F#-?{dK$;cDu#N>SG+1KeOQTaGf zYLj6Y*xrZ*apmd9v+04AyHRmW2NCpS6baC>o)j*Eh%J8e>2pWr$z?`KF%OBbFKG}@ z23BXo)24}k?NMNDq|d-t0gZ4-St{YNrgOG#VIlVK_i7~Q%O6RuQ5K-Eun=Mv3b@Bs9Gb zF-TyYlZYH6S?)L=7p}SZ3;iwu5nIsKdR1U;G)cJ;7gT)Ae=z*V6GkGuO4)M^)LZd4 ziPAr?IC=INLOF28E)iE^!i|=`*dxg2sq5xH%U;|#yY@sOS&97_i$#0iJ!lx(fx8e| zCP1;+POe8{{B>%`L}7E&v?%BNCvawNOA%cF*ub58-f{-Zr(J(v6DqdGQ$JwOS*b0r zQ)vO`Ua5Um;n^o@$r(IA+rKRW1I$K}haww>B5m9l^VT-?j$N9ngtq-{haLRs&qyZ$ zRxM>_8byQ{xprO2NA8d9ss7K(WO^>K%X3P36>jq|RK$@8=9hN9RMt{R~pIYFS|f zuW`ZIT}R`B0}qCbaK;Q}!f%dijxWhj3F&fY(P=2;;OgOjYZ5fC7CEyvv+d$6*w52; zEeN4*6{sLmjJ6gUsL+R_%WYXV536!Ww3Hj9Mb8J&5Hk`foVrFX=)3lQ6SeDKCNyk=9-!~-KlK92);A08i8ux?r$7F_ z`81erwVJeqZ5O&MG**l{4*~i|zD_n@)u<30eESOLXCg*$`2kWeUkqK2ZzG0waSrKP za|I&NT9^mbM=AY)u7@~7>+&*cv!cLVBW~L)+--Ob8aArhUNo6_(R3nr2R%D7y(4kb z{wj4n{v@xTG+~ZO^7hhW&f}6H6LlSGnb(Z6g`$4VC`NHLqimNE5IIivz-~r=l2LIk ztE-vy$@J-MpL&uffoqtnQ;{P7eCF>65vR|`pMv@_3O3clAksQY3X_0kuY`fLwCrok zA~Hi6OXPEl75iiG58e|z1GxqOZHag)Wa7@y-E&D(0*-Cp%>;{AA?Vzc5k$x_{rVxL zc;FZI&ElP=Ag*T@guPLuNDvkfl0*T;58EJ+>?E1GL8ng??kVNcJD8}r6$s1UMOzy- zux&gyJu>AWq8LqOFp2PFg2{w~Z#C=Ec7HZDGa24DwO3keIQ*5FqiFuAF~J}jr9Quv zyoOc1R_C7|hSmljv4YM`v{3v_+B{Ur(fRCvSh)> zb~gMlt!HaIwOGoFIEAwZz&h>^kGY5X2xwQdq)wY_L3q>;AnuKJi08vJTz8E}X}J^a zTTDZVD^YCwL5%tvP9wyRR$klkVI$>rIlEi${2*n>RH7@|Ot>Ho8squ^7Q|vD@)q|~ zl73N{6XQGtE}JSbozo-R0U)%A*w4#f=i5`3CheFYL z%{`-5q={F>Jo5vl1DE#E7tpSJ-Z$Oo0qzS1gEfm%6e)u&)=h8W@6&jEj@xcMf7{st z(@;0`&&BVt;VG&d>Ki=~6=in>(lFqf&bYZ+_z}K((2_#iMp1kua*0pYhtU-o^xQly~K`lcXC4ZRha=Ztls@@B#n(@f!t1v$ z=AOVA<{y}-K`lN828hJ9pwYv>1?YHL`yjz6V)wc|g?`6i?zX~*0dt-HbY#jc*zt_^ zAefG}UzgQDuDa$(78gY4*~?94dG7In<3YD@C8p;@G*jUqB_v}}$X)%6aom&*lcoA; zWiD4C*XECcywE($$QYF2@`IB-a=-jU+0=qXenKD^ah5-jzz_M8 zq$j^xe^w+mf6!z{Mp=evK?r})%`X{KqTH9bemX&#)gZlURRzQrAH4cJe!xek!|BT? zENSATGu4W$mD>C)%-y9A8C(Oa}^kJ8YIbSYFh;b{G54WAL!g zP+DVw*cDQtHw+1(q8Plbs0$c;c#JNXt&XfcaG3YezzPkBFl4sY`&TsdwGjJV8Nqd~ zHzk*nnes*RZ3=DygYVkE0Dp(!A*L=*?$r!ORY^IA>z6;>YFXk`-|||9xP{T{5?$R^ zS`{Ky`}z4PCGDzTeBPDse0fWMZb{SDFS)0=vU(h?wyGZ5U3?wLkLlqNU0}wPhPoG7 zLRqISuYVW3=(sT2;u%=zu3p;@97XcoW!_I7M+;hw%dvW~!)3;k@!EBO*@0OS8ZJi& zjkMtihh`HmRhkFL(9)%gpuOa+C#=_Wv0;)6<<+SHLL1)f#T|`Ikf-qz5o%smfKjV3+pHCdb2hzu2r%|9C~M_~JMEk)e&bn<#sH zL%*YQ#d&!@?i}`4Lu>~@Eb>_$iX2@KP??1Z8ua4|AirY>H)LuR^_^Rda+U;4!Ry52 zCBJ7|xuTe2O2*I6w=aE`er%?RjF^AI!pQb7_D)NSySd--tQcrQzICy!B0ZH(OG{E_ z9g5rwnqQ3rbe$hxj)@4i-&X$%5#W0_68FNXFh%%#XEyFi^zy$4aLdJ=?OO*Ke^yDx ziiSId>K49uhglH|kBR-;>CTziOGYMeRj^ZM9MKtoj^!=TjyE13=6yP78Qh$9casN( z^a*!jZ{WaZW~d;L@KcjzvBhc=`6+5$^eHSq@A>ro_Jh3l?B^0WpS?bpQ>cfI&3fTN zQe`1L&L&wv?Ah_Vc;2df#m}j6Ci^a})r+>{z4uqvg3^$&>WChC%%nt4MBF&ucTo?+ zMvN4bVKW%WjR*_SCxHeI_HUiwNx1nhPIcz}y$YX(gM0pojD8BtNVQsNn8n+0Uwuhq z8-=7RT|Z>8kk9we_%XTgggiVW&u`-Zfs|Wf8?rNUMU&qd$_GA0bYwVk0+pX3gy8h~ zUqJvV;$?(>`JW~?54%QE1{p^uqv#tJ+qw1CS|LU#TWxC%mA!gz|7Asd?&^Ley_(F! zM*TiddXX`PE*-Zuz$KS^(jC9V@^`ARO{cscn3jR|s94{~6gGR&8%9papj6SQS%jXE zcVucBhKFGD+Dxo@0TA4fEumcmuI;-cu{1gS+jPhAznN>tc#bXUL^ZR6R-E7QNPnO@ zA$7_*dlG4sr@DLy3B`Dp?dMm>%W7rn)L4bX35A<0Y{DKD#vgC4YrfYjZh|?xDMaie zbn~)8^KWkWqH_aAupiG@vT?^K&2Xb8cSZi~Wgb$+1uO62@0FaaLqP70p6eas3s~l~ z%vB+9stt9L_C&LzUphJByXZrS+<@tJKP!R$oluq-0G3#s04c>s% zr4Ksq7Z`(X3yM6ypr>?7mA&9>qZ9ny7HoI8-4#XifDI78kHQR7ra8CH7K@qmfUWh% z-q<>^u>~=B?qUAR(fZo1b?s4@GlL{g>xmS9u9` zSpD6*^pcxP#sCx&aRWel4jO=4nd)#|K{f;6L}Db6?b2OsmWHd+3>E49^W&5?L81y_ zxPHVxRI~l=vlrJMCBD7qdE7BIITI^SZ#}Gtg;6l%6uuE#`jArII?IDS%LdHlc&)5i zXaKqI-|iy44(d!fY;@n=_umR7!gAb)e;&5|ie_q|i}AG7qpL4VX^4e97@VKo7L^(8z|&NX z4&;a1N|?ItDxQ7QaIst2VVg`ChnyeI27w*QE(o1O9A4yTp_(7DdvX3||M0I}YWi42 zsHL7dz40RZT|Lg7mIB+t{FI|qy3@KzQ+xx9^`0l(<~40?x=Z^ERV(?+ZHDi%>ulh~ zoKR8uT2!0-ugrE>RfdB07=FCkF)-hN6_nROiptWiILKk0`tKi{+2Q1nsVGci_21{v zWovXz5K9Rc*A#j}QlAkDHfr_?&9%TL%JHxL1RL@xiIFoLz*yobAfTocnVFHj`RJ0! za|-Sl`_{x;3UXfyi@g;K-(0ODoR!1y3aUnOWY~)v)6hwJ$I*NOFoj?0x=4wpf{M9( zTU>qw;OQ67(baF;Vsr^{+` zt)UG`;?*F1$q~0aAeXqc5_hZM_jBK@zlL#`gQX&IXkofe0zN{1abWfy`Z+PTNyjo> z0!$6exM|io zcr#2$H#YAbHl68PWC4k^yRmSQ#PJ7X<4-uuSCn^uZSTW%?;HfrR`-I<|D#JJAEDnT zYMVFG539wJP{#bEh_7$`Y$Z|gVp06@o>lJ|u1?6%Uo0if0>`k+BjtWMY#J=ybT@f!1B3*kx%0{FQq=D__UT^^?(#U6xwGfocn8t z2vQbY+MoljnnW2v&tTv?h9V9LhP1LnJ-ogCRPd4jRF1>+Nk1Fd+|K_q93L7;VO;Wv z#|NL+aWmq;0G-J_DFA2`@vX^dyO~rUp~fN~nP?u;2DbkY{CuWj(3qUmOzWIe6Z3qp z<@VXoY@AW8<2I*zLz4%WY&7Br56n0>QJU znLnFBwc9u#%ZxbvQ*XW_41nJRJT(RC>W$#uRkbD>PkfmND8E2+J=j?Gs7ginjqAjR zARW98z}K`|>SXLg8yEL=cwHE%5jeE3qTA~kt^~{pj|YvqNPB1)%Lj)28RpJ}#>|fV z=VNA94MClJO!_=_Az2qTQQWDGm0I^~&L7=A|7$Xj2ITsJU*>i6q*!}KJYkMNOX9KG z;(OBa+#|u2R+APms6d!P7=9*6Dxbd<|wTklhNFO<1*z@M?h?W(9 zt>+N}jG+fkoV6lLwQkwBo(S1!T8H29I-Tp4Rumf4!rC0PEKU(TZ~8^Ox@UjXmB=|T zGqv_{tN_cT!H7=<&;#&y3t}9|e(M1t$i;7JU_O_5l9CgWz-rroAzYIv( z#xWM*o^s6_6!u9_%6ck_aQf$(YbO}0J)?zch~UU9yCJG(SgO8zD>=t_nOs6<`>rN} z;Y~0V5}xr6Mam;KI)0Dj5S}v_Wr-kacXBeCrlj%S=m3mzw&h>*{3T`i1; zA~)K8p=!h*Tn<2cYa-wBn^QJs<@ag5!OT0i2snreCO$6>Vd}&O%~mzlMSm0_psS~S zhA6ltpZM9UqR_HYW@3Frtm74l(9k0ue+SVp5<8h4%$o43ZSPH%y;5u!8`^-+Pgu^_ zWggXT0>1Hm6>RMYBvWm$r}HKRTO)P+A4^vm5asuDcj*QR0cjN}>5y(gxuMrw5Wl3haF4Yk4^4tU%FIcl_si21pDXdo;>P>{tVVZI;RGVz3n(dZpp@c z$TjeBovN!DS3qG49}$2%9yos%bNb&M?>b0o_hVLZDcwl|q6Y7dkEB5ql87DWz$oO{ z!j6&!Fxs0Ns^?SqEMFFIBPt$IpV1ZiRB0P&(Dm1pJlEz#yz#{RnakG;XWz+^K!%{< z=r zoUj?DS#xQeWV^e1M z+)E-55-&v7zIxs&T&;gfqMb% zxO(q&J`U1CN;7*Wa~)U$iamcZmRS^_{iCHP^(g(cqcjAFn5-smtMW)N) ziW^t_cKu7q85S=TFdjY?wKB4=e*H6-0DD~9rjYk#dz5M5e@}O!%BT1yEG~p|z`y;y z0LtrwfBscEI*Ln_PHnlm5SKai&4o*~*I)0}=H1$CkauU#ZSzvVE=6_vmo3*U{>`wv zX7{d7nKAL8125;+v)@mXh?iIra~hFPCDDeFr|#9EQE-?{pF z9kOAt+X)aiQq+Bh6(l90&|Nw*)@>Rj=MvZcLr&OK1w@_tt{vzgqlhf<|_tS<$nT{^9eX4o;Yq`)sE@bxlBmg zXjp>>5KX{2>kC*cEP^jF*(x2S##J}*zd2?NH;w*dR)gW_l%!|v$k+bw4r{1KE8X?c=s9CG6DRz~@ zFKTrhgk@{@YXp**P0H&YVb#q}>zCNUJc-he^0>P{Bs^%I*X0t5Jo`hXgG-Q~H*8~? zqYyI3(-%PB2EswRf+!Lz-?PYj*JjJhN)@jBpR#>y95U%zR1C)yW+l5a!IgkwFO{L$ zD9gU)09Gwxp+aC?9HHhZHhJsE6(^#q51M0zmsFz(x-c!`GEOGOD+$L)mnSnX{N#d^7YoTsdrE9=>&ZC*AAj`LVxPOQSvOc;#2B( zSV2+_b`VdT83o>8^YUpIjt_OgNjL2<*9n)lQoZAk?79#u?HW`MgcytEdps`7y3qoX zC^A_HI4|@Y0kY?^Bfhg>lG?)z#{I72=*dtRLirPacBetm;?h|(n#as zXBd7J8ZFVkq5|b-&g76u{pp2*ql&J%8#pw4*f7QIxOU*JH<1csp$4B15jLU^%E?`j zd@gtP><3S>#fUdwNAef6}JskTv|8q}Sl2D)}uYK}O$or&L;g z#_Yk_vWVa~#Nv<63g;?`p`fu2xa;TN8sNH=HNjZmSA|bS0qW_&r0_P4R{?c!Q{P5n zuBqzdynksS%#=jwr2WE-%-7|ho?D&ziE5#VPRTx6G|v}s7vL&E0vg`HsQ2d+aLy6k z@1YckE-C0|e0RL`fdQ0rFWIK{<#`OaejJhg=S!|PWa%oJJn%Jln_*~mH584Quyyat zt@1BIrwr5W)emW|H?Cb9l5a&buBKvNr|Cb8K1x)Cr{M^37k?Wzox6eL*i`yG{{5tF zlZ18^v8Q^E(6RV;cr5JgEP{+OIG5+?+pZi!p`?&W7Odp_$O&y+ zw5#n)oU@x!C#P&=93PP;5ybM?@XoFl>I>y4&kHuan@Qfcq*QkniEP2`Gq_@woF7cq zavJCsK`e@2@fiOYV{`&bwi)|Pf>c{A zs^wmXWQjX`T!Pr-?_G`O=_yUhXoc`C+-n~^16U$8)R!EjGgETHU4=Szj7wydv z%K1qms4#t7w+b^Ta*X)J|H(rKxZhRWO|0c(&CGC3VXK}x~}gbPwm0|Jka<|`*9tR>`kILh#;wh3DSvFGT%-;(BIT;JK$8$53G6~`#h@dokl913^m73 zA=a)&X?RU#7G~J~eS0|KH>!#=mX(e*i03IqzqI~m{WZ&XtP=QR+Uk*GdJf;FsqfK9 z=9Bpckpe=9@&1F%dCY#meu8XH;p1-XZAfjt0K5d|g7;Gr>g$g}Zfs8|Ikp4)-z}$NQ4QOyz(SQlhWi7vw>eV3jXI--5wOEVH-c1fGU~1q8G=C!6cENGBA%} zv40jZx8UCzR+mI0vY%Z$WeTSIXXJ7fdDcw&cvs11Njdeb0si5Ol_r#FX#b$Y>lq*h zF&O2kyS}#%A}73GZj=L5(Vqm)7$xo~fXNsZ)oJ6@U5HMzYK(|VYHF@(2hl~G+-c2? zJU=4!L+giRzV5RW`K-84Q&DJF7g0zi+2#Z5FAlz)N+d+?&}xr7-1;8ifQWjb?bd0xu_puZWhv_+5=vHaV_)_J5Vn0ta!%n*mX$D zRTKvC5C)U83KCGMV<0OW?Z}UxGGP$3AvNpNa#;nJPTcjFNAa7>!r33d30_-OAt zzNyWGy)tMiJiy--mXTgZzk0Pmod&;;y{GCz@DHm(Zsu(V8%$5tn~ZI_{;Jxn`w80^ zZbEl;-!57qJUk>j++m(rKkzU>OIpR>78u;C;?ScP-{Sr~)waq#SvUL}U`Y58D;&keav35I`S$gb5$F*v!9^sf)V zgA%Oq1)j&GWGTPNd9Y_(8fsjgX6=1E*KdrqJD$R4mf9$Kh#=vUZUWKorLbcjmO-~N z5IqCN7_qzcmMc1B!|nW8u~|&`Ksk(0NttTjb{lLjJ5~SSn36{dzRK`Z&{fGX#FULP z=PJ8U9Eh%zuMX`j+I|Ng$4_bZyEV9p!q0FZ*!uZ98G$%DtB7+DPUJlUlhf*V!P<8b zy`4XqeB(xs@AEOEyXsSAUgIPd2;TR}s-9aGAF($d>|Vj_=kX064Wt35e44vEa*a;FsS zj?`svoN7mjT~@zTG#Y5g8W>6z(E6vHeL?fsALl0qL7~s;C-8w-XAo){m8>0D=OW8f z#A>_;VV~ShsZPy-+t6+K8g!7H1y#4I{m=}2rpF~o+pk9*!ZibJ^ExB&wzqvLFw8>w zmTuYwY!#{r)?{cojhsoso@*JSgoCCFcN3-S=~1A;ZC9HB^ZIgkP>RdSkt30y{$FPwcVqMA z+=k|{w;-30JpE7^n%Q}UnL>={>(ku>_-pb$;|M~GfwCo`3!WSL(%x7$#*CTp)q4I& z|FPFj1#30uNKdyqt_&*?gc%DJ9jxT!EbG0zX}w+s%Z*p6JLpe_WsEu!AngJvqS%#I z{kRm<$c?V~BuBTl4?veY5E#(S@fG$|i@BfKcL0=PDGdXFGqfj{TMcD(r`I|wTo)Sh z!tuv%XAsGQL^{>#gMNd`1wRmqu^UjTp)_7oTGh&oY+(lce5yx2Qa~OmzpD1|7Rh1N z`t=#>fm*7mo8nV||5vs~Fx{q;&N^S$UBys8p?c8JySR3~M}j%mf*&*0*UPQzYR|OS zMJ)VvTL)Q-8CsRACTR@dDS`zo5I+mgy_BG0v}xD^Cj$SzrS|1Y|IMJXfiwYpnv;6Sw}eGyJU$d^O=vn1ofAE0;3N2N=I%N2m?;8 zaTAa6zP-N8vz_jWsDzstza_s|jfJ1cf4|F>u@0z^NsE*t6ZRUkL|Sq={xtsu`|Gx2 z;pRi8ea=X!5}y&3S*(r4l^G?QyT*V#E^r(DlTQOK%0)(;J9wSRRM7jJt;FNBi^NG% zbiLs~t)JK_x8>?5(4BzN?qw{AVojl&<}42gP?yFBm0^2?<~%Sw9ap_t!em;Z zGtPMInMi&p?hcc1(PNl-)3ta{TSi5>RT;dUntGOQ#%qUy8=1KoL)~^c5)h7;+#4T_ zd_0-ADA9V~q5c-!h@pNroBF1>p91&7-EnnA==Xb=(2FZVUtAFdfA>r?cfq}8ETHE( z`Z5or`&P3fnO}yC_Ok4HyUc9uoKubvY70jogf_QB4kxWv;sx23Ul^L24lvL@sAXgz z>?q66KJz&Z8g`a()Uw0zBz~_vUf%BEn17)GNNNC$j4tFJ(xwQQ{o(!;l(5Yonz+6H z#PTLiYx}16aa1$fs_Ji!sy}#ZFkdVnbN~L;A$)hoq2%OiFW9#UzD1$x{sB2Mgrt#0^YktN5&83pMVw*peHn@D#im0upTuJlA)5K2o%My zP`HyUWks3bx882Nm4~bP1oXu%j4v84bOmfjp5-Fqfwp77>e_?(&lKyiR{}m82}BLk z1M|dE&tH8C%|RQKQ#<4a5Q61e4kD$uuiu!wPF;h+|2q43_9vCEP)RG|j*XO$u-d8q zRo(a2t)?cS9PjvMhTC_P0iYr<^-1PO2!jYftN~qS`+h_PoWpRO*0q1J4dM6cA>U2j zdNQ^l(2+RuQ5ReuU(nm`YUcMv;R)Zy$?znKX&-qSyOKj1%R z-bCujjF=hxyWnMyxC|*eM)o;agSTF%E8^vwzBd3tQNc0FOcLF^?jxl$Jw_uL7YHjO zw#LE^1f@M_AfrF_u2mD=o7=Szovj9GN*ger{O{W?|>b&9l$i(c{XXg#PSe^#i8(yS0Il-K#OvnbuMc$~uvj}EF zf9}_Tn=(VQeGJl+Q%9r|f1J>quRh+Z2*Y3OuVSx3?R&qF8fO~GcbH$3x-YjTDgPt7 zspXty(?cE)$tWNH4FydIIcG$Yw}1b;5j-?H`X$aMCIx8vR09)V6QocOd-2Zcu-nVY z`Q(`bg6|qXkr#m)g7A0h&KS=(tI$?Xfo?tI*`tuu2vph_p(D2=YnyNB7Nw}k@j9s5 zb>vy0c?6Nph@LgSjVQ1%GD3*_+lFdJ<`vWcL51*}Aax`1e*(tkvDIMLO+BHLAq;MP zL8?o0sfxC&nJRwQo7~(ed0Z>}c*ON4kdm zagiH{1nl`shBK|V-5J(R`gHXpC!G@^k}~Q6d3J=J-Tm0D#Iw31RVC-s(ZAgc>QDRr zT{au!k6o6}Vj*bfX#JTW>>((Moc&vVGsH9uR7Vn00detnX|L)jt&(faAQ}TiHighS zZ0V_UVx=p|6HGV8S6?qiVHhLgcuK^gb{>MZyhwk3G-}pS+jB5J$!_^jqJFx-yUn`c zzL$EUHVcQxk@@_dLx)0rf)8amdEUS$d@MC}0e%YDVRqJL0+7PpFvoCPoWjDrC}82_ z>M%fJr=PXgTvh*JJze0}MZs-e3pt_dr14%dfbs<2s^Eknem+Ho{S+61Ej=(tSBVJ$ z+32`uXFbFf+1b~9pE8T7j2u@XI~=*gCw>*4$KN8=RBR-;h3KgccHD2KA06*Mrvl@! zt@3*88RWg<4BwoD014_8>ymGNof=+-ODORVaklAAU}VYVi={iPoTja4SyKCBn6%fS z%fJIYe{-&5YAn|HULbC-Hwk=!BuA@7N~8TDZbs{X=bjvWvxxBy=DK$zQ!jz{zuuydJ_5%W|u@Fi`6Kf&Dy&wBL!Upg-(*C86dClbdBL z@Ax-170nnI+r8V&%`6{9(`YdXhEJ(w>Npr@eEb~@A3j6P08SA=A}b^teEj3x#z|7d z(wTUaE1T7WloWG5fkLF(|*Zv81dfjaK zX7eSKe*z6kc*koJBOOct-&1%GFCAT7m7iQZTqq<$?w z>K1s+44!}NK$2GihDLsJs~yA~FB=H|$XvF{oE4@jZDln(1c9f_z(O|x-F8Hl9Rq3S#B?|DsW)T$$Jr~9 zc8xP%6}dXp23+XGqqXFm3#(-}vz^~n!d2@QX3)BngP9N~aHqZbpV2$yU+P&UhR939 za_ughuc8-?J&%Zyr1ZBrqDZ`eX!O~Fb+q8$T^4^8x?wG76l`eCe!siL)j_`iQXm94(U0LZnvj(2 z*|3Vvzl-$y8UQGwz2gB>3K+CsOEj|R#7y?>vThpA`8QNF9L_zvGf8G1^^IpPLstuH z90>#T9#W6>hCXkJ>FCXjC!>`}HCFi8(*A2)?A!7}BVBvVm-6@v(C~OdPj0&pTT?Mf zuY@PnaxCt;LbEr}yI2~@?u00M&s5zkH&1^hPucT83b`t&{BWSbQp={Um;`4pVOOQG zD!!|G2&G%+PjDmQho+|hx-NJ#Lrx8aZxfn{_~?;Ab0dI&6Ey+G!X#vgu&AFH&>`5_ zI~abyn-1vW#Qj_nc$E?TccWzll9E=|PueKc+urZcD=lNpji7PWU>Xr5pJn~sPsiQb z>jy{q%6u9yMaTQWm@egp*L8WB&ED91VRUHPe=}u+?*amMTmC^xStQ^8CVJF};j8o_ z%@$KYwonh#Tr2!2ne3d0b8oAggOycDS&d(xWF*!(59m+`tNg$hUf45jbJRz)o#8tv zWh7n;Qs3zy29+Cid#LB<4QCU4B4u&68F;r3eYujqXB1-M1!p#7?Dklju2YYH092?; zMjrG<-u0Tq{EQHia$QPJDEBv8pmSbRFo-Fmy-37ebU&MV|31xMaD;&aQ_Jc2lhyf7 z)@9HRx&`cAdk|x~u9LnYSTD2f2E{vmS9F>{J1$2uEgM(Z;@w*e&(*%A8hvKuu3KGH zxfoq=q-p)X($;HRg27utmqkoF?9zMDO0m_}p4xOJI}6X?_rQ_)vw<-9gHx1t2J~;+ zEEXRi4kP)f+T4krQESFy=C|V7{exT}$@u&8h#-V?St*7veLNc?1}C3@gGH?yJDw>KCI zwe=A2W{VB{Zfzz+2;_=y#(P0=zbYvmm57cXt*q@wHy~F!C51B2+n8hZlJ;3cCyWb7 zehbwA0g_mWfpv^V9xl*U@g zFCcAydT%RugjU(jE+g5ya{t(?e{E@124W^Celq&;2WROotp9>d5y1&u7)I~U?05A; zoy2iyaamdHMc@bz_O_dG4Ai)9&8WuU=g#lTO)GFg8c9}7DpyFDI=i7zzQej*_Q(dX ziQP4-7yH-STPw?8x&2C!7v_%(^YgDoliJ9B)g_ZFokAH`=Z2aG4_kyEyr;fWo! zs!WwzFfwg+F^}m;KmH*(IJQ_k*!3g);PwA`ee{l9VoBITeTr?#PeumMm*xT2nmI4WtnzFF54biwLqCj&&VWUS3AEbs2dWIBQTj zr&lzpV$;_8Eqc^^bv#86;&`|8vJ@e5b{l^x(IF4!apdd_ylqrt^Tg5t}ewKul2Bjc(bC3z~oKV&EcpgYGG7CV+yLh?3-Iu!%(gvxR@O!fQ*@pAdv%&U@ z697|`!Iz$P4TaHH(vf7;TIsTr*)Bw9k*>{(>@7Bx4RxQ zwTgbp3|jV7OQJ-BlO`1ZT=7X!@s+AL4*F}HPOOLs;HlQnIJsYrTirx48C&CDwDW`WOG1UYp9t!4hGq{#w~$qF!#>`n-FGH}v;>T@$nYGSNnn^|eZg6ID-!`MZSK_R}z2tbl z&83}adT8vCASanrhcZNYu~d#&*lFNv9A~c@T2|7Bl0S0@yXD-zoIbZJZa$L(UBTdx zbmBkFELNjy+eW{|4i2K4tN7r}DJK8Gp!l=14pz$T+lvKDrlo9~gB7EnjB_@aBjAWZ zIG@59o+yu1UzsqDb38df+o9?fN$Nc3>4(iM?14n!&2(C>k$anhJG~R~^m38&Z8h65 zZQi}Yn~Fy@!&DE;{`EBjTh_5ET$KJ8wjz2NKV^0)*wffQfSB9(l-S0YQP;L?y3*9ZoY%^?( zDRmN3>-hFQkhgqAs!x16(VNLL&UfufyjEVXS_V;qm_aS2 zQh1*;9cGda*Q=@M&5jfkZ@;?;dMv;=@w>>rfrOWGo_KLqtG3veZAWH!r|zB}tc(51 zo2~Yd#BMMnF0Z{|*@9E2A1fE?1rab#+$Xu{?bhC*Z)hE1hBAg`Ym_~_k@Y<%I|nI# z$JuLcrV~Y3lK@uF-RjuVW>r*m?+5!@1vLYte~`c<(u!ohPngzY(C&9XY#ic~C={TF zd{5_H`5IZ6i>baQ=VK>mtN3F8tlRi?{_DWMHlLvUw;Zcov{8YeQBKo@M6eSV`7Yt) zo8OH5JOXRTU)skSmoJe)sfA$tJF3{M_pY&ng=A{-s$%>(qjA~~!LeYF!{q%w#aRh0 zw767LH@!aXa*+Gz2$&#iN=jWZw?Y!jr(kGPK2Rx`%@CJtH@vlT&h*$r&TsApHrZ{V zT7EuSGJlW3Itgsq0XSJ-h8pnmAPd|?y|A{C?tJ3g2e&pjI{fxZ+{^;XVE^#Q;Xi9m86ig zrxaE63-oW$mul5Zf0JS+J3aeY!=o<7`5|~f1_>liEh5RA5bmv?v7?>#`Bi{`4*5`ENmTXvMVwE@?#AcNhWs9d~J9DaUG${bYC{ zjwrq?(g!5-e&QTNk-g4?$v^C?JIJT(SMdQ+PNQ=ddj+w|&8A%7T(X*x|HkJMK9gM0O8<+>%1%q} zdb8QDmYWZxzI;A+od9wC;#&JlKI2iA*(SevkunGe@hf$N3i`0HQ;i3a5hM@FPl%;0 z^EqA113cGZ@mq)Kh}h7ofH{OoNEITG!;jFqRXe4Jp74id%IKS>Z4zEba8l0+>l?8v z=j;}Xj+y3BMww{;dIdZCv?VnCm^seTml4F%|D7{`*Q*PpB<%-y^8cVwGPi3c=n#Z`{~(% zoXn-bJB_gH<@$JwCug|b63MPC=~vzCu)x39CfzSTYQAxRg2!dO@0|Cl#mCvEc!R_c za{buPbl`vBQ?}QqxJnA8#nK@MK&7>IhVd!8L{ebZtf5&#bV(K{#rTdq@Zdn?dduE- zduHJ?-~92W;Do)D~oqjM6B=Q}{J9mh7;$~^C8+v}#!v|T08(5A1jA5Rcm&373F%0RcI=MHs#K#z1WQ;qi0*gR{OU7^)@3ckr- z@~(K*CD#|F*%&9k*Dm&^h?G}qGkfMeTkk?s^Y3Rrmo8I@6E3fFUC-)0EO!I1%YK;> zJlmvLp57I7Je_uky{#x1eO=Rlf0aa!)vpV?9gT4&(8UHQx^X*c2`6SH6x- zQFpEkM&qkV}HjMMw$jz{D>%DbQ zmXP7Tbv-Lj^aNgI!WY>0o|~l0bK6s?u)YqTyHUpx5TK)~7V@(-?*-RXV<2~YFslz9 zL9*g{el_Eq9C@$fBL`HJ2kkQ&Wqb$Yz7n0p^Oa0XJ%f<8?6b8owb$CWcGnPiG8*y- z->uZWIe2slXPGii0^3%i)9UA^mf-l-Hzv=U{104fa0A)Ji|-@4zp?@Tr0t zP|4o@*3IDj+cu*YSj7pqt;&Na7E?EOd5SVFY2h~az(hD^xgpJd-_dR5s}C6`+_L7a zVlYMcHsxf?@fvUjwAt;5S-A3VG$>kC@WAw!V6m>~_#Sci$!dzSkTG6pt# z*oCmEJW`xl!%^k8u#Ro0z?-IDdn_o4op^H7Ms|*}lzj z@TcZbC(##3|u=dmL2Z^Q(9# z5HY*y<{s-- zOG%FZWRbs|4W^LWA;YGYYd9;>IBzwM8G>-&GU%zM5H}Kt_aV5rv!=`B&9Ad0sTFux zDWrMeL*io)Mn<)@&@0j>G|Z(=#_>4ccB^-!N2_4dxQigo^HooPYtl=>egV8Pt-1oj zMc$%>pwfI7P75kRsHa(zS0m(a|yh2Z_qixYw!u2rRDPdE=C69 z#2v_!BNf|UK&xs7ESx;n4XRU5O49jj;>{*_^hDVM%$8}@?_65Y$IG@nBmpRUqyL8# zBnr|XS7dTlxm`wqu22_5p}V>{r7RsIg0q}ESxQ`9M@N48M_h3}D-m0k60vaq5${CyDnOSu9v6E5A}iqO};#XGCt zRCH%p`tCgQu&wGzWGKTuW%f<~F=#=12~n60(V^k?7)nhfoZKr0y2C$2@H=EUqysG) z-;smvKeuA|31~878>AP|z|F~9Y=AEClE{Q3jo$+=s37Yc-9(C7-D5z-hKh9JOj}Qi zfDdbM1xjlegAOZ>0Sv;m@CGNLMZ{$3{HTmt&{FwbyC*+}HhV!bzSiWm=84C0o3O8t z-KiLJpHFQye+p0hg`z6uoaO%79S75hDI>6<^v%A^2)RP|2HT*ICq|I8i==3DBTiUJ zN*y`Uples#&*t=#Zb$m;J^~&S)@Jrb2a)jX9?hUQygRhaI7760j53)il2iQ|-HtO0 zU>=Htny&elp3T^aBF|+&}Q7>7MUH&NdLS}s4siJTY?!U zG-^rw%x=ykVflSY-IFSa*6S^54lWUv3VT~nPGh3>290ReZyw-IqGCklR`5`7E$i^M zq4{Ek&d*g{9Q*cdl{$cBBg`~4vx+XEc$UmZq=hRrR;68v+U(w-J3J16{BWMj+sXab zg;Z`w5uoX*Dv2x?AsWT3T+TbIYEMR$1UR^xsatc&^-g}`(AHb;jOuSEnyR6s}JMm8%th|DQ#MdUFYK_-o1Z& zi$yBW^`K-i@D;zh{hB0Y!n#&l(6;HIeB`S0$MVqq1?|nWA20q&2mEy!^Kj|+%Ubu= z_gVpJJpIuB9_9ioUJFI$s$iVpwQ3j54~s~SC=FVdYxSuc8`SnHzYdnHD*Duo6}7)d-%tY;2UtDKHgK!&QC|Z5`DeOXj#;se6%5{~owISJE@ksKja0urusKHp1>KBI z6c;|MqC@R4)f4##=uaj%eTPB|<>*DAM# zi;KMrTUU?9U+FNDv^S4-_HtQlWPS1jj)+sq;1AaMNtg*|ZK(r51#C<= z4#$!mG(Cb68j?SG4j%2)aJoj0)P8vBY#v*}kniL*JXS4=m#&Y>3UEIEcyV93j!h6R zgVtulYkFj@Nr6v)I{gwB^MD=DH z?C14=)cHn&6GD*-dz?q55`Tpwm7)HsO7hK6l|*;+*qEHAHgSqC5ps3iQ|?mrRQ7x4 zhH}v_l>&-hiPs*X5buOrz6|mO+$<3LPt`v0q6g<+gH-Bz?tkfT&Ngj;R!30tf2r}a zn5-k}iJtJT&}&9zb0Upi_xfSK-XSB~KP@NqpIXDcS1@L8lCZs4`RG+pOE0!URBE*u zV$bLN^frS4SBmP(WAMlwt|*FwcksFloqaBGc|()%l-ud|DJ*yI)@`2ji}$8eRY07e1}k6C>LY;Tsl2+Gg}| zH8~TYX%amP8%7M*7M7U~v6zNE62EwGJqB6CU|Ax^0pDmVr&j2hi-=%^(s*8fa90Cs zNaEKC&z=Jj|J|bgObnNQABzFJCoV$uVw{Qw z-*}>3@lyGg%hpIRy--COlzq7d&2+O~<1p*0WCp*h`99Ax1zys7(R<t~ zEFX3pgJV#+FgqSnFkfu*b-A#Gdb<_qn8W51woFo=Wn;10aS-EQim!{V7nKczTL;7*mRFJH5LfwRY%2wYccc&LD970h2d)^wJ8elT5&KaT4U7 z7<^F)cKZj&g+MiyR=mwv>$2!VDSei!=HKx;K5@>{B|(#Nop;>ywLs+ zzbMM$)v^@E3zY>by%40KZlt^5z-zoZxhA`1H=ZY}u5{#hQDtRQorli`bl$a-1q@1Q zM^6|*I9VuXJ<*>U)RUCT_}0E0H*^S0cJM6Dr9PT1uQTTVIwHHF!B1cJ?x=j-(K7b% z7xo?Jv&tC;ROmu|zBq7DcSF@Qrhe2e3#O|=)gxr)=7tzVtL2CU_rlI`?JlbktZ-BH z_0)(LH8x3RmcZXX?Yo&LU1gR!L=sB(BDbImQj=2bS%GiX$~}d6gdBR;_F^Agw)T4F zGjcb^r``tfo%?nO0}Jc2A>0q%$~M*QCK;WP5p>CV)nN3!Z1kX|S4QVVaJPXFcnR@l zM;^qhNZ?1o4few(KeGKryCmIY@!?AVf)dA1s@K~g( zF|n#*B?x~GI7yorR#)~_*Z!$lru-)(dYPodLHJpOB-X8*&`afKHlJA2nin-EsHRcN z&L+Kikv<6La{?wAUjixyC!y%W5MoM{50@Q#DM%%oH&^bSd2LcMzSq-n`(Ewm4I5$_ z1A52e{bm0e98a1n;;!q)j)5o-m44-?{y~ZZJ98qy4$d<``Nou&vPk6dleb3Hkm|C!fB5 zki<)p;_@A5J21l~C*mrjdGY;=9j4wkR7ud)yAA-<;Syhs{w3CjpPV1b_xKb^v}5J= zK49#lC&eN>XlpFqEacU??+;bk&0pd4$l5>go_Rz}w6tHWaepD6_`)$U<&Oq8t1>HG zaO4R0lOX=Cj)%G-@-?lbM=T<>5e-aCYiNy89puRNJB}y{o5K%qAAWW5U-VIvyaPcs z!iechEc90N1Ir>m8ELx7DtHo(Fy{m82ALNP6N*&N#wnZOQ;4PSf+G9f5$#32nv$?2P^ekjCx1ce)4+l{?C%+>^5M4WjU2LlTg{pGYG2i z?0G}+N~5$GH12|FAuog!PC-ATYWNeq4ZBl3cX}#hO%{D1W&I%G2!6qR!O97yYeyA? z)0n6>qA)Dmz|Cp1IX|;{*X`Be0ljBsz(Av4Q^R`DhJ2f|Lo~o(fa!WVIDN4xbKJs( zzMCmXF=pH#{3H(S{_u6#K$PPC`GvdbVNn_uE6L5`2iO+%=_GK8b`7u1Lg33MrSH37 zm#;-pen{H+aFK|J?nfC_hIU>?oQCexSKr5%lO=4aVLULn_ss3VvxKM}m9@~$xoTsF zdU42Y7F&V=q5B**t1^ISw_a?#Q!wiyf=&lXFRqNcYBTu-X+fi9Nj%b+7?dJP^-$sIWnEni6+yUl6?y;$2VtkLBC4xWXtKQ37l4ihbZJGqsLcN%Gp z9rVvAH@?@|jLoDM5-3%EG1(Vr8wSxLRJH27tDflGu~7fS=I4l@G!3f-sK$?ehjkv5 zGFjtRQ33$NCh>)uM(Ske5$66FEr<-{NF1O6&iT9S;A@? z!lG+ha4Uc_DBKcEo>_haxg$U=%}z;`C|~u%*XrxzrLr?Q zU#OKtf%9PuL znnz)uG&EZQRdF3Hk^2wmoX*LA9-ey$(X;>J1qRc0E8TFND~_zDeI;otwW*7r+QTN;nb5+ z&ctk=s+EyWz0>Xm2gUzV=^_A*vI&_{Sw!N<<*)(MFjf8UtLDZl;9-TM8-7CM2rq^# z4Ae!ppi-+ov1x3!9;(S(XR?*%*NSND54P_fC81MAV0j=2hlvW`i!7FsbbRKus_saU z=W_GA3i#i*EpwkB+SFf_n8MW(iMRlUJ$&kWq}NSWE31fZI@Tt;L~>uZhv=8K9panEm|xarc3h`qgf=tKl#PBYWNVBb3=gMof0KVUl~2!3qD6x71IU7` zj5sh5VuJZl9`w(fjha&%Zi}cf-^Q6Ob1#qm-}O{>!KVK!NCct<@K?;2HqpGoq~3Gu zN7CUs{G~N{W)E$7gUq4DODiHKj-R1h7{%Q}-7o?|(XjS+0L#R8-y(;y&NOvU8PeCD z^H8@uRivMJz+IHrJk`?DrNuKcoWTtfRkBs%3E~Z_hEC?|uP31gUXgXH)_% zXG*^GAGAv@UOIyge%)W=)u@_YV+K|VjjE@e`oG_hpn#g`X=v_pLZfAF8 zwl9PZIQ>wvh8u<7jfXTfKLMeapQDU^dikGoq+>=Jw>@ zPx?m!q_ z=6#?S@iqp`@pl<6okcQiB{jph_;8B-IsHsGaYzruU(win_KC0h*C6Lgk=HOUHu+84 zV540T|7qIbffCU862<3wVMvH+7BC{n89H=yt5F8Q?h?}2p=O&9Wp15^sexoC-O})`v1OBK8M@4U@Al=9%QNZp&A75B&Lu*VEWu4o zV~NRK9l84Lp(vCjOO3n+X=c*N)bK{?rEYi0zr^NA)Ngu))~pFAJKbt#3NH2XDNMTx z$-T`~f9sMsA+T^Dwd2de>c-I>IuNj#jMH}(W|Zz_ZU*7oopn+qCcdxC!LqG7M>{D& zZfrgQ|ME2ZQ`_NA(Aq$xu5Kh~We53cw)Ya7s{7oH^G!~+*Bnp_o}aruAIW^E#FhR( zNcsZl6|}2y_})3j(>|rTwO16bp8m3d&Wd%!KbW?mCM=D5`h|pS9l4@V1&!l+s1+j^ z{`8uZzJ$AH@-BZwIeE|cq;=%}&8QTEEKaO?LgyY-bJc> z8k$_nw^@f=EbH63u*$i60^~X`aH^cu!47PH35zGD8QoAHKbJP9pAd8+*Ex`@}jCniU(E}=txGH=?5I;ikDyhQeuA5K0B*N%WS%Ng)guDKMvP*~! zUL2&A@qjL7lQcacE3oel@$dHy!#O!snd;Pg=ecD!uiVs3m+f3G0$-|f5Uu%t_&K&z z&Sn}Xt+D+e4G}c6TC2sops2B|qw&}BGA)BU%8HvA`kxJN!lq-)Pa*FSpx0+~%b*%( zojYTX$n^OiEg$z;zu5d}9lk`b2x%+$Y}oGPred3dj$No@t6Qyah54g|^S=`6v`nRO z6%2sjkC*i4pKOA%&THAt)qLPIf*i%Q3AvME6(B@I>m10nDff}%6C2@b3RNB5fOcxu z7q)4r@10_(|EhWB@i{4iR?1aa8cK%&(m&Y2LmEd_TgZh*N?V_j!S@-|%YP86Gz6BS z)0!Z=@xh9!T0scI(xFB+&zyNjx}_5L_7nd@q? zP+%0=s+)=4Ssdye?PfJlv~@PPgT;{(TGt61d0C4A6WCq5lBco^;$lGac8yLAMtNq256E zsqVi8_%g{M*UWE`4*Z$q(B+$|*N!hP`KqzGY4IepeB54jAP+qC`FHsF{d-eWezH$s z4i!@nz9>q)y_n>MC)^qkzStS5`>Hu5nk?ZEpa}0FZ_ocC_ zGfwB>p&raf@YQ1k{a;;Q85Y&|g-Z!YD@dm(F*FF$F$hRV&VV#ZcL_s>lnRIlL#K#z z$N)nRpn?u5F?1*l-QC=SzyF7OKip5}dFJ7;W9|K}wchpavoDDJ&Io;?R>nRiu;voc z*po3@nOFkg<`&0KCaR=R_;4MjoNkFn%@-BcS{L&D3iwPo{Ks)C+Z6BS{Ri;_WWKHV ziq0dTLzGv?O#G?Lgi{9iDCqOv_Zd)Xu3n=@3%XbfuKLF84}jrJK)E-v!7+^my7eBC zo@mdyGQVJ9_qK4pc|rtpO*0q;^~2kLYR{-k<_?~jp#WAgc<2|`Jr|wTcvrgo$)mq~ z>+uAEaaZZxzgm8bMXBX#y$c^VWXQFp#2tK9@fZhJ%L8UD`1QSVcM?R^c$l8GE~O&7 z&J>#=2r_6bED!=B#v704IV@Z*h4Tqh+RN(L>H&Q2b(Z7(ZrkkqN(JQ+JzizRlG|8O z-eJ*O3G{#aqut~vK{ffa_&DDxl-Vc07G||TBHnJO75mlP_F3u-r*(88m*UXlbV_MU zd@IS)Ou4JB$DOtBg}!1Cr`)BcbErZu3=4>ErbP5is%%$BBgPV70l5IA_`CGmKqU(> ziAkGI1ns~9D>W_gtd4ZZ4hs(NCgSKpH10je`v_bhdnW(zHtErzhJ$r&)U1u<+K z$cUeVav7Hc zb)L?`r5@%}JKPih$$I!(G?eUuMrOB;qSom1bA>)uE?}K7WiS ztyyQJ%*<6T=e+FM=hYRj z+;b`_pEp4nyr4A#6L<-1S@4hd>~3@@(+=g~iR=pVio%+lD-y3v@`a$s zOGN!qtG1Q}#xPy0n9^>JlFC*X!(wT7Q+Al`}uJ zQideH7s8JYOGqt1&56w4kA2%@Hf{D(<4pYvtdvta1eG#IG-`v3>ozewHcVWVU;5MTkz?@TbYF@Jbu>LpR)PBPz=0%K~pD^Mf* z6?{jby}JGmdFTga*4z9ALq2+ij;;ObWd)&k0rTAm+x~ue`Haw^_!my2(dDb7SP&D1 zf$`Zu)?QsejIVPLYdz%6l}jNd^E%s{-?e~Z5V?!h8UJB2mGcoV!!rIs8(K#Dr)c=F6LnDe(^*>ePN@?1L7H%J{R3@~(+k z&GAgb?ekh&$71G#Mjfzbfr0Pl9jo!=eDhLqPr+6SSP7RZnJp|7$e{%jeWQ!mhVrh%v<81S<= z62%OOEU#Vy(b-AvPwRH@bY!^{pdj`VekoUWjF@sm+y ztKLU2rqLO5z|Zo?_704HC*BF@YwMC>c2c1A-AR$ob06+sKisFOD*oG91uCcrH#5rk z2MeD(08JH#8`uaXTFd_2_F!ka>ZHq$N|^aw>P|Wh28S6n`AK%6o%x%|{zDiNAfw%0 z8aMnT`1Euh=Y-!|c9jhW*<$WwmFb%|HrVN6;N`wp{@JVakSz3~PzJe(zM%}()o%je zM@K=GqN}SH8p+H{a|J=c#GA{_qW774@7R@P{m2J$lMA9)Nf&LRK=;<10=dZGt*NS! zo_VqFo<-O9=hYea0=DAKmLY-{VB2@8&6&W8{p0}X-8e|%H_jn~j%9l<=cXU7RT8rW zuge!tHlL&f1h$WkWUZXhiZi`2^Sldi2HMKX_z3a2^cVBzDFp@B0S=NSi+spd(hQV@ zNi*NE>XH#?pwGyk|7qbqaO>}lq~!bclN;as*8I}&cOw?6ij_J%V0N8aG{2=mb~K}3 zLvW(y&3t5vXGdw5=5uv*35?>o;0KLI!r>H?vc!JB%FK8CiV+Gf;Nd5Oq70ST)8-7Q zHg?1uL@jigonm?o;Q2H$fag#05n}-~^DnW$>@*8Gn8S&AOyzf$K|~$T?O1*4@LX1E zB#VI=lH0eX%{&etD>zb_P1p4eotJ^m;-HLKyYbg>1$cXA8j*dmweXv(zF;-=2u{no|ip;tAf5d*4xDc<_t_L4kG^r z(Y`4H@tfs!Prx(5uhf$p0+#t@bRKl@6?h=$vNn8*uqr>CmLRsl{QCET2+w|qVlIg{hs{TK6mh8VmrS`hd9#3eC_wcH4v)KP;{>v_el8%0 zoL!wNh6pEz$mS_WA#X?=@ncm6WXXlwNAyUaRMpRlYrqiygsGnfr33Y`^~X@I<@A`Q zJ)Iv0Yc64v+{&m1TUmO`^h`63FjD-Y=JlJ1<_$g*t5u70y$F-?pi|Y!hqb}^gpaHO zdzRWhvF{eeL8)#=>9*c5Z@^+S&u%Qh;dRKTzHbJC`7ee%tZrLQ_z?~M5%_v)B#r2b zNH&J>8R5QRn*^W*VFU)ODBD#aajz?c%YIBU`Z%=SBSz8y2Z|h5#)e8~S^G z(C|(-I|YcpKNSBgjBLzBn$qprvJgb!^P^|@A5ZwW zreFcbx^$wifemlc4@1#LS31V`wLwW_CuFv58um1ViF@1d)IShz{B3%M`NqbX|7>jT zZ~LnbjID_R9mn^W%a1HE>3iK9aigBB{N=kdyXn^f6G?Ngo(>wBskj3semps#QXhWQ zH`F}TIbK%yvjpC3;-7Pe^#SgNi zUAv%43F#3Q=1N;PYcp%YyP@h;`{CECc9aVoJGoo_vVQj=6|6PYvrl*=rklN2oKIbu z1GTVebsz-lE1{jiBIYL5-g9rj)Q4f7@ToApnWkDP9ieAL^4FanDeO)0$f#gvMF5&X z*U`oEpN)xcpyFL#qZs5$L=1KJ1ygWL%GJF!zv$5h@mq0YeJQG=p-n(v8s1{fPD7_! zW*msa>tu^)*a$|E(Jf>1nmoU|?Ny$rhA`z;Re4RjgT#7F@xL}t&+r5N$Gchn_y3?} zaPQ{mH_97eOSl?)Vs!QbYkU101P}n62SyBNbo-+?+imL8w;P+qfpRE|>--~4r9c(u z4uaw*Uu(q2z)AguTdqml1-g}AK$PW1jlCv5KQ6jv`T%QjTxr}uXw6ccu2h+0$V2et z>7%$b5^`;oWG5-|UKg?&TslH+*ccE(S8}kBv&0egnnd5`7&xs>7$+6ijOus3pdob_P-4_7G@WG`JHuNZ1Bvu}TCzp3>pICW>zdtoz%~~Su zB9PYf$i6;VWy>uEh!8x*Z}!0*ufvHVI!dEcgY1iXzOPgE&!0SQa5b73f*Ij%)~2|u z$4NWhq^riDi3bt8ZzpD5ND~JL+)8Timd-$fp3U6Llk(GaPM_-vTq_OQ=YUswtVi*~ z9%}+P)W8Tt2%mmx@_q68y_ChN(5(1S$Z>c2g}Tj&;sNM`8FeNo;-QVCR8^NlD_0 zCDTF(-Xlg!FOM=rp3vy0gP|~P-@Lh#7kN`$(24u0Rf@xIz@tswsEtIA&~CCXdw51z~dOa+ zG6DA-3G57F&tIcD4wNQI_}ZrywtMfVAGQQa)1J&w!a{UARxC)+aTF^Cf9M7aY9F++ zq;gFG!3L8XVPKz7y9n5F{gkx!@@wZfYeYU~q&olEB;MR$6!z4$rPBb5B!XnzEBtTX zZo~|4WGiJmd^Qamm&D-Pc8k1o35}ClJikZnJ%8;FP8E;lhjJ0v1P0u~4|-}Ef;aS& z>&Hw5HJIjMCBu?n0ciR~RdvG@pDxPydlM~DyPn?lbOAKPv|_b%Z@&;Uu;mSt0T%Ha zXC(kjsIGOhMtyQ8)UhLM<#Z{F$%9i)@B=8-gxJb^wBF!qNoh&&w~n6Lz%zcr{bz=0 zIyll97l(JiW^}%l`s2}9}=>!qbN`%ltS{#n0>R#olXyhN+P{O{eL-ILM9?7~d1 z>ou`La*!s*r``V={I>>Ca6mtx2HBD=@p3U;U!D?l-60@nAe_}Z%9m&Q(?7+>ywb*4 zs@oEjO=vad)67ZItCnUxODH*L%dSYgn|rgjf-<2?i23IB1uZL5htSZ%{bPX$r+9G6 zNG9$PSHNdZQB*cReW};b6v!IL7;j?T&ZiWvK&aVwLvDGu@fj*(cSJx$BLg^&8R7OpoUi5XX9kqoWsk-QOmO&zVNO2V+(hGo|Glnn704!W=}-S?b z0Ff(?TNYX*7}`%}w8{@F`6*B6;9ES-=cn8UX|VSi^`wMG?kHS-)MUH0d1uX8IqZ}f z_!5@O%J|HTAjgw%8>^Q%Me6rSYI!FGXKrt{RjmYWzjE-kw@GL|x-{>;_9#c|RH&sJ zKI`{a0qSu;b|wa3FZjZ_QTxNTzGvk}^zUwHWe}tg(OvjauDF9*xB2->7MJNfs~RA4 zTcgak588Z)B1AAR^b%MR*&D}X@DDC+VMsVg2&k#4B~@k5!`N0k2pfE!t>(!{d}FBt zxvb0M2N6jdo~bP(lTP|U+{O=STR({+l5R>iV47P1G6OO+uRii>B`oebMcD6E&~ck{ zt3227QT&#`1Y-2@V2CzWXFHS_oN`JAnxKyhx1;7HlT^7MlL*C+q^eGLFvQ9Ad`z0( zpT6_P6sg#~%||3JOcG?d`<(8>hiwceL<`|%Cjm~o>tpn7NzS!Hf!)n;l zCXhmn;cZE8aN%jt)@Ei*im~sQg+ria6n8*!*k9B+8L{~-RZg+aI%-KBP*Gwy5RTmK zI}6VJ7P8MYsO9<@Lr^L}njd1+!2LyIA!aN3!&LBEOem3wk)4Aj7KyNAD!bq}z`phV zuW_1R`8vd&edbc?c?F-*sTIccM5adbuNU@R#&Sry{GT^ntmq)*UO4tytA(86{B0^! zGo%0CfdQ&;Hrs{^{%WdEJJqb0BHY!#gUAp3CzWQ{KouZ6Ou)S+LZjy8#Pht)C9Bo| z;uVx5<;2!6cYCI(vY`3~wCgb74S`?^2=x-pG^xR6_7fQ0_81??l|%L$Zk--;{qt<= z0Qzb9vKGs+Ru8q8QT{Wm(JxI~hrva!cO#AGc5b~l8Nlgb#s$-`Vp!yt_W4C+A~q>1 zUb{*`Hq2aH`{-9>8=Z9LN6Lzz9 z1*+4<_=#LZsQ?OC9pB7JN@3q~DH9fUsS^CQl@$VlmK#=x4f;G0zf3IAJ^k}nW{nK5 zHPg^wF5O7sl4g$dEU@-{3(Cw?d>`#Wo(BxD3`U$D_fjM{m2Xu zmjHH2{l%e2?D@@HN-Zpu6mD6eKQYskvYoy?e3?o8Y1??0uvd(t_CoO1OX6j>+URmX&VuOSkiN z&g%I_nH`=IAhEOQ#yVI)T`zB}f^A}h+EISI!9n80RA$B~s>joCd>p9@isFmXaCBg< z{_3t?$oYi$?nN!RWoOnD#X))tQ-6i}tnVJa$DxFM1Ln0v0Zbl+P2$PM#X)Y4o9Xs2 z(|IHRoFvQlTW=-Fq}U_O?30u`G=Ejmjek)Y)Jx#OyLCo~=y}-W!eP7d-~~oBd&`7q zMgmfGHI6gSwT>In(Q^wt_au7w(u zB2))Uolr(5Ri(e492je0H)Noe+VKfVIaPE`*8C+mxAldzjl$oI>_htM+*lWU=J6d5 zSXmU$XRUQ-&LU&N$)rgXIm^>9^THW z4hpo;Z5+$c8iDV7v`hWBK0}tA#k{+=`B&AdzbJCt?-jZ z1{R?&?UMrBOqW}?dbT8wHnOZgNJ3=TrP5At6bmvT zo&0O}&{?)6p{f8P@+$?PLTqX_75M%Pl&*C*%nh&K^>>%VhP!VSZ@3}Y-YhrmwaxFWjoZ4Hi#jKtN_g!jsgQI^0Fhfs6|Oe&2jlP=*~JwU0OW#2;SNMG#g2tGYTv!+~#rMdQQ_Y$)+MexIrCU5ZW z7kzVA>&Ev>CTzhQMe*+jMa+6EXWwJp`18874}4WFL&uzW#?AWd+O3FasVr#W1w6JK zt7zcVb1wvdm%o!q%4Gmm?2T0nlhCnEtK%P6#&F^)1K;O6TVEC4e{K6Ks zpIB0rTSq@D7zq5-Bxz+C#rN+1pp=ve5(~ z5Z%@n-e z+yhV7R>~VGDn5f(Sm;VwMWTI+_Gfe+Ty?p7hM zW!ERT0tL>STaA;B#ad&~La;Jf7lGyF3?bl5-%b4|Nx6dR6L86)Vml%Oz19sms>_iN z;kag*?jc(Po2dF~?D0y{08J@;Auavm3v?sX(I}P6?3Sni=qFq2V93- z7f_@^cLro-nsSXFMUx`*jdG>P?E4n4xZ7SUNHAyb?n5LcBtn+jYUbDMdwpH;gR|=O z5(q(haT#IM5kW;0&m829!={r zpcBZ}3=Um)PNp%V>+S=LqOH*WBfV3{a&$JTSZkf*-~4q3FH-RX2PuGUw^Or4++h0w z9Y|Rg)MaAVd*qeFLXRoMkxN&XlVnKpJJ=zuMp^c%O>uXgO=**xeNsBeS(NK`j#w3q z$y`^;{p>oH6#h<>oqd{zl#anFq*Ha@M|e)ul;D3F*T+{{nDC#xCP;FxC z=&YFM%?6hXEOj|5);OOz-4qfKl##a;&yr7kwKGmJ-n{;DN}#}M>S9HzjH11f2)G^> zNx0YK*)TCeNiF>Tl>XEQxzc$sXjPznL`Ec#WY z*u7E#GEa;%DK>=UUDcU%@}<}g98HPOOEz43IsAA=SRIR|1=$<3T$z(Y?Z`g@A}@g8 z+W(+j4@d^TG15PU%)u>-YQ{|90t(ebYwWiUE}Jh4kzUb-hOZZd9wy73a6XBDTjiO@ z&8(2=v128{EPrpxdQAQ489xHrX$G7qEISC!69DL*k9qM}L04K)cHMDoTaCMD=X1(R z;f3Has_KCe%5lr+9m~s{go7~9OssqHFeO@^t`?!eS?po&QO2mC^lR!eGr9FdXKutS ze=p2u{~8VOLD}VA&%EI!-v7gemPIPyaOm|Q97Zy-T3T}+02io;>Sxk6U>HAlKZZSq z$I(lk>+Mw)Nw;6wiU`ziMyxFTvgo$&_-gr=c6%LXnY&0rL5@`vKg-=N4*!y2lh%~k z;n*4FV4xJ3Za1kG1~BnkSIOT|pYpFzQtkY|==YiFnfj6{D-{Jg9msIm{I-Z$$*`9Z zUm#_q*!vMqki)2tn|K*1nqi=rcjsfCVb^8}21*9kt4vG^#j+SEc5)I#XH1FDPokSX z@>d`FpBI=uSk%24hkm6RAwPLVB@E^)82+WIwEP@_eu=nRy&4X%3C;Z*hTkD#kED!V zIHZn?Xl4HrYJ%M-pZ|`3`v+wksi#RmXVlZ50Y9N)2$B`Cy5J@vhhvA~Lmj2e{?_`$cY0s8*sF$n78%dJAzTnZ)ag-P82XtJZ{QT_Uv{UO68(w4 zTvwH+yd!k(^VSS+lpFrkVTU*QHffs4ZholgZTn<&fhokzIL~X90lwc=8i%~P{L2d{ zwtyncPNH%%kWVL6%CqZo>tb8`AQE+~cZw&BZ6gOz!MU}L6PX5Q-|Bl2&4y!926xnj z*yQkT{}8LOE&{*Gw%I%xqsq;e=lQ~9L*{#xA${9H`vEK*lR0rlGuZDS&kLkir*-;*RY4&||@#$8t#L5_Xtx$RPl7``yoCzA? zfgI&kmYMp896Vh;h8If2a!cois};K5o-3L0A8)b~1T^u)p z%BRKh;4AtTAC&7oQo@1#e?v@CZUq#H+(r~+$pV#o9ca*0xt{Tv0UTRYb}+t^FlR*= zc)~2o=7Z6?ruMCsNv#tkeXsU#Lne)2ms&LCyC3+X=^#*uP%-E<4k_4%%R7TWbGe3Z z=nGc$URu4kj*ud#)s-J47_?DlXoBP@@6&~B36RRu%IOM>;+(z<5XxC5L zgFdovC$Q;&zF6e*6I66k{(%fG5nl`0QSg~!_uFfeiO&q6<9ew7&$Hu$ByqJLd#50= zKx3B6`2Tbq#GVT`XI{Y5>_!yC1STxi^#V{|M9!~Dr#=>4r#ke`()B5M%sw~ex7}1~ zG|Sm-3bpTDTX9ihIuAp=gSZ|{iN$bDUToU?L2eOnnrGqw~b6ZWb`UDc=M5Y_UcpZ_?KK%b#l zy%L_3}{5{fXw8DMj5Z3VaAaXTMJ;QC3sx(BvWSQIdC25%7!+^!e25FAW(=61od z=f&E8o9E8!9S>^*guJIs9Vo-~+wf%?ohk&ii^ZhF)U@+q6(?uc8OmBNiS4l&)?&Rs zF}IxWs*JW&YvaMcEd;(`k%9uGBi<4^9CsiPf@w0hMOs2ms@Iu<~Q1sEx2>Shgm*e6i6%gmXFlg%XI#D=g2vr9ZpJFq?%()!2B>LI1HbK za>T|@!b)cOIld~B*pMV{m-CXoku3egXO`CT^r30NadctY7Y>GXM+iEKr3;R$Y&&hdpXcKsCxaJO8C|AF4Kv6awYKApizuy1o z3mOpbpSU>_ag(Vb7e|zU0`Xk{M#d|Qr^_e}{l|1b=SRA$`z;#o>&sV|flJlm5&db* z2bq(ck01P}548e>p0+-A)~KPgc_5QCl%a?zs`NG1iTLB(h7DruwKsO~B?#v2J{+EWXflJ{^qJii-+mhQZij@V?_gazJ1)(NV8d{=&4;a;K6ZV(Dtoi6us zO+!n?LMqSnZOve-^EV;bUy~#Q;Mt(QXyVHL6a5?XXg$UA(hdHwoWgcS23oIBSmWBi zgb`afl7R%Y6%27}7smM5<0@G0M=$nfgub`Y##4K1E#whx^B&*xvp4S3Z|WpgR#rHy z<2wWwyAOyDixqkE_>~~IASx~Lkpg_&vCC`KCUk89NGzbFm$^vvTo8T^5CMZAQ~(mq zNdaHQaIyrsZz2;9FEws>Tc83}$5jMK&^?oS#D(W=3&nvOFJ?IMOp))`)gZKp6z=ko zC$0Kj+H&>{MXivMlKGrGp>_9(tRu zfGFpRykbZH%t;wy1)Yt%`Y?(_m~0w5I(WYoywcI|eT~Jo9enNqOVCX_G&I*l?xPjO z*9XAuOgK0XU#UEQW%J^dt+ch5E%3k*6&4W}5Ec^<5rK$^ON&WKi%Rhc3rhTcs`=l}nI;lwiWC-8#xO$*+>_R`kwuCBIjuW;DaY~5_VUc7Sml4e)3aeryc zuI}RE;=@_*aiRnXlU!@?da|%%`PD* gEX)q}adfd^7v^PWAMyh^0nOp4t7t!|1Y5oSKRK^_MIk9cqwsY=x@7w?Ich&Aydv&kc z{nTC6Ye%anNuwa*BLV;b6j>Pwwf|7$e*+!%zxnO8D(63dwiZ~%r13I-{<7#&&HrpwXiezw4iPO`|%am&`VUS$`m=T!EeuIGu1)dp+0F?cmO zTFY-(^cK`@8n6-eO66%3*ReTlJ0Gb<6vKOg(L8FDSA#_ROui)E{8#rx%gn{nUnv_e zFI|R<>b^%)@~v-H)@{Z^V~m{Bc8`q=70=-PUC>P}eaiizEN|7xD5o$j8THfC(yq3W zql|%<)8a@}OsHA_&mSB=9!njE4X` z<#iQHm#}N#o(i=?tkkuZ@&)|TN2`ZVJ|o{M;JP$Z9$TcB4wh_ac1bowr2-a;;P`N( zlKNjiVf_~Klcvr^-B2kbzEq!+1?*2s{a;CzoS|N__On3fTRKxeRGG)Tk07X6=r$P- zZJ(gq&Vb5O{DsTo`G2~diq9__wj~h5J#98j=&EGWTT3wb$63#h9Izqfd0%n(H4rc> zwmk*S6;kS;UxFjZC+LSu03Wv_ok!2lfYdcbI!2wsxrLvpL%%g`8l{+(RZlr%W28FHa7 zWG(_#>xhY9O^~z?)Kt<&s4Yp#t}pBy*5>dnT-cTUyBF)O3dNuNJeXI{6E;b=)jR2* zq3Cu_?;u7rq)g$&ZeVtPv_PCl0RhgTqW~RnJ&`T*?+T7%>C~-@^0}x0y3O6vx&F+( zAJcP2gwKxJv1;@pi94>;I^qrWAbS=bzDv7hZ{XVCOt>po>qXA@^V(D0X%sVP#eohH zmR!1hRcT*YJ({5VAFjv}qzq~u|M~Om5@+uW z00p~bu=9z0@YJ}d9noL^5hIukbn3Eu8~AVmnBj;+Xi{oc0P>exDZX;$wKNA?H>8Ts z>B`*}ZBmWK=lKHewoA~_Dgk<&`!!5T{{p+``X1$7r^5Zd&c>ZRagHw)?IFlxDcj3~ zBy3|DiQM4b^8IN0Q>V~tx7@9Fa1(Y*T8vhaNnVJVC+@>`oUhagZTr(MyDAoei0(CM zXs&Xd#*@vkbwt-W;iWB(pKo%3Bd9cPbxm;jaN7`3G*plyM-#B<&nm!7)-Z^{OxCi} zBppT8?s@yzK|_s9lWyaOJWY7R^6ka~6Gk5z@IqB*Z0{_Qe!NUinlKF~v;?QsxzS!P zj4`ximGpCwPVqb9oYB<3WJ0)L|C~OI;}GAr=v+# zgm`IZQv}+1K0b(WaEQ?+{~`6uUrLO4$uZ8ccUbuH^Jo{ofrF+C@?$_V4M*^WL6QAH zS)u!!dzeeg#$F%cWk*5;ud$UbH!O(K_;q55U;vtz+#A!2#M5W!hG?L~B8_<@e4sYF zH*K>gQ1D1es?-nZM?kJ!ix)_}%JzrP?@-CD-8B3TlUC19&ksS9rzX_jn(MF>#}NV8 zwa6k@hxmZ-6^^a)`(v0Sz=1a`1Pw(79Jy@eYz|!M-H?QNcE+yzdU;&`zz~E`UfT-M zKYy_MAXb1;ZgT1MIV;n_zY1ZW9!SS(fox>9{aFWB`5u%`Nvc^%w4roh-WrNs8$}nCR-0iTzBW`i;OsyAGKEsJ(39o zKOY-};Trzs$;!!uOyI*@0vqxbMNG=pMV;Esb^aoCfbl-p_w1_0{=EffZQOxO7AWd_ zmo!&tv>`{ltU^K~3pxTwG=%qf7f0das9rCYmLn?`H}Ys!povozpc;@sCk66T<*+U+ zWJ}f6u(Nq>@r+bn8c*(?W9_T9*9`jWn%xa(k0X~re?j_>7i9P7IG*ZeD$xeY0|T-! zbTr`g6Di_MqKOZVpas3sxWaUM$>G+wy1&s5?Qn#&7`NNTh}FsY@91uh(Xz80H8#b6rgM?HUW{%IB4gEPSJNo}(6V`3p9`0^H zf^C`D>6MyGwDpaqN~=3>O@ZJ$0)j)wY-8ul_eERov?~p){V}sR0w9S78FA9Llka{5 z0Ug6rsQTtwl2ZQM&kFio#SQ+>0Y7dq$;?jrlY6p9SzoDm0!@+K7=q}QyO} z+#q=*=nfctx$UL~y73sc!cG&utz9pIJ#T#x@=f$|alr2h-IqP&jcLLDXvz2r^+FJ2wS zA!i7P-nJmtO-FX_V*h6ph=)5S$_f#NK@zhRgg}J4VO$}H2y78Ywvh;CQ{YnD=*2A# z9CSlDTe`8Cb<1%#E5*~a_lMLXtaL8eur5&CifztIVP1v$-tee6Xyy-z>1pM)vuLq6 zNzbn)*z0A~vvKPcYHeYxKkzl|VM*k3VKv7czNLSErYC;qC$i$Dy&$qFkt*>`;lvq$ zH_l@z*gCAngea}F?DfXsOE7$BP#h!W0jqV8b};+e=$b07SR?|H|tE!IJdg|RW* zZ&JDz&TZQp4i&8*7#sB9iD)*z9&(i-Gt&Z>&AN97fCTen@(ysh$TGoNmS0f5i#iEU z-((8vZu%?7QBDijc}sp$bzkZ);PGnNP~xnnQ+g~BePcd1e({y`0>Hfdp57G6+=9Y% zOjGhLTt8ks^5yWo5AQDh*C>1+!?dFi7k0hm5b`m#)E_<_mIPB1xp_c^cmOuIUbM^w=meD9NxCZSI*F6iFxC1nL|G*DGg5H7KZYkRX!cL zNYga7;6i7L&jdlj3+~S0(JHrT*5ky^wbh626$AavuiOUg%b^Mdo!O{CB*evL=N!$U z(t(k;C6g?dBIEP*QZF&mK?IO zvmx&K_#F-G1l*+fHfayXMwC>ATp0l2yh9mW%`3#ZNAZ&azQGrg3xb@3W=H=C^JsGM zF5iT-8oP8XdSMIwb1&gzaymWPOv5vVpf%$x0KDuY*z(IQcvW@!g|eKyiZ+pC*97VO zRMx?PkwtO!p!9=im)xuTf(zJxdBXug2*&68Y7?R-I^BMzu$CGiZz}s;-i~e|?c4qf z0aFh1iQ1TXGmIThSJ3t%-$)NvQXG}JO)1kYUcYGOz|i#{0I7ls+8v6npvrjGJ~@X+ zRSN5@3s~XD0!?yzo$~?VatZA$+c6?hO3KWRf&k|LUH-e$psruv%k2T^hcA$=jsvMK zhpC@Bh+k7or4#+8Yn9lvo>^ikLe5hL{Fun~f|k+Htl3m%cN7?QqXnz*V>GKew;>=- z2XngL5jZ6g0k5_fl?9r}xmb3>{G!R(olon3@>AG@lq2LKg$kR@hHH5Lsp3rH2ZsD2 zh5gl4PxWJRM9^>tntN(XKc@k9We|-VJt&Nj= ztW)pK!IjG^#rd=>SG5{2K4DE0){w!Qiz8&r=My5&Acfl&P5GtLo15P4l(L`FLv!T(W%Sx}i*Sfok z)Iajbav4}+S^bI~5#q%Cg+|>&!@_k1YaU={6&MyJZ?CiNz^Fp4=+I9TV=-LJQQmJ` zI5bB~R=Up=}q> zLGPOh-=^GqA$Z22_nxD6jIBxFt3>hojH32n|G787vdZs6)k#jt1j*~!UC(h0b{eTf z)>BDb%c;Ql2oZhQOSVYxmxsWGLpib9tc+iwFHus@v<;E4@-qMJ;RU60x9Kw^p#hE- z{`>o~Tp55Y6S5Ka3nyIZ8`@F9+diK)ywGvLnEk6iS)_kzzh%Va4CcTJU;la{d4t!k5v3M7bPV}{8+Vs?CUR<4mXWznt#G) z$l>q=Nf#&o(5oj@ONLawsBc{pwt;L<4~+q_wFzL?56M`AH}(5A!0fH4W=c8oS512y zw=mSZ$DrbrQz*tV2D23-1Ue$Z?=VSSTv20LZnXYx52MipW&X!BUDdrLDDh#Tw zqQTS*GKggm-<(KmqDzA~AXFOh1oi&i-u(%M*1%iuHvweiqImXv&oY|=e06D5Fh}fw zp>Py-!0`X1H(x#v_j5u9C@+C82NOX1IW5+Ie8c$`raxW~T2fK4Mw~8&?_n z1Q9av5iCfmdW6#Q^|L;_lXiIYaOd>+CGOez=JISqVCH$EfM~pWQWsbcdFtEZTE7iiRpA4#F> zaWFj^+d*-Ux=(lgpwf=}S&)}X+GuV)_jCU&SUX?ZL?n(PDok#Cb9murmZ9(tu%$bd zfLOr>?B^slE!!iENq6*pM+@;@X5q+}=g}`o-ve8~-DW&kzM(+#74*m9TGU>lq?{Dx zscndJED9QA?E1)O4n5|;u7!CGPU=L3^Bu}7C5Uw@+n;L$>@{0fw{_!;42K5?;q_Cn zE0F+PaD_*wcIH+!hA#mN#C!g=yGK#0Wa(-X+Xe+?XbQ%BR;x&bS zQ-|=3`f=zJ&n=O(z~GB8qvK{pF(dh0`2r(?Y6=mgl7WDEE;bY@vS5OmeVv+_)j^cx zh^^$P0`rm9;YHjIhoE0iy>SZPPHUET^#g3QTnj-Ym2hrhe8^j7$zZ%9VvSJa5AroB zobK_A@fDcIPEKy<-a~zsUCjIXJRdZGbXiXQYa>aa!{3BK?~R&y1^?ibg?3LJ8M)Mo ze823Wr?Uwgr~J<8;tr8uzVcywosM<32e-uZbo&%q>tLktO9&?9z7y8X5UoV=jWNPA z*gHEV@8+5vF^0Std(Q9_{mHpR4*mRukL^`E$%>D zr7bZlybk!CW5}+z!54H~hafBiU&m z!o5&LE`eDDG3+;npWOrpQt|Z0P~*JJ$F9O!*Qy00{W!y3mJ~eDXTyI8^AmkRBc*Gg zwDLN2TcyVM0MFH3h`KKX?Gk_AgPRJ) z_V|p`FK{sGb`ZoAGFU7qGvSZpyt`7W61hGYU^g$&{l9< z-X@fAAXdxYQOgzk?h*^=BY1R*lN6KM0J6Mf>Re|G$YY-M3 z$cLB6+|kF6w}?0=!@ig1_b~WGKdF35wLPEZ24$l7GsR^h%6l5+XnS&2=3)5@6cW(1 z{Gk_2f(?o?*AnB;M-UxMn92h`oX?9$Us8=J6VqL;ls+J*oyNk+8cr35f4`0DIqm$BfVLOkKy@ zK|ib;3eKrPbXws#=KTui7y4ta)CMxtH}aW-p}7EV>wBSEgb_~bkOI&mARRJpCA+F! zU}+)~QS#5p{014E*znl1Z9~BU%aXmPDn`z2nAoT|!zF=Qb^?_)xPlw?uzRCt88us> zW#c@6PUrO(Cep;ubsL838_$;CF>SvN?WzahFXQ!w;Y`YIte8f+>~|n>&E4SK)OQ}` z6`5hXQ2LJ}ns2#7o6=qMnL?%=a~Wc{VUd1I3{l~WHYZ^nK<)$-spyKT>qOk+j-bz3 zn)68Rg;!EI6$G9!_2d0)+^Pwn_x!oe?Bp23sbU?`BRyw3Lpfs95)|@WHJJ=m;1n~- zc`iV+%QhlJj9haz_2(&cb@(OmSbB$L<3?;pZX`wnTbmFro&35>t(uzQDL!DS9jZF6 z+j^uOfantQ06@pdfZmw4CQTe}e4pV0?|IbYCNI=jhd2R8SBm0A2_4gNdtBn}Q54hP z0?$2QJzfMYD?Q;m`zC+mQEf20-@7bzgg+J(F0ZL4<~sE=cbRv?h{#x_q+Wo(OU4)V z4?vD2$3opE;xc%ITBp1+&g+&r&2VmMz<;#+fTQ zR8Gkv4UnJ0@}+MzpXAkeAwCG#tJYbEbkR#(dZ@4?JHmCG9-G$uX}GQU66@^~HmD%nq)BaA*ZXq@iivpFNX3^hS=26x5< z!6Mm!g8wrbAJr!0C9$C=pajtfuxEo0n2F&7cnRfO*U%)($kRbZv2ca@WkLQyc%~`S z$$)I*5IA2RS%Lw3Uq_09 zVa#%Lw{Ufd){Q)IG>j(F=gzDueF?RVIdq#Ji%@kcpKeHXh*JSM^|Yk`E@0~tIgmhy zA_eOXho;qzgoeoUaDrZxR()5`K`QdY55OxU75q~oz6^5e8uyrBJ=mBs-7+4oV2=3N zL5W0kN7^BW@Hoh~zF#YnS#(=bpynDiKh~5F6Q&CCH8ZlNk;*EOhp=&%Bdmnf>NF_~ z;_VsDd$JV4e%gz!&cS$PqxhNIJv+a_I`z}Y8PMKsh8KkHhq%$Rphvi%Hahf3H)*3X zH21p}+CB_dC#$c01Ty`NzZf81y{p zr_?9fj9)w$uk>(+XL@**5B;N^52)OOT*BX;gLfz*k!-jFV^EUojJ*<=wrLO;q)>eLRZ^P=><)*w!AY!hALT zzODokFfOT|s72;_FZ9yS`kHcRKd-CcT?W`ve83zVIssf`T7H#bgkJs zP=lzfrq?yoM5VvISTyK4eLXhjE>`zu($3B!If&0i^0vWXKuD+y!GdDTe{3d+ANs(* zj2!yUBj2EV%W1Ew+5A`%I2lvjB0Mi=%M}*Vi7r=!3aX|Dx^QOXu z^FX_a^6)xr;j?YyHYA0LxA*u##U|7)K#a*v7q_$d7na&R(!-U56E%N_T>)HBYaGUn zujGs!(g~RZU<9b9NbLEWF`;FcxH3%aJV11LV_kHRblI8^|MOQClH=txF68!j%u*4a zNwlhmoV$=i1<(}?sk+t`J9_q4)Jn-FSy3={ya3c{N%v`%G?X=9rcp%nT{e6-p^$ZtIuNTjn^P2o8R<5$V#rad!SgsjJUqzemdY1w?W2Lj!Y| z3jvXS$~kNk)l2uQ0=G{4uABxI$x0yk)!+m+;4i>^m)&M~(Uk|$3g`33rhA#)Bk_49 z+%1GKEAC&JuA~kC9h39>s44t|tuavlHCcsc&Os%j@6Dez^=c~o#aZ_qsSsiS8y4!h z#XT@cj8Sn>hEaLd^YRL;#Ro&vi>wj`&P3oau*sim*P{Yu=79f(kQZl7SUKf6cH3t| zCU5=RE8~Z1yFLbfR+DTv$#NT2LA7U*D+Iz0xSz#nXgp7Em)g9$Vut&}?MhjqQ<=^g zMs^A=!Fp?r`0;_$>5oY}^_;qPKAjpQo6G&!WrXs4m*xmW2GmIu79VokQ*RvHbd-vR zO`al9g|+mdn3t*=X0_3bA}0!lFjt(YkB&RG`-26Yk77&7%mPBB(;(_Sblz5$A)_|S z5>*CkdA0r}V)(g;7B3m1Wm;XC9>Bd|i8XZy+Hs^i$MFWj6fHB3G*ksor7m4Yy&)<&%4cT# zBa0w|3ujt;hF;t0E^7{1;-><1USZ_(sIJfmoQxV^wxZNdHys1PxsCU*3l;mC(>ClJ z9j9GSW8|&vmkwX$hxr8L9;a(JC(y=WVvk!rSM=Wsf}#=m z_9gR;%MOoi8&%cDgYt@BB^O;5{Y#@*rC&M0kIVNi*rHazJaB^#^+e8n_Sw|40eZ$B zNmZX=c6G;RMKE$cVCKk5#A1!eY4fsmses-<*VR$kNHK%|%fKuIrzm$S?`IdHjXz=t zaMEKy zyo}-5%64L+iLaq~m47q)e+~>2Zfu+FE*kQ)=#|bdHl{J}(8L+?J5~^R*%@2vtwU~s zorM7re9?zKnb$#=oxs{Xw7f7$i-E@oR8zYN{Mb)B~2I)JC5w8O{Yg$v~o$!6lZ3R#Yc7w;-$LvsyU z9+W;b5h|U%z4__}iHB4&Sktxi9!8WmEl)eqvtIx0f9Yc#pk4Zytuqc`!u}Km%54`( z;uFpq?CbLCajJhYLV_8I|3F6hZ_H^j`25<$(3q_9SS(>(MP)}3oKQ}2t<9}Pqx(Sk zDNZ?inP-LcJdOOHMFRh|Y>*CvgA8D-~0rLwp+_h37sHgnM`$Z z4|cnciIG0GoA1ls_IAG>?LB1MjMN6I?dR0-Z{NFmmTQxB4tBKgSvJO(BeYYH8!a64 z`hTIpzkZ86`00diVSkkb;1nDWQ~_U{w&*h=J`mPDrl@UP4xtyyWHZ+xr=RJ2|a&cD|?!s(hhmts@NuYj)64JK2JSN%a z^N2p;A2u)40M~WKyZkO;g&EP>9t_S(OYN+y`efz5e+tJ-mjEPZ@-WIHEG3n3n7MRu z^6h*Bb|3JS)6Ufb)4o?h%X_{vZ}i~amYK{sY%!Fk-*I@g@xQ$si0GJv5BCMG7>+h{ zc>inZe`_E!?CRhkHu`Y80DB0yz`UUCZ@lP8x%PuC)6KEWagZ-lw2Md8<(oAS6x`l9 zyy$6Qqy32k!Ot)xm}|88og*}ss2MeQRJsm&h$ zIIk`$4r1JoH2Lb*Eema;-ZQ}b6ks9#FEUKlxmwZZY-bD|Yx*2U3I{LlvxDs}#hrZ0 zPwVAd!rhns)}dR7nDqg@G(NxlYcnN?!-P(oK*A!p`9sbf*i(a}>HBv}RT;jK+lvH$ zky%-rJg7dpl3%ds2HW?gYoB=Q);gD?;^)~Omu}^9O+t>HESok>x8CWURrGnc)xI_g zzrnsC;NOH_r?4N`Y`RAyULZJY$efl^PnsJ!BJQ2R5u(va@_K31Ru%Tw)ToxTo^LJW z4U3OLC7_F;v_E(lAP245C8$??{!=85A3!7;!TY}?XJN&b+ZZp1Yjm-~6 zYbP!nr6@~pw5GiDa2f_zLhWzn_wl;0tIOCHo2ab*HP_Z2?>+P{$HEc~N$d9i2!M_jHdfyMf5D4!;>dpj^Z%{j>S4`i?g#{0I=BHyr7ayST}<5^ zUHC{vEga1(NoDQr-Cf=Ok0NE|VPa)sVIWo4k|ve(a&mNWBUQ0?w`P=eAZ7YLQp?iC p)yC0*kCcmvg@shi-NxR6l!ca*bk2*;_P=rfSxF^{YB7_L{{g3g^DO`X diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-logo.png b/packaging/neo4j-desktop/src/main/resources/neo4j-logo.png deleted file mode 100644 index e00f90ffcbd4199fe1e85a0a2a555b2e6c4042ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15877 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 Gf&T|Wd0!U* diff --git a/packaging/neo4j-desktop/src/main/resources/neo4j-systray-16.png b/packaging/neo4j-desktop/src/main/resources/neo4j-systray-16.png deleted file mode 100644 index 5a741bc2a6a985328e81fc43df817e1ca046a313..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2000 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 diff --git a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf b/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf deleted file mode 100644 index a0d901595db37..0000000000000 --- a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/neo4j-default.conf +++ /dev/null @@ -1,99 +0,0 @@ -#*************************************************************** -# Server configuration -# -# For more details and a complete list of settings, please see -# #{settings-reference.url} -#*************************************************************** - -# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or uncomment it to -# allow files to be loaded from anywhere in filesystem; this introduces possible security problems. See the `LOAD CSV` -# section of the manual for details. -dbms.directories.import=import - -# Require (or disable the requirement of) auth to access Neo4j -dbms.security.auth_enabled=true - -# -# Bolt connector -# -dbms.connector.bolt.type=BOLT -dbms.connector.bolt.enabled=true -dbms.connector.bolt.tls_level=OPTIONAL -# To have Bolt accept non-local connections, uncomment this line: -# dbms.connector.bolt.address=0.0.0.0:7687 - -# -# HTTP Connector -# -dbms.connector.http.type=HTTP -dbms.connector.http.enabled=true -#dbms.connector.http.encryption=NONE -# To have HTTP accept non-local connections, uncomment this line: -#dbms.connector.http.address=0.0.0.0:#{default.http.port} - -# -# HTTPS Connector -# -# To enable HTTPS, uncomment these lines: -#dbms.connector.https.type=HTTP -#dbms.connector.https.enabled=true -#dbms.connector.https.encryption=TLS -#dbms.connector.https.address=localhost:#{default.https.port} - -# Certificates directory -# dbms.directories.certificates=certificates - -#***************************************************************** -# Administration client configuration -#***************************************************************** - - -# Comma separated list of JAX-RS packages containing JAX-RS resources, one -# package name for each mountpoint. The listed package names will be loaded -# under the mountpoints specified. Uncomment this line to mount the -# org.neo4j.examples.server.unmanaged.HelloWorldResource.java from -# neo4j-examples under /examples/unmanaged, resulting in a final URL of -# http://localhost:${default.http.port}/examples/unmanaged/helloworld/{nodeId} -#dbms.unmanaged_extension_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged - -#***************************************************************** -# HTTP logging configuration -#***************************************************************** - -# HTTP logging is disabled. HTTP logging can be enabled by setting this -# property to 'true'. -dbms.logs.http.enabled=false - -# Logging policy file that governs how HTTP log output is presented and -# archived. Note: changing the rollover and retention policy is sensible, but -# changing the output format is less so, since it is configured to use the -# ubiquitous common log format -#org.neo4j.server.http.log.config=neo4j-http-logging.xml - -# Enable this to be able to upgrade a store from an older version. -#dbms.allow_format_migration=true - -# The amount of memory to use for mapping the store files, in bytes (or -# kilobytes with the 'k' suffix, megabytes with 'm' and gigabytes with 'g'). -# If Neo4j is running on a dedicated server, then it is generally recommended -# to leave about 2-4 gigabytes for the operating system, give the JVM enough -# heap to hold all your transaction state and query context, and then leave the -# rest for the page cache. -# The default page cache memory assumes the machine is dedicated to running -# Neo4j, and is heuristically set to 50% of RAM minus the max Java heap size. -#dbms.memory.pagecache.size=10g - -# Enable this to specify a parser other than the default one. -#cypher.default_language_version=2.0 - -# Keep logical logs, helps debugging but uses more disk space, enabled for -# legacy reasons To limit space needed to store historical logs use values such -# as: "7 days" or "100M size" instead of "true". -#dbms.tx_log.rotation.retention_policy=7 days - -# Enable shell server so that remote clients can connect via Neo4j shell. -#dbms.shell.enabled=true -# The network interface IP the shell will listen on (use 0.0.0.0 for all interfaces). -#dbms.shell.host=127.0.0.1 -# The port the shell will listen on, default is 1337. -#dbms.shell.port=1337 diff --git a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template b/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template deleted file mode 100644 index 6f47b2c519190..0000000000000 --- a/packaging/neo4j-desktop/src/main/resources/org/neo4j/desktop/config/vmoptions.template +++ /dev/null @@ -1,3 +0,0 @@ -# Enter one VM parameter per line, note that some parameters can only be set once. -# For example, to adjust the maximum memory usage to 512 MB, uncomment the following line -# -Xmx512m diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java deleted file mode 100644 index 05495f336e5e8..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/ParametersTest.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop; - -import java.io.File; - -import org.junit.Test; - -import static org.junit.Assert.assertEquals; - -public class ParametersTest -{ - @Test - public void shouldParseConfParameter() throws Exception - { - // given - Parameters parameters = new Parameters( new String[]{"--config-file", "path/to/my-neo4j.conf"} ); - - // then - assertEquals( new File( "path/to/my-neo4j.conf" ), parameters.getConfigurationsFile() ); - } -} \ No newline at end of file diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java deleted file mode 100644 index dfda8413f90c0..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/config/portable/VariableSubstitutorTest.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.config.portable; - -import org.junit.Test; - -import java.util.function.Function; - -import static org.junit.Assert.assertEquals; - -public class VariableSubstitutorTest -{ - private static final Function TO_UPPER_CASE = new Function() - { - @Override - public String apply( String s ) - { - return s.toUpperCase(); - } - }; - - private final VariableSubstitutor substitutor = new VariableSubstitutor( ); - - @Test - public void shouldAcceptEmptyInput() - { - assertEquals( "", substitutor.substitute( "", null ) ); - } - - - @Test - public void shouldAcceptInputWithoutVariables() - { - String expected = "Hello/Kitty/{TEST}"; - assertEquals( expected, substitutor.substitute( expected, null ) ); - } - - - @Test - public void shouldSubstituteVariable() - { - assertEquals( "TEST", substitutor.substitute( "${test}", TO_UPPER_CASE ) ); - } - - @Test - public void shouldSubstituteMultipleVariables() - { - assertEquals( "TESTTEXT", substitutor.substitute( "${test}${text}", TO_UPPER_CASE ) ); - } - - @Test - public void shouldSubstituteMultipleVariablesInText() - { - assertEquals( - "APPDATA/neo4j-desktop.vmoptions", - substitutor.substitute( "${APPDATA}/neo4j-desktop.vmoptions", TO_UPPER_CASE ) ); - } - - @Test - public void shouldSubstituteMultipleVariablesInMiddleOfText() - { - assertEquals( "do/TEST/and/VERIFY", substitutor.substitute( "do/${test}/and/${verify}", TO_UPPER_CASE ) ); - } -} diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsTest.java deleted file mode 100644 index a630bc68b7c0a..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DatabaseActionsTest.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.util.Properties; - -import org.junit.Before; -import org.junit.Rule; -import org.junit.Test; - -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.desktop.model.DesktopModel; -import org.neo4j.test.TargetDirectory; - -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import static org.neo4j.server.configuration.ServerSettings.httpConnector; - -public class DatabaseActionsTest -{ - @Rule - public TargetDirectory.TestDirectory baseDir = TargetDirectory.testDirForTest( getClass() ); - - private File storeDir; - private File configFile; - - @Test - public void shouldCreateMessagesLogBelowStoreDir() throws Exception - { - // Given - Installation installation = mock( Installation.class ); - when( installation.getDatabaseDirectory() ).thenReturn( storeDir ); - when( installation.getConfigurationsFile() ).thenReturn( configFile ); - - DesktopModel model = new DesktopModel( installation, new Parameters( new String[] {} ) ); - DatabaseActions databaseActions = new DatabaseActions( model ); - - try - { - // when - databaseActions.start(); - - // Then - File logFile = new File( new File( storeDir, "logs" ), "debug.log" ); - assertTrue( logFile.exists() ); - } - finally - { - // After - databaseActions.stop(); // do not need to wait for the server to finish all its start procedure - } - } - - @Before - public void createFiles() throws IOException - { - storeDir = new File( baseDir.directory(), "store_dir" ); - storeDir.mkdirs(); - - configFile = new File( baseDir.directory(), "neo4j.conf" ); - Properties props = new Properties(); - props.setProperty( httpConnector( "1" ).type.name(), "HTTP" ); - props.setProperty( httpConnector( "1" ).enabled.name(), "true" ); - try ( FileWriter writer = new FileWriter( configFile ) ) - { - props.store( writer, "" ); - } - } -} diff --git a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java b/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java deleted file mode 100644 index 9051ebbf9fad5..0000000000000 --- a/packaging/neo4j-desktop/src/test/java/org/neo4j/desktop/runtime/DesktopConfiguratorTest.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (c) 2002-2017 "Neo Technology," - * Network Engine for Objects in Lund AB [http://neotechnology.com] - * - * This file is part of Neo4j. - * - * Neo4j is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ -package org.neo4j.desktop.runtime; - -import java.io.File; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -import org.neo4j.desktop.Parameters; -import org.neo4j.desktop.config.Installation; -import org.neo4j.dbms.DatabaseManagementSystemSettings; - -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -public class DesktopConfiguratorTest -{ - private File emptyServerConfigFile; - - @Before - public void setUp() throws Throwable - { - emptyServerConfigFile = File.createTempFile( "emptyFile", "tmp" ); - } - - @After - public void tearDown() - { - emptyServerConfigFile.delete(); - } - - @Test - public void configShouldContainStoreDirSetting() throws Exception - { - // Given - Installation installation = mock( Installation.class ); - when( installation.getConfigurationsFile() ).thenReturn( emptyServerConfigFile ); - - File storeDir = new File( "graph.db" ).getAbsoluteFile(); // will not create any file - - // When - DesktopConfigurator config = new DesktopConfigurator( - installation, new Parameters( new String[] {} ), storeDir ); - - // Then - assertEquals( storeDir.getAbsolutePath(), config.getDatabaseDirectory() ); - - File pathToStoreDir = config.configuration().get( DatabaseManagementSystemSettings.database_path ); - assertEquals( storeDir, pathToStoreDir ); - } -} diff --git a/packaging/pom.xml b/packaging/pom.xml index 311a764d50432..ee5500255166c 100644 --- a/packaging/pom.xml +++ b/packaging/pom.xml @@ -30,7 +30,6 @@ standalone - neo4j-desktop