pax_global_header00006660000000000000000000000064147325564060014526gustar00rootroot0000000000000052 comment=55873e2cef7f2b3e166afcd7e37099302d9a191b fcidecomp-2.1.1/000077500000000000000000000000001473255640600134605ustar00rootroot00000000000000fcidecomp-2.1.1/.gitattributes000066400000000000000000000000511473255640600163470ustar00rootroot00000000000000*.nc filter=lfs diff=lfs merge=lfs -text fcidecomp-2.1.1/.gitignore000066400000000000000000000001531473255640600154470ustar00rootroot00000000000000.DS_store _build ~$* __pycache__/ # Jupyter Notebook .ipynb_checkpoints/ nbs/ **/.idea/ #VS Code .vscode fcidecomp-2.1.1/.gitlab-ci.yml000066400000000000000000000241751473255640600161250ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl variables: &variables BUILD_OPTS: "-c conda-forge --output-folder $CI_PROJECT_DIR/conda-channel" CHANNEL_OPTS: "-c conda-forge -c file://$CI_PROJECT_DIR/conda-channel" CHANNEL_OPTS_WIN: "-c conda-forge $env:CI_PROJECT_DIR/conda-channel" EPCT_TEST_DATA_DIR: "/data/data-tailor" BUILD_IMAGE: "harbor.eumetsat.int/data-tailor/mamba-conda-rocky-build:1.4.2-23.3.1-8.8.20230518" stages: - docs - build linux - build win - test linux - test 32 - test 64 - performance - deploy pdf docs: stage: docs tags: - linux image: sphinxdoc/sphinx-latexpdf when: manual script: - mkdir -p pdf-docs - cd documentation - | for f in */; do cd $f; if [ -f Makefile ]; then make latexpdf LATEXOPTS="-interaction=nonstopmode" && make latexpdf LATEXOPTS="-interaction=nonstopmode" && cp _build/latex/*.pdf ../../pdf-docs/; cd -; else cd -; fi;done artifacts: paths: - pdf-docs expire_in: 7 days build linux: stage: build linux tags: - linux image: harbor.eumetsat.int/data-tailor/mamba-conda-rocky-build:1.4.2-23.3.1-8.8.20230518 before_script: - cd conda script: - mamba info - mamba create -c conda-forge -n fcidecomp-env - conda init bash && source ~/.bashrc && conda activate fcidecomp-env - mamba build $BUILD_OPTS . artifacts: paths: - $CI_PROJECT_DIR/conda-channel expire_in: 10 days build win32: needs: [] dependencies: [] when: manual stage: build win tags: - windows before_script: - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 script: - mkdir $env:CI_PROJECT_DIR\conda-channel - cd conda - 'cmd.exe /k "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" "&" set CONDA_FORCE_32BIT=1 "&" conda build -c conda-forge -c nodefaults --output-folder $env:CI_PROJECT_DIR\conda-channel .' artifacts: paths: - $env:CI_PROJECT_DIR\conda-channel expire_in: 10 days build win64: needs: [] dependencies: [] stage: build win tags: - windows before_script: - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 script: - mkdir $env:CI_PROJECT_DIR\conda-channel - cd conda - 'cmd.exe /k "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" "&" conda build -c conda-forge --output-folder $env:CI_PROJECT_DIR\conda-channel .' artifacts: paths: - $env:CI_PROJECT_DIR\conda-channel expire_in: 10 days .tests_common_linux: &tests_common_linux stage: test linux tags: - linux image: $BUILD_IMAGE when: manual dependencies: - build linux needs: - build linux before_script: - conda init bash - conda clean --all - source ~/.bashrc - mamba create -c conda-forge -y --name $CI_JOB_ID python=$PYTHON_VERSION - conda activate $CI_JOB_ID script: - conda install -y $CHANNEL_OPTS fcidecomp pytest - conda deactivate && conda activate $CI_JOB_ID - pytest -vv tests - conda deactivate test linux py39: <<: *tests_common_linux variables: PYTHON_VERSION: "3.9" test linux py310: <<: *tests_common_linux variables: PYTHON_VERSION: "3.10" test linux py311: <<: *tests_common_linux variables: PYTHON_VERSION: "3.11" test linux py312: <<: *tests_common_linux variables: PYTHON_VERSION: "3.12" .tests_common_win64: &tests_common_win64 stage: test 64 when: manual tags: - windows dependencies: - build win64 needs: - build win64 before_script: - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - mamba create -c conda-forge -y --name $env:CI_JOB_ID python=$PYTHON_VERSION - conda activate $env:CI_JOB_ID script: - mamba install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv tests - conda deactivate - conda env remove -n $env:CI_JOB_ID test win64 py39: <<: *tests_common_win64 variables: PYTHON_VERSION: "3.9" test win64 py310: <<: *tests_common_win64 variables: PYTHON_VERSION: "3.10" test win64 py311: <<: *tests_common_win64 variables: PYTHON_VERSION: "3.11" test win64 py312: <<: *tests_common_win64 variables: PYTHON_VERSION: "3.12" test win32 py39: stage: test 32 when: manual tags: - windows dependencies: - build win32 needs: - build win32 before_script: - $env:CONDA_FORCE_32BIT=1 - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - mamba create -c conda-forge -y --name $env:CI_JOB_ID python=3.9 - conda activate $env:CI_JOB_ID script: - mamba install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv tests - conda deactivate - conda env remove -n $env:CI_JOB_ID test win32 py310: stage: test 32 tags: - windows when: manual dependencies: - build win32 needs: - build win32 before_script: - $env:CONDA_FORCE_32BIT=1 - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - conda create -c conda-forge -y --name $env:CI_JOB_ID python=3.10 - conda activate $env:CI_JOB_ID script: - conda install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv tests - conda deactivate - conda env remove -n $env:CI_JOB_ID test win32 py311: stage: test 32 tags: - windows when: manual dependencies: - build win32 needs: - build win32 before_script: - $env:CONDA_FORCE_32BIT=1 - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - conda create -c conda-forge -y --name $env:CI_JOB_ID python=3.11 - conda activate $env:CI_JOB_ID script: - conda install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv tests - conda deactivate - conda env remove -n $env:CI_JOB_ID test win32 py312: stage: test 32 tags: - windows when: manual dependencies: - build win32 needs: - build win32 before_script: - $env:CONDA_FORCE_32BIT=1 - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - conda create -c conda-forge -y --name $env:CI_JOB_ID python=3.12 - conda activate $env:CI_JOB_ID script: - conda install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv tests - conda deactivate - conda env remove -n $env:CI_JOB_ID performance linux py39: stage: performance tags: - linux when: manual image: conda/miniconda3-centos7:latest dependencies: - build linux needs: - build linux - test linux py39 before_script: - conda init bash - source ~/.bashrc - conda create -c conda-forge -y --name $CI_JOB_ID python=3.9 - conda activate $CI_JOB_ID - conda update -n base -c conda-forge conda script: - conda install -y $CHANNEL_OPTS fcidecomp pytest pytest-benchmark - pytest -vv perf - conda deactivate performance win32 py39: stage: performance tags: - windows when: manual dependencies: - build win32 needs: - build win32 - test win32 py39 before_script: - $env:CONDA_FORCE_32BIT=1 - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - conda create -c conda-forge -y --name $env:CI_JOB_ID python=3.9 - conda activate $env:CI_JOB_ID script: - conda install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest pytest-benchmark - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv perf - conda deactivate - conda env remove -n $env:CI_JOB_ID performance win64 py39: stage: performance tags: - windows when: manual dependencies: - build win64 needs: - build win64 - test win64 py39 before_script: - invoke-expression -Command C:\BuildTools\Microsoft.PowerShell_profile.ps1 - conda create -c conda-forge -y --name $env:CI_JOB_ID python=3.9 - conda activate $env:CI_JOB_ID script: - conda install -y -c conda-forge -c nodefaults -c $env:CI_PROJECT_DIR/conda-channel fcidecomp pytest pytest-benchmark - conda deactivate - conda activate $env:CI_JOB_ID - $env:EPCT_TEST_DATA_DIR="C:\\BuildTools\test-data" - pytest -vv perf - conda deactivate - conda env remove -n $env:CI_JOB_ID deploy local: stage: deploy tags: - linux image: harbor.eumetsat.int/data-tailor/mamba-conda-rocky-build:1.5.2-23.9.0-8.8.20230518 needs: - build linux # - build win32 - build win64 script: - conda index $CI_PROJECT_DIR/conda-channel artifacts: paths: - $CI_PROJECT_DIR/conda-channel expire_in: 10 days fcidecomp-2.1.1/AUTHORS.txt000066400000000000000000000001121473255640600153400ustar00rootroot00000000000000# Copyright holder EUMETSAT # Authors B-Open Solutions srl THALES Servicesfcidecomp-2.1.1/CHANGES.md000066400000000000000000000026511473255640600150560ustar00rootroot00000000000000# Changelog All notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [2.1.1] ### Added - Added support for HDF5 (1.12 and 1.14) - Added support for Python 3.10, 3.11, 3.12 (Linux only) ### Changed - Improved IPR and license information - Updated dependencies. ### Removed - Remove support for Python 3.7, 3.8 ## [2.0.1] - 2023-03-17 ### Fixed - Fix licenses and incomplete copyrights around. ## [2.0.0] - 2023-01-17 ### Added - Inventory items - Restructured FCIDECOMP software source code, for compilation in Linux and Windows (32/64-bit) environments - Python package, to allow for the use of the FCIDECOMP decompression filter within Python - Conda package build system including both the bare FCIDECOMP software and the associated Python package, supporting Linux and Windows (32/64-bit) environments and Python versions 3.7 to 3.9 (extremes included) - Automatic tests based on `pytest` - Performance tests based on `pytest` and `pytest-benchmark` - Instructions to build and install the software from the source code (Ubuntu 20.04 and RockyLinux 8) ### Changed - Adopts Apache License Version 2.0 for FCIDECOMP source code - Update CharLS library from 1.0 to 2.1.0 ### Fixed - Move inline macro functions to function to avoid critical code smells fcidecomp-2.1.1/INSTALL.md000066400000000000000000000110011473255640600151010ustar00rootroot00000000000000# Install the EUMETSAT FCIDECOMP software This document describes how to install the EUMETSAT FCIDECOMP software. Two installation methods are available: - [installation via ``conda``](#installation-from-conda-package) using pre-built packages, supported for the following Operating Systems: - Linux CentOS 7 64-bit - Linux Ubuntu 18.04 LTS 64-bit - Linux Ubuntu 20.04 LTS 64-bit - Windows 10 64-bit - Windows 10 32-bit. - build and installation [from the source code](#build-and-installation-from-the-source-code), available for the following operating systems - RockLinux 8 64-bit - Ubuntu Linux 20.04 64-bit ## Installation from `conda` package ### Pre-requisites Installation requires: - `conda`, installed as described [here]() - a connection to the Internet ### Installation Start by creating a new `conda` environment. Let's call it `fcidecomp`, but any valid name would do (change the following instructions accordingly): conda create -n fcidecomp python=$PYTHON_VERSION where Python versions currently supported by ``fcidecomp`` are 3.7 <= `$PYTHON_VERSION` <= 3.9. Activate the environment: conda activate fcidecomp Now execute: conda install -y -c anaconda -c conda-forge -c eumetsat fcidecomp ### Post-installation configuration Once the installation has completed, re-activate the `conda` environment running the following commands: conda deactivate conda activate fcidecomp This last step ensures the `HDF5_PLUGIN_PATH` environment variable is correctly set to the directory containing the FCIDECOMP decompression libraries. ## Build and installation from the source code ### Install pre-requisite packages #### Rockylinux 8 64-bit Instructions in this section need to be executed as super-user. Versions are pinned for clarity and replicability (other versions may work as well). First, install the software required to build the binaries (common for ``CharLS`` and ``fcidecomp``): yum install -y git yum install -y cmake-3.20.2 gcc-c++-8.5.0 # cmake 3.20.2 also installs make 4.2.1; gcc-c++ also installs gcc Then, let's install some ``fcidecomp``-specific dependency packages; ``powertools`` from the ``epel-release`` repository is needed as well, so execute the following: yum install -y zlib-devel-1.2.11 dnf install -y epel-release dnf config-manager --set-enabled powertools yum install -y hdf5-devel-1.10.5 #### Ubuntu Linux 20.04 64-bit First, install the software required to build the binaries (common for ``CharLS`` and ``fcidecomp``): sudo apt install -y git sudo apt-get install -y cmake gcc=4:9.3.0-1ubuntu2 g++ Then, let's install some ``fcidecomp``-specific dependency packages: sudo apt install -y zlib1g-dev libhdf5-dev ### Build CharLS Next step is to build and install CharLS. `fcidecomp` has been tested with CharLS version ``2.1.0``, so let's use this one: git clone -b 2.1.0 https://github.com/team-charls/charls.git && cd charls mkdir release && cd release cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=On .. make && sudo make install ### Build and install ``fcidecomp`` Now we can build ``fcidecomp`` proper. Obtain the source code either from the Open Source EUMETSAT repository (set ``FCIDECOMP_TAG`` to the proper ``fcidecomp`` tag, e.g. `2.0.0`): git clone -b $FCIDECOMP_TAG https://gitlab.eumetsat.int/open-source/fcidecomp/ or obtain the source code as a `tar.gz` package and uncompress it: tar xzvf fcidecomp-$FCIDECOMP_TAG.tar.gz Now build and install the software as follows (set ``FCIDECOMP_TAG`` to the proper ``fcidecomp`` tag, ``PATH_TO_CHARLS`` to the path where CharLS has been installed, i.e. ``/usr/local/lib`` if the defaults are used, and change the installation paths below as deemed appropriate. Note that install commands require super-user privileges): cd fcidecomp/src/fcidecomp ./gen/build.sh fcicomp-jpegls release -DCMAKE_PREFIX_PATH=$PATH_TO_CHARLS -DCMAKE_INSTALL_PREFIX=/usr/local/fcidecomp sudo ./gen/install.sh fcicomp-jpegls ./gen/build.sh fcicomp-H5Zjpegls release -DCMAKE_PREFIX_PATH="/usr/local/fcidecomp" -DCMAKE_INSTALL_PREFIX=/usr/local/fcidecomp sudo ./gen/install.sh fcicomp-H5Zjpegls Finally, set the environment variable ``HDF5_PLUGIN_PATH`` to the install path of the compiled HDF5 plugin specified above (following the instructions above, it is ``/usr/local/fcidecomp/hdf5/lib/plugin/``): export HDF5_PLUGIN_PATH=/usr/local/fcidecomp/hdf5/lib/plugin/ fcidecomp-2.1.1/LICENSE000066400000000000000000000261171473255640600144740ustar00rootroot00000000000000 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 2019-2022 EUMETSAT 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. fcidecomp-2.1.1/NOTICE.txt000066400000000000000000000350761473255640600152150ustar00rootroot00000000000000************************************************************ Notices for fcidecomp ************************************************************ h5py-h5py 2 [Dependency for the full package] (BSD-3-Clause) https://github.com/h5py/h5py Copyright (c) . 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 holder 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 HOLDER 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. ************************************************************ h5py-h5py 3.6 [Dependency for the full package] (BSD-3-Clause) https://github.com/h5py/h5py Copyright (c) . 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 holder 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 HOLDER 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. ************************************************************ hdf5 1.10 [Dependency for the full package] (HDF5) https://www.h5py.org/ HDF5 (Hierarchical Data Format 5) Software Library and Utilities Copyright 2006 by The HDF Group. NCSA HDF5 (Hierarchical Data Format 5) Software Library and Utilities Copyright 1998-2006 by The Board of Trustees of the University of Illinois. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted for any purpose (including commercial purposes) 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 materials provided with the distribution. 3. Neither the name of The HDF Group, the name of the University, nor the name of any Contributor may be used to endorse or promote products derived from this software without specific prior written permission from The HDF Group, the University, or the Contributor, respectively. DISCLAIMER: THIS SOFTWARE IS PROVIDED BY THE HDF GROUP AND THE CONTRIBUTORS "AS IS" WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT SHALL THE HDF GROUP OR THE CONTRIBUTORS BE LIABLE FOR ANY DAMAGES SUFFERED BY THE USERS ARISING OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to The HDF Group, without imposing a separate written license agreement for such Enhancements, then you hereby grant the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form. ************************************************************ libnetcdf 4.8.1 [Dependency for the full package] (MIT) https://www.unidata.ucar.edu/software/netcdf/ 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. ************************************************************ libssh2 1.10.0 [Dependency for the full package] (BSD-3-Clause) https://www.libssh2.org/ Copyright (c) . 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 holder 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 HOLDER 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. ************************************************************ python 3.8.16 [Dependency for the full package] (PSF-3.8.16) https://docs.python.org/3/license.html 1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and the Individual or Organization ("Licensee") accessing and otherwise using Python 3.8.16 software in source or binary form and its associated documentation. 2. Subject to the terms and conditions of this License Agreement, PSF hereby grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, analyze, test, perform and/or display publicly, prepare derivative works, distribute, and otherwise use Python 3.8.16 alone or in any derivative version, provided, however, that PSF's License Agreement and PSF's notice of copyright, i.e., "Copyright ┬й 2001-2023 Python Software Foundation; All Rights Reserved" are retained in Python 3.8.16 alone or in any derivative version prepared by Licensee. 3. In the event Licensee prepares a derivative work that is based on or incorporates Python 3.8.16 or any part thereof, and wants to make the derivative work available to others as provided herein, then Licensee hereby agrees to include in any such work a brief summary of the changes made to Python 3.8.16. 4. PSF is making Python 3.8.16 available to Licensee on an "AS IS" basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 3.8.16 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS. 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 3.8.16 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 3.8.16, OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 6. This License Agreement will automatically terminate upon a material breach of its terms and conditions. 7. Nothing in this License Agreement shall be deemed to create any relationship of agency, partnership, or joint venture between PSF and Licensee. This License Agreement does not grant permission to use PSF trademarks or trade name in a trademark sense to endorse or promote products or services of Licensee, or any third party. 8. By copying, installing or otherwise using Python 3.8.16, Licensee agrees to be bound by the terms and conditions of this License Agreement. ************************************************************ team-charls-charls 2.1 [Dependency for the full package] (BSD-3-Clause) https://github.com/team-charls/charls Copyright (c) . 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 holder 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 HOLDER 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. ************************************************************ unidata-netcdf4-python 1.6.2 [Dependency for the full package] (netcdf4-python-MIT) https://github.com/Unidata/netcdf4-python Copyright 2008 Jeffrey Whitaker 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. ************************************************************ zlib 1.2.13 [Dependency for the full package] (zlib/libpng License) https://directory.fsf.org/wiki?title=Zlib&oldid=19466 Copyright (c) This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. ************************************************************ fcidecomp-2.1.1/README.md000066400000000000000000000153461473255640600147500ustar00rootroot00000000000000# EUMETSAT ``fcidecomp`` software The ``fcidecomp`` software enables decompression of JEPG-LS netCDF files via netCDF-C and netCDF-Java based softwares, various Python libraries and the EUMETSAT Data-Tailor software. ## Supported platforms and installation The ``fcidecomp`` software can be installed on: - RockyLinux 8 64-bit (also from source code) - Linux Ubuntu 18.04 LTS 64-bit - Linux Ubuntu 20.04 LTS 64-bit (also from source code) - Windows 10 64-bit ## Installing the ``fcidecomp`` software Installation procedures are described in the INSTALL file. ## Testing the ``fcidecomp`` software (only for the conda-based installation) A set of Python unit tests is present to ensure the installed software works correctly. They should be run within the Conda environment in which the software has been installed. ### Prerequisites - `pytest`, installed in the Conda environment in which the software has been installed as described [here](https://anaconda.org/anaconda/pytest) Also, the tests depend on the presence of a set of test data, which can be downloaded [here](). Test files should be placed in a directories tree structured as follows (replace $EPCT_TEST_DATA_DIR with any chosen name): ```BASH |_$EPCT_TEST_DATA_DIR |_MTG |_MTGFCIL1 |_ |_ |_ ... ``` Once this is done, the environment variable `EPCT_TEST_DATA_DIR` should be set to the full path to the `$EPCT_TEST_DATA_DIR` directory. ### Running the tests Tests can be executed running the following command from within the root directory of the ``fcidecomp`` software repository: pytest -vv tests ## Using the ``fcidecomp`` software The ``fcidecomp`` decompression library can be used in different ways, described in the following sections. ### Use with netCDF4-C tools ### Prerequisites To use ``fcidecomp`` with ``netCDF4-C``-based tools (e.g. ``nccopy``), two prerequisites are needed: - the tools must be installed - the ``HDF5_PLUGIN_PATH`` environment variable must be set as described in the `INSTALL` file. If using the conda installation, simply activate the environment created above and the prerequisites are met. If the package has been installed from the source code, set the environment variable and install the relevant package (``netcdf-4.7.0`` on RockyLinux 8, ``netcdf-bin`` on Ubuntu Linux 20.04). ### Example with ``nccopy`` Once the prerequisites above are met, netCDF4-C tools should be automatically configured to decompress JPEG-LS compressed netCDF files. As an example, to decompress a file using `nccopy`, run the following line: nccopy -F none $PATH_TO_COMPRESSED_FILE $PATH_TO_DECOMPRESSED_FILE where: - `$PATH_TO_COMPRESSED_FILE` is the path to the JPEG-LS compressed file - `$PATH_TO_DECOMPRESSED_FILE` is the path where the decompressed file should be saved ### Use with `h5py`-based Python libraries (conda install only) Once the `fcidecomp` Conda package is installed and the Conda environment in which it is installed is activated, use of the ``fcidecomp`` decompression libraries should be automatically enabled for `h5py`-based Python libraries. To ensure the ``fcidecomp`` filter is loaded, in a Python shell execute: import fcidecomp Now every `h5py`-based Python library, such as `xarray`, will be able to open and read JPEG-LS compressed files without further steps. ### Use with netCDF-Java based tools With netCDF-Java versions greater than 5.5.2, it is possible to open JPEG-LS compressed netCDFs with netCDF-Java based tools, such as toolsUI and Panoply, instructing netCDF-Java to use the netCDF-C library for reading purposes. To enable this feature: 1. if ``fcidecomp`` has been installed from the source, install the netCDF4 library package (``netcdf-4.7.0`` on RockyLinux 8, ``libnetcdf-c++4`` on UbuntuLinux 20..04) 2. ensure the file `$HOME/.unidata/nj22Config.xml` exists (if it doesn't, it should be created) and that it contains the following lines: $PATH_TO_NETCDF_LIB_DIR netcdf true where `$PATH_TO_NETCDF_LIB_DIR` is the path to the directory containing the `netcdf4` library, which: - in Linux (conda install), corresponds to `$PATH_TO_CONDA_ENV/lib` with `$PATH_TO_CONDA_ENV` equal to the path to the `conda` environment in which `fcidecomp` is installed. - in Windows (conda install), corresponds to `$PATH_TO_CONDA_ENV\Library\lib` with `$PATH_TO_CONDA_ENV` equal to the path to the `conda` environment in which `fcidecomp` is installed. - in RockyLinux (install from source), corresponds to `/usr/lib64` - in Ubuntu 20.04 (install from source), corresponds to `/usr/lib/x86_64-linux-gnu/` Tested with ToolsUI 5.5.3 on Windows, Panoply 5.1.1 on Linux (known as not working for Panoply for that version in Windows due to a Panoply issue). ### Use with the EUMETSAT Data-Tailor software A plugin enabling the decompression of JPEG-LS Meteosat Third Generation (MTG) products via the ``fcidecomp`` software is available for the EUMETSAT Data-Tailor software. For further information, refer to the README of its [public GitLab repository]() and the dedicated EUMETSAT confluence page which, once created, will be a subpage of the [Installing or removing customisation plugins]() page. Inventory Notices ----------------- Licenses and copyright information for software dependencies up to version 2.0.0 is documented within the ``inventory`` folder. Files listed under `inventory/items/data_proprietary.ABOUT` are licensed under EUMETSAT Proprietary license. #### Dependencies The following dependencies are not included in the package but are required and they will be downloaded at build or compilation time: * component name, version, SPDX license id, copyright, home_url, comments * charls, 2.1.0, BSD 3-Clause, - , https://github.com/team-charls/charls, - . * hdf5, 1.12.* to 1.14.*, BSD 3-Clause, - , https://www.h5py.org/, - . * h5py, 2.* and 3.6.0, BSD 3-Clause, - , https://www.h5py.org/, - . * python, 3.9 to 3.12, see https://docs.python.org/3/license.html, - , https://www.python.org/, - . * zlib, 1.2.13, zlib (http://zlib.net/zlib_license.html), - , https://zlib.net/, - . * libnetcdf, 4.8.1, MIT , - , https://www.unidata.ucar.edu/software/netcdf/, - . * libssh2, 1.10.0, - , see https://www.libssh2.org/license.html , https://www.libssh2.org/, - . * netcdf4, 1.6.2, -, - , https://unidata.github.io/netcdf4-python/, - . fcidecomp-2.1.1/conda/000077500000000000000000000000001473255640600145445ustar00rootroot00000000000000fcidecomp-2.1.1/conda/README.md000066400000000000000000000054441473255640600160320ustar00rootroot00000000000000# EUMETSAT FCIDECOMP Conda recipe ## Manual build and installation instructions The FCIDECOMP software can be manually built as a `conda` package and installed using the provided `conda` recipe. ### Pre-requisites Build of the `conda` package and its installation require: - `conda`, installed as described [here]() - `conda-build`, installed as described [here]() - a connection to internet Build on platform Windows require also: - `Visual Studio Community 2022`, installed as described [here]() (make sure to install on default location `C:\Program Files\Microsoft Visual Studio\2022\Community`) - install also these Visual Studio workloads: - Desktop development with C++ (with optional package "C++ CMake tools for Windows") - Universal Windows Platform development #### Tested compilers The build process has been successfully tested with the following compilers: - `gcc`/`g++ 9.3.0` on Linux platforms - `MSVC 19.30` on Windows platforms ### Conda package build and install on Linux To build the `conda` package, run the following command from within the `conda` directory (replace `$BUILD_DIRECTORY` with the path to the directory where `conda` packages will be dumped): conda build . --output-folder $BUILD_DIRECTORY Once `conda` packages have been successfully built, create a new `conda` environment. Let's call it `fcidecomp`, but any valid name would do (change the following instructions accordingly): conda create -n fcidecomp python=3.7 Activate the environment: conda activate fcidecomp Execute: conda install -y -c anaconda -c conda-forge -c $BUILD_DIRECTORY fcidecomp ### Conda package build and install on Windows From the Windows menu `Start`, select the Visual 2022 folder, then open the proper command prompt: - x64 Native Tools Command Prompt (to build for platform 64bit) - x86 Native Tools Command Prompt (to build for platform 32bit) Then, only in case of building for platform 32bit, type: set CONDA_FORCE_32BIT=1 To build the `conda` package, run the following command from within the `conda` directory (replace `%BUILD_DIRECTORY%` with the path to the directory where `conda` packages will be dumped):: conda build . --output-folder %BUILD_DIRECTORY% Once `conda` packages have been successfully built, create a new `conda` environment. Let's call it `fcidecomp`, but any valid name would do (change the following instructions accordingly): conda create -n fcidecomp python=3.7 Activate the environment: conda activate fcidecomp Execute: conda install -y -c anaconda -c conda-forge -c %BUILD_DIRECTORY% fcidecomp fcidecomp-2.1.1/conda/bld.bat000066400000000000000000000102661473255640600160020ustar00rootroot00000000000000:: ============================================================= :: :: Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) :: :: 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. :: :: ============================================================= :: AUTHORS: :: - B-Open Solutions srl @echo ON setlocal enabledelayedexpansion set PATH_TO_DELIVERY=%cd% set FCIDECOMP_BUILD_PATH=%PATH_TO_DELIVERY%\build if not exist "%FCIDECOMP_BUILD_PATH%" mkdir "%FCIDECOMP_BUILD_PATH%" cd %FCIDECOMP_BUILD_PATH% if "%ARCH%"=="32" ( rem Install CharLS cmake -LAH -G "Ninja" ^ -DCMAKE_BUILD_TYPE="Release" ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCMAKE_PREFIX_PATH=%LIBRARY_PREFIX% ^ -DOPENCV_BIN_INSTALL_PATH=bin ^ -DOPENCV_LIB_INSTALL_PATH=lib ^ -DBUILD_SHARED_LIBS=1 ^ -DCHARLS_BUILD_TESTS=1 ^ -DCHARLS_BUILD_SAMPLES=0 ^ -DCHARLS_INSTALL=1 ^ .. cmake --build . --target install --config Release if errorlevel 1 exit 1 ) rem Build FCIDECMP xcopy /E %PATH_TO_DELIVERY%\fcidecomp\* %FCIDECOMP_BUILD_PATH% rem Build fcicomp-jpegls call gen\build.bat fcicomp-jpegls release ^ -DCMAKE_BUILD_TYPE="Release" ^ -DCMAKE_PREFIX_PATH=%CONDA_PREFIX%;%LIBRARY_PREFIX% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DCHARLS_ROOT=%CONDA_PREFIX% ^ -DCMAKE_INCLUDE_PATH=%SRC_DIR%\src ^ -DBUILD_SHARED_LIBS=OFF ^ -DCHARLS_BUILT_DLL=1 if errorlevel 1 exit 1 cd %FCIDECOMP_BUILD_PATH% call gen\build.bat fcicomp-jpegls test if errorlevel 1 exit 1 cd %FCIDECOMP_BUILD_PATH% call gen\install.bat fcicomp-jpegls if errorlevel 1 exit 1 rem Build fcicomp-H5Zjpegls cd %FCIDECOMP_BUILD_PATH% call gen\build.bat fcicomp-H5Zjpegls release ^ -DCMAKE_PREFIX_PATH=%CONDA_PREFIX%;%LIBRARY_PREFIX% ^ -DCMAKE_INSTALL_PREFIX=%LIBRARY_PREFIX% ^ -DHDF5_USE_STATIC_LIBRARIES=1 if errorlevel 1 exit 1 :: Fails :: cd %FCIDECOMP_BUILD_PATH% :: call gen\build.bat fcicomp-H5Zjpegls test ::if errorlevel 1 exit 1 cd %FCIDECOMP_BUILD_PATH% call gen\install.bat fcicomp-H5Zjpegls if errorlevel 1 exit 1 cd %FCIDECOMP_BUILD_PATH% call %PREFIX%\Scripts\pip install --no-deps --ignore-installed -vv %RECIPE_DIR%/../src/fcidecomp-python if not exist %PREFIX%\etc\conda\activate.d mkdir %PREFIX%\etc\conda\activate.d copy %RECIPE_DIR%\scripts\activate.bat %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.bat copy %RECIPE_DIR%\scripts\activate.ps1 %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.ps1 copy %RECIPE_DIR%\scripts\activate.sh %PREFIX%\etc\conda\activate.d\%PKG_NAME%_activate.sh if not exist %PREFIX%\etc\conda\deactivate.d mkdir %PREFIX%\etc\conda\deactivate.d copy %RECIPE_DIR%\scripts\deactivate.bat %PREFIX%\etc\conda\deactivate.d\%PKG_NAME%_deactivate.bat copy %RECIPE_DIR%\scripts\deactivate.ps1 %PREFIX%\etc\conda\deactivate.d\%PKG_NAME%_deactivate.ps1 copy %RECIPE_DIR%\scripts\deactivate.sh %PREFIX%\etc\conda\deactivate.d\%PKG_NAME%_deactivate.sh fcidecomp-2.1.1/conda/build.sh000066400000000000000000000043441473255640600162040ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl # Code inspired by: # - https://github.com/conda-forge/charls-feedstock/blob/master/recipe/build.sh # - https://github.com/mraspaud/fcidecomp-conda-recipe/blob/master/build.sh #set -ex $PYTHON -m pip install $RECIPE_DIR/../src/fcidecomp-python --no-deps --ignore-installed -vv PATH_TO_DELIVERY=$(pwd) FCIDECOMP_BUILD_PATH=${PATH_TO_DELIVERY}/build mkdir -p ${FCIDECOMP_BUILD_PATH} cd ${FCIDECOMP_BUILD_PATH} # Build FCIDECMP cp -r ${PATH_TO_DELIVERY}/fcidecomp/* ${FCIDECOMP_BUILD_PATH} ## Build fcicomp-jpegls ./gen/build.sh fcicomp-jpegls release \ -DCMAKE_PREFIX_PATH=${CONDA_PREFIX} \ -DCMAKE_INSTALL_PREFIX=${PREFIX} \ -DCHARLS_ROOT=${PREFIX} ./gen/build.sh fcicomp-jpegls test ./gen/install.sh fcicomp-jpegls ## Build fcicomp-H5Zjpegls ./gen/build.sh fcicomp-H5Zjpegls release \ -DCMAKE_PREFIX_PATH="${PREFIX};${CONDA_PREFIX}" \ -DCMAKE_INSTALL_PREFIX=${PREFIX} # Fails (4 out of 7 tests failing) # ./gen/build.sh fcicomp-H5Zjpegls test ./gen/install.sh fcicomp-H5Zjpegls mkdir -p "${PREFIX}/etc/conda/activate.d" cp "${RECIPE_DIR}/scripts/activate.sh" "${PREFIX}/etc/conda/activate.d/${PKG_NAME}_activate.sh" mkdir -p "${PREFIX}/etc/conda/deactivate.d" cp "${RECIPE_DIR}/scripts/deactivate.sh" "${PREFIX}/etc/conda/deactivate.d/${PKG_NAME}_deactivate.sh" fcidecomp-2.1.1/conda/conda_build_config.yaml000066400000000000000000000001301473255640600212120ustar00rootroot00000000000000python: - 3.9 - 3.10 - 3.11 - 3.12 pin_run_as_build: python: max_pin: x.x fcidecomp-2.1.1/conda/meta.yaml000066400000000000000000000024561473255640600163650ustar00rootroot00000000000000# Code inspired by: # - https://github.com/conda-forge/charls-feedstock/blob/master/recipe/build.sh # - https://github.com/mraspaud/fcidecomp-conda-recipe/blob/master/build.sh {% set setup_data = load_setup_py_data(setup_file='../src/fcidecomp-python/setup.py', from_recipe_dir=True) %} {% set charls_version = "2.1.0" %} package: name: fcidecomp version: "{{ setup_data.get('version').replace('-', '_').strip() }}" source: - url: https://github.com/team-charls/charls/archive/{{ charls_version }}.tar.gz # [win32] - path: ../src/ build: number: 1 requirements: build: - {{ compiler('c') }} - {{ compiler('cxx') }} - charls={{ charls_version }} # [win] - cmake - hdf5=1.12.2=nompi_* - m2-patch # [win] - make # [not win] - ninja # [win] host: - charls>={{ charls_version }} # [not win] - hdf5=1.12.2=nompi_* - h5py >=2.10 - netcdf4 - python {{ python }} - zlib run: - charls={{ charls_version }} # [win] - charls>={{ charls_version }} # [not win] - hdf5=1.12.2=nompi_* - h5py >=2.10 - libnetcdf!=4.8.0 # [win] - libssh2 # [win] - netcdf4 - python {{ python }} fcidecomp-2.1.1/conda/scripts/000077500000000000000000000000001473255640600162335ustar00rootroot00000000000000fcidecomp-2.1.1/conda/scripts/activate.bat000066400000000000000000000016471473255640600205330ustar00rootroot00000000000000:: ============================================================= :: :: Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) :: :: 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. :: :: ============================================================= :: AUTHORS: :: - B-Open Solutions srl set HDF5_PLUGIN_PATH_EXT=%HDF5_PLUGIN_PATH% set HDF5_PLUGIN_PATH="%CONDA_PREFIX%\Library\bin" fcidecomp-2.1.1/conda/scripts/activate.ps1000066400000000000000000000016351473255640600204650ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl $env:HDF5_PLUGIN_PATH_EXT=$env:HDF5_PLUGIN_PATH $env:HDF5_PLUGIN_PATH="$env:CONDA_PREFIX\Library\bin" fcidecomp-2.1.1/conda/scripts/activate.sh000066400000000000000000000016401473255640600203700ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl export HDF5_PLUGIN_PATH_EXT=${HDF5_PLUGIN_PATH} export HDF5_PLUGIN_PATH="${CONDA_PREFIX}/hdf5/lib/plugin/"fcidecomp-2.1.1/conda/scripts/deactivate.bat000066400000000000000000000016201473255640600210330ustar00rootroot00000000000000:: ============================================================= :: :: Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) :: :: 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. :: :: ============================================================= :: AUTHORS: :: - B-Open Solutions srl set HDF5_PLUGIN_PATH=%HDF5_PLUGIN_PATH_EXT% set HDF5_PLUGIN_PATH_EXT=""fcidecomp-2.1.1/conda/scripts/deactivate.ps1000066400000000000000000000016021473255640600207700ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl $env:HDF5_PLUGIN_PATH=$env:HDF5_PLUGIN_PATH_EXT $env:HDF5_PLUGIN_PATH_EXT=""fcidecomp-2.1.1/conda/scripts/deactivate.sh000066400000000000000000000016041473255640600207010ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl export HDF5_PLUGIN_PATH=${HDF5_PLUGIN_PATH_EXT} export HDF5_PLUGIN_PATH_EXT=""fcidecomp-2.1.1/documentation/000077500000000000000000000000001473255640600163315ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/.gitkeep000066400000000000000000000000001473255640600177500ustar00rootroot000000000000008f4d0f493fef0ded61e8ec80b87b3e21bef73679.paxheader00006660000000000000000000000235147325564060020777xustar00rootroot00000000000000157 path=fcidecomp-2.1.1/documentation/EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification Control Document.xlsx 8f4d0f493fef0ded61e8ec80b87b3e21bef73679.data000066400000000000000000001356751473255640600176560ustar00rootroot00000000000000PK7РJT _rels/.relsнТ┴N├0 Жя{К*ў5▌@бж╗LH╗!4└$n╡Йг─ГЄЎD Н▓├Оq~■bе▐Ln,▐0&K^ЙUYЙ╜&c}з─╦■qy/6═в~╞8GRoC*rПOJЇ╠сA╩д{tРJ шєMK╤чcьd=@Зr]Uw2■dИцДYьМqgVв╪╝ДMmk5nIz>3тW"У!v╚JLг|з8╝ eЖ y▐e}╣╦▀яФ 0HMЧ!цю╚╙╖О!¤Ф╦щШШ║╣цrpbЇ═╝Д0gt{M#}HLюЯ3_JЛZЮ№╦цPKЕЪ4Ъю╬PK7РJTxl/workbook.xml╡Хmo┌0╟▀яSd┌; хбМP▒диЭ╢╢*м}ЙЬф╥x5vfЫЗn┌w▀%!║ UUЗЯЭ ¤╬w╛ N╓sn-Ai&ЕGЬFУX "3qчСя╙q╜G,mиИ)Ч<ЄЪЬ ▀ VR▌ЗR▐[°╛╨IН╔·╢нгцT7dgйц╘рP▌┘:S@cЭШ9╖▌f│c╧)дTшлЧh╚$a2Z╠AШRDзщu╩2MЖГДq╕)▓hЦ]╨9b√ФG─n▒пФ╥ш~СНq╡G╩5`ай\]Ж? 2хЬX15р7Пк%{╥рJtГ╞▄p├`ечєaбx&√%Еб|)╔╣GМZl╝!иa╤s3У|гж4╘Хq}╦D,W┴=ь<пК╟[Ы╪iїО*█░╗╘xдч╗─24╝╬7╩#э&╛Ц0еMсдPб╔╨_>┬АьЭИКЬUwKФ*▒hм┬B╩█yМюЛb18┐dЪЕ▒UЯсД:П▌\vWтўO[XZЦВЦ╓╓гЦ{@лїTы\0├(╖n№`Gвu@тиИ▓ -ЖД Иєb┘Y╔BI▐I╩тDХ.єьэ0Ч<│5є╞ л╦А (ю=═▀]ЖX5─ ╡-║сGЪI¤i'А╥Ё╛6к9¤┌ЧZл█╪;D/─█ ў∙ЬКяЇ╩ЯNВрСx&=┤hy аf┴е?╗╕l:З╕Ю+Ыj╦№Ъ╙}{оk°Й-ч╡LШ╞ц█3═ж2r█Эf■ы╛═э┬$╞'Ёd|┴СПЎU╖оў&╒тYХ┘Х`$,З╧ю║╬╕е│с╙╙█│╚О¤N м╛K/0ЬYЄ ╣}пўЁpCщНOV0 Kє)'М▒O) h┬Мэч╟M╠f<─fwб&mўLыё7нvўх a└╜XМЛп¤Р■уjжe╞Ш]УФatц╓╥{╦)&[╗фУ▓mf4#А■#?№═╣&└╠Iт'ФGГ╠)│Cрb╔я╟▄L)О╪ЗLЖ{"4_╒ВСогX,.aЪ#пe.╙Бо"3│~Hf╬oЎЎпeцТ3▒рJFкжУЮєкК╣▒╣У_їVШ┐жэ╦вPс╚ЎKЖ3Ж_╣ф?є<#╢[╠Ўz~XFбЇБU{<Уn? M█?О├═s%щD)iУщc({ ?L┴МжUeJ №мб▒─■dк∙ф╡╪ЦZ╝еp╞Iт}MГВ5¤Вй/┤0ЯЮИ?2bО5DAjШёТ%Бш√#Ю└Ь═`Кs7М╧╛Г sr &Zhiнч{H┘;ЬZчт┤їsи"╣ИT-їqж▌8гpць▒╒8╙8╙8╙8╙8sО3GзЩ▓╙╥╩ЫОV▐┤uЄ╞╙╔Щ╥"╜х\┘┼2=sч5╓щ)V▒ВїLбФщ┌чЦ2ы∙!ZEh.ь╛║╒5%╪:з┴vy╨ыU nEOEн█аvjюнP;g▀!▌|╤}tЎ*FьxJлdкД╓z1dЄ╜н╗Щк|╓А╢ZўЎСv╖┘мq6╗`3FDw─╝fЭqj'Ц╫+ф4БэДXыVQ@UXo S╒ ╨╗эН/kuнТёyiн╕{v│┘рюВнИ┌С=╨╡{╬kU╧а7├ь╛│┌Сп:╪┌SuэfЫ▌ўЬ╘ю╡к│Zл░г╓.В╓╛═^╟q╠7;2J s╚j КлюАйrYG└(О┤NI№ `═x╝"`D╤"╛\]с:c@V╛iжb═И|c%ТQжcyд`5))╡┬ь╘╡л>c▓[╕┤ .W┤ъ4OЎ4╔`╡Й░~a5╠ў═2ь9─■_%╬7uН▓W╔c═░╝t╦вAьT─┤╠dU TтОУ┐зC"k╗є"╝FШ╜ё@лєЎШ.QЎJ╗=╓Ў'┴Е│ОЄЯєєXsк┴O╤ЪЯ°Соa│щ Ж"ёd Мq∙Y{■╫їВАг0■╡ ╦Е▄ТР+Z╨lУ╦ЇJ2Эc2%[¤Т\O&ў╛$╠E╝ТHW&ЄnЕ╛#№Д▐┐JVJOD▌¤V;┘e╚ю╝┐╫ o╔b:ЦЯж╕╧ЧЬгТ▒m■_╬с<ХХ*NЧs·╩ў▒э╛Т├yrm*Щ╛RЖ╙хЬ▌╔К2;rП]Є7ї<╟q]ву▒М├pФks]█ViS∙╢;jЇ╨NvTф╦▒Vў╢:BО╟БкOПEИкO╒СиzS5╓Ь#я~yЮ╝╖UvOnG;В'уЁШТ╦8яUХoкмцxЮК├cQго+ўzwTыa иFЙуxЮЬ├eф8ОК├GгЪгЄА√ат8щфfэхo+╦ы╓ю┤ў╤/PKX=╢ я2^PK7РJT#xl/worksheets/_rels/sheet3.xml.relsНП╦ ┬0Eў~EШ╜I█ЕИШv#B╖R? $╙4╪S!ЪHНъШєн╓d;ш U)CФУM┬▐░,▒╒┘╪нiAПы·ZуWЖЪЯ1Леk.▌HлCЖЯ░╙fу-▄%;Ї∙ВЕюДД┴╟н@ ╢└', ╖ї╠Kвe2\y!8├жdуC┬│║╘МZ┌`@Э1╜Вх╥%KЪ▓╫ЧoГG°шГ>╜УУў{╤DФ╛Ьw№┐Є╩Cё╥┼╤s╜3┴╗S╔@╝╢ЖАNеИ,╕сЧуШ№Сq@Ц─9 нПе▒╬╩L▓╧ 0 =╛ЩNj}╠ЙРЄ╖пf·ьу╠▀PK╨т9/oPK7РJT#xl/worksheets/_rels/sheet1.xml.relsНП╦ ┬0Eў~EШ╜IыBDЪv#B╖R? $╙4╪п■╚Чp·xv;;Ю|╗╬dДї▓OКts7¤m■!6оыCЪ#■Уе/eчїд|╠_9┴зmRЮ╞k╨-▓╡╚Ўй╘кx:т┐є3▀z2 ∙hu?°o*#;AС=<╩)КtSЭЗмТ/Я╙m║к╥uў╝OO╒V^фєў▌Ч|{`ЭnТзmUOA^./N■,g|7▌╫ynхР∙б╛ДЩn╖wSs>Эмъc}9■Х1Э№╚є▌чU▓Х)═//;яуцtUы~є╙Е█\╬╫j╫.ЦШD{Їk╨\╖'я║╛▄oЄze}╒┘>к`к`й`лр┤ 3Ч3*хеЮя/og╧ї]Пp╒S<BД С q zgєє┘*Ш*X*╪*8*╕*x*°**Д*"тЇ"^ОёЄя■К√╚#ФЯcУG\ўП░x─▓Д╜TЧIWO_Е@ЕPбBдB╝XжЫС к╜i/;▐(+u<дє;эїыpц4─Еx@BИАDР╕+╜─ы{╖?]кУ√xвne:Т▐)M8╤!╣$ПфУRHдИўиўшuu╬╕чМ{ОgЪ':$ЧфС|R@ IВСтїу~│з╛√я■\c╪├╓6NtH.╔#∙дАТ)"┼=ъЗ¤f=} ░uЖн3lЭaуDЗфТ<ТO H!IР"R▄г~╪o╢╥ў█`╪├66NtH.╔#∙дАТ)"┼=ъЗ=nўЬ/ЎВa/6NtH.╔#∙дАТ)"┼=ъЗ¤f } ░пЎ├╛b╪8╤!╣$ПфУRHдИўиЎ╕▌s~═░Пdt┬╛f╪8╤!╣$ПфУRHдИўиЎ╕-t╛d╪KЖ╜d╪8╤!╣$ПфУRHдИўиЎЫ]Є¤├Fч·xвn╪ьО<╤!╣$ПфУRHдИ╧[дЎfЛ|ў░5v╚u┬╓╪!yвCrI╔'дР$H)╓;дЎfЗ| ░┘ O╘ {╬░┘ I.╔#∙дАТ)"┼┌`Г╘╞mРфЙ║ak Ы ТфТ<ТO H!IР"Rм 6Hm▄й▒AТLТE▓I╔%y$ЯРBТ EдX,Х┌╕еRcй$Щ$ЛdУТKЄH>) Е$AКH▒6╪3╡q{ж╞ЮI2I╔&9$ЧфС|R@ IВСbm░zjуVOН╒УdТ,ТMrH.╔#∙дАТ)"┼┌`╒╞mг█(╔$Y$ЫфР\ТGЄI)$ RDК╡┴ВкН[P5TТI▓H6╔!╣$ПфУRHдИkГЭU╖│jьм$УdСlТCrI╔'дР$H)╓kм>nН╒YcI&╔"┘$ЗфТ<ТO H!IР"Rм6[}▄fл│┘ТLТE▓I╔%y$ЯРBТ EдX,╗·╕eWg┘%Щ$ЛdУТKЄH>) Е$AКH▒>╪їq√п╬■K2I╔&9$ЧфС|R@ IВСb}░ ъуЎ_Э¤ЧdТ,ТMrH.╔#∙дАТ)"┼·` ╒╟э┐:√/╔$Y$ЫфР\ТGЄI)$ RDКї┴■лП█uЎ_ТI▓H6╔!╣$ПфУRHдИыГ¤W╖ ъь┐$УdСlТCrI╔'дР$H)╓√п>n ╒┘I&╔"┘$ЗфТ<ТO H!IР"RмЎ_}▄■л│ ТLТE▓I╔%y$ЯРBТ EдXь┐╞╕¤╫` %Щ$ЛdУТKЄH>) Е$AКH▒1╪Нq√п┴■K2I╔&9$ЧфС|R@ IВСbc░ уЎ_Г¤ЧdТ,ТMrH.╔#∙дАТ)"┼╞` 5╞э┐√/╔$Y$ЫфР\ТGЄI)$ RDКН┴■kМ█ Ў_ТI▓H6╔!╣$ПфУRHдИГ¤╫╖ ь┐$УdСlТCrI╔'дР$H)6√п1n 5╪I&╔"┘$ЗфТ<ТO H!IР"Rl Ў_c▄■k░ ТLТE▓I╔%y$ЯРBТ Eд╪` ЭuЎU┘е┼C│5N)У{┌╫╔O;z▄╗шъC▄l0{=№■ЎPd√ъ╙б┘jЄШ&їЮVхya^╖-RхsZЭ╖М╔ЛьG╛пТнЩюл┤шl0єЬU╢т│vж()2yсm│╣╤х┼їq╗гуы*?4пф╖ K^╔чцЇю▒┘3й~╖Ш╧ЧЧЛє?╙╔&╧лЯ4;o№ЇtШТCZ|╬~╘╔l;[m▓вмъ Мтз▌Чfдi╗I╘i╟ау█єA╙I=ьзвЩ╤:┘ ёШю?╔;ЧvС╔o6▐║ЫЄв*ТмТ7│MV_█п z╠кє╛SУuСt╢xZ╔ї1є]╜ГWYя╥┤ЧЎTжО:╗╙╫э╝╓!л │шхk°п▓╩Y╜Ш═ &╤Жш4yM╓┘f#h_5xЭ╙Й?н╫Ўєыў°■6_п█Элф╒y-_╢#╢|~▌╜╪¤эqG▒Iё!УПDсп█Н ╬√е▌ PKЕ╪6uS sMPK7РJTxl/worksheets/sheet2.xml╜Ymo█6■╛_!ш╗-KФ▀█Eь.kБ┤)ЦvЎeа%┌цBЙI┘u¤О╘ЛЩ 2 SА$фёtў▄y<щя~$╠9!)OЧо?╣I#╙t┐t┐}╜╠\G*Ь╞ШёФ,▌3Сю╗╒/ЛOЄ@Иr@@*ЧюAйь╞єdt ЦCЮСVv\$X┴Tь=Щ ВcєP┬╝`4Ъx жй[H╕пС┴w;Сў<╩ТкBИ +А/4УХ┤ёлф┼Я└╘ Oт√bеЦчЗWЄ .∙N #ЮФ╨онЬ{єgv&╤kА%X<х┘g`▄Ц2к╬г╗Zс_Д│гLёЙ╟ЧfТ└ZЖўфСиoЩYW_∙ T╦▐jсХп1ъ░;ВьЦюн│ ═b8■аф$cG°щц ╦JЮ!■&h|OST%ЄТ°;?m8√ЮАн╒\°УА╦*Ва√@╝';UЛTx√HЙЙЯйy╚-Пчd╦Y-!&;Ь3е1А>.*· /▌T;ФБLЮi┬Ш6╘u"═√LB╫∙╔yЄanЄз│╞№│y╝M╒╜╟gЮ┐└ъ╬М>[╬Я4I╦щ03┤Г3мПNЙ┬u0PПд@│Ў╟MBём# 11╤Лu╠┤шц╕К╬Э┘5ю╥рЗя4V@ц╟hьП'┴╕Ўц╤nЗeVA8кyщl^8·Ю nГзI∙Е}▐3їл8UЪ┐┌╜ g▓┴(ЧК'%о"D╟$╡к5:№0┬ЪЪ RЭMИїй┤o<Ь!эа╖╒Ф:Ы╬i°zЭ%эUJQйY Е@ЪНP╕╕╚OXс╒BЁУ#М{ ═E4.к╦0╖ ╝/─▌р║▓М╓╩ЇТ┌√p░ЦоЄqхП▐QД_└T z└PШoЖzЖ,└;░░W`б▓ЫЎ lj┘cб╪мW`│╪д l\3BїъїЕxН,o─иг>B╜^kdy'F│h╜^kdй╟╨╝ZпЧ╞НпбЕU ъ╖ D ┤оп/¤╓Е╚rgД▀_Pп)ўYRn╪ёЎ√Щ/┤ф╡░у6√═kб%пЕэ█└k|'=Ь3"@°УlМЛ╞ЗyЙ7ФИП1╪SЩ1|^║ЩрУH bIяH▌╤╚tЪG╠h\ Б5╒ўЎХT┐!5°пRСjaId1ДЗ"чВHло░б 5tщ>У╝ё╝=U oЗ$OИТX iк<╨Д S╞ЕG2Ф▒|O╙От╚x═ИОЖЇВщ Н< у/A2.Ф)SЪ═|╚L╬9м╗ЗЧ&╤■╥ jS╔х¤Ы ·Уз │ IНПър$>║ZЁКv╫',╖tШi#НЖ╙▓▒TО╧╠2чЦ+╪u╒ь`║Sz6Ў¤┘h\ ╕╬Оse_Єъ[Ю9<╥ЯдhPФ=$▌┌Q!Хю}╬УнСфэ╕к5SNы^Мыh▒┬ К∙)¤z щX╟BP0▄ь ╪=рБйcОЮn╙°√Бк║├ч─7Ъial├▌+Х║Ц-ЧфоНо:мu ▐gTЧxгЛє/ФИgT╙7[╤8ё╬° Ў▌nJХQp┴TСт°╫у% м<ОЛ!lи╞ЖЕ─В\ПЫ╩`ZўаW PKї▓Jg¤╟PK7РJTxl/_rels/workbook.xml.rels╜У┴N├0 Жя{К╚wЪ╢бж╗ д]╟xА(uЫjm┘╢╖_:iк8L;Y╢у  кїa─ў▐)(▓:уЫ▐u ▐v/wП░о╒╙╢}`Сn+░1Ж')┘X5g>аKЫ╓╙иcjйУAЫ╜юPЦy■ iкїЩж╪4 h╙ v╟А ╤Ўm█|Ўц}D/XHО╟9)jъ0*°ю│дЄ▓}yM√OO{╢ИёПрwФр╛J1│╝1L9│║1╠rц■к)▒Ъ░yНФ"? ╦t№│иф┘GиOPKr)X,с?PK7РJTxl/sharedStrings.xml═X█n7}яWz└лХlчR∙ил╕pзВ┤▒ВааvGК\є"Go∙З╛╢?Ч/щРk╔л─iGFQЇEаЦ│3gnЗ├=~∙q!┘МZЭ┤║эNЛБ*t)╘ьдї6?K^┤Шu\Х\j'н╪╓╦╙яОнu _UЎд5wоъей-ц░р╢н+P╕3╒f┴■5│╘Vxiчn!╙¤NчY║рB╡Xб╜rh╢{╪b^ЙkY¤ф∙є╓щ▒з╟╤J╧V╝@уи╞ВYBыЇ╝_kT#─o`)р&╤╙╦Y╠Вwбэа╛-Ї ,sД> У┌▒jгJdК█z лu╣■вчъ■ИеьM6┬№к■Kqr┌║╖к╪paq y:╘"п┴╪·┤;=Нw>Wс< yщюi╦/|╡╧ф ю▒є║)|DuС═─ШЙ%и-[Є%▐█-║ЕICX°ао} L╝ФHц{_a╝RbоГ╕EЎ2жu╥╤╘^фbнфк■#CХч{ -МcAYи╕ ·ъN█у╧Я■ш┐|■Ї'√Ak \1╝ЧбФ6OОВ["6Б╥3Din0gс√Ж╗Ы╩└i=Є│╥7 ╡ZO<а╧ZФЄю 9Dў0ыZrГ°ц| dlt ╨ Bф╖nfр6┤f¤ж╜╜Пу▓╛РЬyЗУC╜~└1┤є+ЇП)С[ъ│с┴\O7ц6F№lЙ}'~}╔8г]gCibиЗТ 5╡эNЧvo─╞МьzъбЕ║яЭfAУ╞┴┐ЭgTDCn-∙\A?ўi╒.Ь▒CЎЛwХwїдq╧}║йТh6╕Иw)8ї╡╥┤Я=H∙SZg ¤┌и│[ЫбЫxFЭyd=ЎЪ╗ф5С в·$Qд&^RoQяў$╤Я|╡r`X`ЩЙ╓h`╕┬╙p╖&iФsjн;¤ PK+ПXрэPK7РJTxl/media/image1.png╝╗T╤╓&КююБ┴бqw╖\hаС╞]ГЧр.В╗Kp╖р▄▌u:ў┐ў╬╠ ▐№3│▐Zп╫к>Uзvэ│х;[zUЗлй╚вгРа└└└а╦╦I}ДББ╙БЮ7 #B┐╟йЄa`Z└ТТjи▄Э?╩J└└╚Е'{█тI├Їu┤┘x_3f╛A ╔√эU╞┬Т(QЖ|EрM%,tвЄа6q|▓╩▀ш^sr"╝ШЗ2iCЙЕпДноЮП Ф№Е-Ш ПЎ┘ЪСЖ╞Ю╓Ъ¤:Ц@сKjъЭe╟ы╬0/Чё√ОA4├ь\╪Tx<АКayы├ГЁm"цБ@ti<)C╫╟Тз;K╟╬m°uу╔О-╚{Ыа╡a°pУjю▀│3Ё№0-┤З4q\ИЄ│Ы╥oФ╬sб;zЭциn;╬░є▄)HН╓Эц╙╧.07йy$0х0ХС%0│╓0╙╨хф-C"¤`G╚W(lЗр- Цp7;Л|┼vZ!Ў:Вq<иwV╡DУ∙s1Х▌Ял╬─д╨P'╤яp:Ь▐│F2m/Уm8№l:6haL┤O╖цTbR╩╔KGJзO3█iA┬╡}ЫЇЎ<╪ї-=о3nHOr╧щW╣Д╘┌ў√QаZP ╚╥щu╦фв╧fh$1zЎ╙O█ХфЇм┼LпЮ▒·m'╢║╣╝┌ТZЇ6gпОTИ|NЦ_Uь╘оThтфмЎ╤у╫gь╟{¤tN\оЬS┘З▓S╤к╫.Xk-Е┘Г╧cЯE1╥S▓R┌Ь+Eh╜0pHИ╝,╧+KАфMЎ╤╗╤ГПЫїкdк█┌ДWLV╛fЮЄЫ ЇЎЎ┌╤-╔╘FeъИM и%рuF┤Ф╩┤mybїУ╧├Єp~┼¤Шм┴цЙўFЫ┬НbЧmyT╘xё>:╦gM° Qzц┤щVеэh0{чВд}юyMEїGЪ┌Т╬н°s!Т╠шЧёхЗ8щ3ЮR╝ёAЯїэuO=сCЄ^Ф¤Щ┘╡ о(╧°5╙ЪН■t е▀╤KьЎn╢зА(░kкШ|▄╓Ряy52ЩЩ°|∙Е0=eЗuщr ╖"СYЇх "y┐т┌pж┘k?у┌╞iUд═m╕uN╕▒▌Vr▒╧Xd╣ |╝╙K┘_П▓tЄьЄd∙о├┴З√ъЁ╚0╚ sїы┤^e╟Q└ерZ^g№Вl╩єЩ▀╥ъН"=bfйPaжСЯ█▄Ге╧э'у╬■In7Чл╩Йn LTaцхЙ▌ DЭnЫjУ░-фГ╡Т%l╨я3Ь Э/J.▐╛Ь╕Є╦'Z╦Hй}бХ¤┴Ёылy╚wT5iVZЯ┬% qkП5═HДT7╫|▓В?T╪║:∙И `[20╝qв·ц▄*ъНЯ\─Ilivє|ФТR№0єp)sФiШТп╧0їaИ─phьXrXbыИ!╚шhDpьbjЁэ6сс▌A(X╣ЯйaP▐а!P│╦┼х╣D╙йэйuх¤ВС╞CCPW│b╟· єЖ┘┼уO n╒║║ч4╣OюPLYКЭ┴dBL\ >ВЭЦ╜'7H,нМ ?!т╜{░xЛ▐Ю!9C:√S3'▓Б├┌- мЇ┘gЪ`d },4R╚ВF│╖r║╬00мя■░Евn00ИерO:.:╩JfЎvм@s{SлЗЭ╠▀ПРиЗ╨╠фBe ▓CДiN[:hи└ц┬4┌▄╩ь╩Т +░ЬЧH├KхУЩЧН┐9НиХРЗФБ╚Hхag qЁж∙_ш∙▀i6кР╕╪╙И ╜AегмF%iявтfхa1уpRёЄ│rЁ░єsШй8┘9x┘╪y┘8╕X╪9╪y╕°й■∙бБоцdn!ЁQJцЯkAпДiм\\╪╪▄▌▌Y▌╣XэЭ,┘8°∙∙┘╪9┘89Yа,╬Юа ─∙▌┐8HБЬ═Ь└.`{╒▀kай╜лЛ0 ═┐T░s°7[Иє?═5Ы╨БНГХЭэ_Дцf жspu▓¤╟тцfl [Ртт ех°7нГХ╜Л╜│Х¤ Вї┐o O @%QV■пe▒│√7╡│Л┤Ы╦Mэ№╔╙─ЎфlяъdТvГК∙юяуТN аЛ╜╙'{{█9Jэ_2QIJR1hГ!цЎю╬М 9H z╙p▓s▓│░s▒pp|тА: └╔┼Ї╫yь Aкlo╢Ё№ТЄ ╪╕∙ 'R(`╠Б.└ -▒╣ЩАЕ╜Ук.╪h bsАX╥P¤█ИТЎ╢ЎN╨Еб\╕■╟yyhjw▓╖█Bo№3┼ ceeeyИ│ bТЧжБ╬░В┴ц@>.Sv ╚bjтaЄ°Y°f  3n >S.SN.о=/eoц·╫эЯ П`noхё▀чцтс733egс7хВ~▒,ж~(K3sn(;vvss│qSuC7!╨Ўф·W*s(Gv/шпm8x-,X╕°@~n3v>S ?З9Р▀┬Ї/╘ ГУ╪ъW╧B_ф°╧3[0╒?#4√╗Дi╠■сRsЪNГ _ьё┤Є?Яw╖A■Kl№Щ│╜ЕЛ;╨ $n ╒ЄГ<╢ Хш╬@╖ Zps /// ЧЩ)ИЕ▌jz>>> `┴╔i╩cuМ┼ ZЁ ╛ {┴ ∙ИЩb ВFT╢ к№ЯaЄ gU╪■;╢╪■3ь╪■S╚¤╫4О Г№_ zёяВ@Y;AМnЮO& МrИ╝Ф°'П╠уwC╫√╬єq~ў╙г,ЧLБ▄#Їd╬D:Q)ql╝Юg\l52Ql[R~Юлp}┌█шоуE`r╣bъ\Ь№▌M▄с3ЧнГъG╕х=@'n└ёюVу|г d╕q▄TН┘·Е[Дс┌}цЛ╥▒o@]yyPлG@s]┤╛D├╥Ў[ъy╪.D;l╓╟╔?O/┐рCЫб:I╜╕▒FЯ-Пa╦|ЕQо+█+@щTdКзFЯ╕&В╬=rК4d1u╘Ы№З>WKF╟4BзCЦ`╜╡`#В─NЭa╡=▐cу┴Г╢ч┴▒Эф╩;иEє╫╚LVЮЧ╜▓╜\╕ш┐|▄3взЭ~:SНМпQBжюqШ)ЖЖyq╪х<уЫеф╔Е╥И┌моЎСПЧТм■u╘єT1╠aЇЎ5│■┬╜q╝J├сzеуЪєaX3╙_:о;╜юоїЎ"Єh╧[И─;G7╕[мм▐b║┌ ╡I█lёЧn▐В▀Ё╙{┤M+ч]Ы[LKЧз~  ╠Н^ОDQМI&П∙LА─ДбЩ&<я$ъАк╣<У}N':─ 8@х■GJ1и╘gяЄ╛■'\№_АыQ═] 9■Mrr╖╕MP┼F;ъDо╨D▀МўGтч╒МSf;ЖL╖мQЮ ХБ]┌ё▌|Ўнў[ю∙рBed!9(г╩OЦкБшофн-yсI·єУxEхMaЖv╪z-Ы┤∙_aЦ,>пE┐[ ЧN(╗ЖчLВ`ЛbYLwюh▐╟╤я9cМQ╛╞ЄжцЕcF ┤(FЭw2Ш═(67СYП┘N7╛AC╪Г^5Xщ▄╨Dg6Ь╨╖!C0$Е▐╞#fр?▐I1Фu^Ъ|b╜|╠щТ#жэvр╖!╛DV╢ 8Nо(мЩ0ЩqЁЄc┬юvч■6еП¤Ё+A[Ka╩▄хй■■тj╠g─{ Ч0&И═mщ╥ъXR█Ў*¤ЬД JЫ╛xэJ▒>O╢╗B▐Т ├U■─Ч0▄з═"▐╗~I&■▌`░┴хїshw*Цй╬p4М С>╢╣mяз1A┐eY/╧/Wf[Ы╨сCТO╣',7╤U╤ шD╝╢]█╜°,сL) лС░├3i┘└qуе╧}╛╪╩3eД<>f,_Ўш∙9■Б}:ойЄЭUСб▐гOСДвHB╞^}╥Z╗└╧ю╪D├ЕpЦ░DMNЩн>neSsЮэСъ√^И▐o╓▒}╒BёUВm^ёQe∙╤║4Р█}В ЧK╚1:G╙oКlX│';X}KэФИа╙╜ иu╣Qg╝╒╒Се0· чw9$╩cqyИ╡╟h/ЖЦoЧЧ═iГЧ2$ЛЇЁ▌╟е7 0┐&NH▓╓Ц`ж╠╒ме╣;m█)Ъпk#∙▀V:ї "┼Ъm o┌!СcG▌|G╨═╫Ънч▄КLбя├├iДk/║┐■╔=К■$m╞и┌__▐s,╥бщ/йН OРЗНе▐╧р╦r╗Ъ┘┌u╧/ДLтЇэ┼Ш╤NЕ~&ЙвкфPа╒ sыВom+п╟2╚'X╣ 4Юїь╖>@ДoЕ+с4IИ┌ягд· >.▄┌╧ОЙИ+ЁD`Ъ7фъоgєМ09]]` Ж╖<╪оvЭуП╩╚нз╣~╜M╠пuСБF 3_·МC5с╖Яh├Э'.Цн`Тў8Ё╝Є0 Є"╣№Ю╪^Ю2)wH;:_2щ`gСG.ЮЧ└6√тиН2│░Э\Кї╬Уу┘И +dM╒^х╝N╝═Ы°Aqa№HQ█єЮ3d-╣б║ЫС╚Y▐3цBi▓╝Ўe`є╔Л,б[A┴U{ ║i,З╝√,╩фукД╝Йс@[▌Ъ╚┐@┼К╦ Щr№0mчbРХР┤*s°ъ╕лbшGД6ММ^с├Ькmёv╫ 4┐ы Bu┐Ф(╙hv╥┴√Л╪lА√шxтxZ└э:y╥°▄XZC;{c*зїьv%G;gьyТgжы-О|РЎ┌╥рZ╢Awўx╜с\°З+ЇЙO┼БXв ┘ФO`О╫█м fИё?e╤╧ё╩Ж°D?№4╫ZTГ∙!УЎ#"д8:┴Зн╫bнзDС4╚J$ЇB╩╜═9z┬-r▄Ф№╣gu"s┘Вx▄h║gx╖Ф▓Wr(VБжK uр╗Ъ2░╓sн} ╦╧чБьC$RQjїtЮє╓ЄЗШL}щч$Зэc┼жэо[vТЦЙ°┘УM╡Э¤ц╬╙╫DTKmз)q3б,Ъ∙А:$rCОНе┼Ед▌У╡AtТЖIЕ4¤╖hokяA╙╘[}заЗT >А%9wx·T└╢┐ьLт├¤b╒╫╗юш ёNa╬y┐ыqwПє4W5В╩с9ю(8Б2П)╚╦$ЎС╞WK├╟Ь╝ъ∙ё56┴─H╒Ї1╧яp:6H░e·▄т╛ъ╩qч^Дєр)a╒ыч╨тit· ▓■vр│]wЬ _═aЛ┼▐Уa;╦▌їЬ@m▌+Д╜*bрVtСZдi}~ x╣╜░$Єър█L╫X[ц╩їЯ#─$╟ЇK9b гNЖXэь·√Т_,яёаКЮ4[╜ьEЬ_RТwmРкR№^?(А╓&[Y*█╗вВ(°╩W;╛5gЎ▄x^ё▒╟?IюНW+╦ йеT╛┬╪ я5ЗЮTц=fюЕИ\M╛б-`1ОН)хh=╛W┐мБ Х╢sHKAПцwA█\<Є\Fj)HЬРОоТ√ЗЫы∙╒O}>[ХдB╗Ф-ojFНржў╔rЧу¤sБ+ ╙_▒yс╧НН]и(·╧╝▐_Є┘╕цС9о Э'УБ./ЦЧЦ<П█▓╚°jh.yjФ┤∙─eo▓яР╕i▄╫ыnє▀п═Ў∙╚y"$ (Б'е?tт╤7╨┌ц#x╙L╛$Й3G%Р╡╥Пu═ю╬Аwlш╕(`ц"Г├w$╨▓Hє╗!xЁ╢ЕHУАj!cпЕaП╧aГ┤g╬jr d╧╗█ее;═бN`├╔┴?] усЦ)cб╒Н0]S▐╞]╧Ляy╕Ж еє╚рўЛ.FО╞ гqъP╨mE@u.Э▌+йМ/╜{[%uМ"гЬю ╤щu┤pЯхйЖЦХюn╒v┌╝шe@╖:щ/юR▐sgрЭk╣▐╢6 чеA╢+їД▌в╛╬╞мЪўxОе(╨vвTj╩+ЬN╫pйп·Z┘Ў√с╖·╝H├2а@╖c·bнbє╦ мЦ|{XюЬ╝cvJ хцЗ@% ├╬ZОРи ┤|]╜Д▄╫)░┤▐П(ЕЯМЭх6Ф▐,7Zь*Б▓Їз+╙√P Ю╙г№ЄжМм2`║ащ╖f╙╢w7(h"B┌╙(K1КъЭ╩║y)oУ┴|;"k╟K╬]Фн_°mєbAПиmi¤╪ Ыэ·¤ЪeяЕЧj╞╠.*Ж╖WviЛ'9Uрї╔.│░▄a E╥8еkOЄЯF+=зРsNW■5AБ%╒Ъ°ЦЪїiМєi$iуц=zk[ lAy7Ъ<ыеые└$▄I█╥ўу╙: Гщ╖|∙┘ ;єg¤ежЕв?фЭЧ╓Ныи№~╤Е■┌╞╢лS ЫВВVGз_<Жb╨YтE^dU3√Н~nпJgxАдЕу╦ь,╪IоR+ZЦbvPoОп_ЎЪмз╜Н▌k0*тyМ/│ЇїЫ└Юф╝+MQMи╓w3sWB6F6o+л│ФГ╩їKYЄp/оН╚╨@v}6цЮm╔цТДzЪ┘t╟─ЄЁн^dКЛд╓╗вI▐┘С╪К∙-ЬW√$P07tTцн┴&ПЦчЕ-Э|ъx4ЯwВ%╝^vЁ┬1Ё~EБ4┌єg╒Хнdk╙ЯвК№^2нxVZуЫОтN╗╛щ\▐╕НyЧ%3Yj]╘8яЬGoыx№■\ёфjНЁоИ┴╕▄9qLн╚х╞фhs1Д_A─бв┌Т)─П/ваЁ3yГ)Zё╓╣дq#│)╙▒G╩&2▌еe№э=┼Х┌лМUt-,IуЦNE╣▌ж*f┘╓╦.╧DSсvРI─T@Eя1сJQZA┤ )В0Qн"б▌Nкt M0°щ∙1ьгс╞°З№╩sъчx,YКK+ SЁУ┤zвв|4-▀╨z ╪ьyrК╩Ъяд∙vц}ч▌ScНО▌~?С▄diЇV7╘g└р a$Ч.H;╦&n┼r█щэ5?jЯ¤LЮj. ╟ZCPR):srtKq∙╛╬╫w╫°Ж┴▀╙▀┐уИ}чXГУяy^<╦Ы}¤¤ншdЬ1я мТиkcW╫Сш>хюУшMаSc▒╧7╢╞╘$пз▀s?╜шгЄC║╛├ЮЇм{@1╩╜M▐М╖j=v}/1╩║═┘▌c│TЄщd─4¤6%t9Ё┴в|ypEЫr╕К8╩╜ВE№]\,cPj/#~│7NЬЬхийB|Ъk]Yщ№╝йК╛N╒═╗Аю╛Фjб╝╜╒ЗЬВ[О╦]╫E$─Ў╧╡&:╖U4~Ж^ъєїу▌кj╬╖║v▄2Nє 4-Зkїбз)╘65У▐ ╜ЭO·ОF▀¤ї█m.Г╫uя(╤cH3РCfJМ 5╔рХ╪ЭзpА▐6А┘+2╦║╥╡;╓Ц┬хw/$<∙'c╪б╖╧гщ ;ц~QXшЄь├DэъЬўЧ1 vxЦМ-т№╢Єа═v?J╠Ў┼WwУh5ы[ ╘x\ п:В|юb╦R,Eu╡м■p$╠ём oз│╠ ш&ReЮ&УофhA╜├З,рК@'ДKt▄▀╫ФеF╡%Я═^т'r^ШРЕ oo=╝╜ЇP# ├═б╤Qї ZОл√╗zn╫Ъї@д╞+YU,pd■▄VБўQ▓JЮЕJZЕqефдщЮх}╢iE┼ўoЄ%&(▓╞Юf.GDЎsZ~?b╣hoч ^Хz╢qN(>Ї¤ |╬ш_]\мpГ╓2N ░<ф)├Л╜yВ·яvЦk▐┌WА╢·Bn#]·∙н▌Ёщt∙ОУ┬Й7Q°н,▐╕ш╢╦ё<2Еь9╫█╢цП |√?▓>umцВў╕янЪУ}[BТt1Ф~ОэЖ╚j╫м╖>╬пЪУL╖9охG+Й╗нъ╓Тэ/∙ОY. ▀|^▌gЎ╡еF╫_т█[Ўn:MХ\∙йZг№hт▄═в┌6>пё╥╗ЄкЗтGш┌ ъi╙эW█∙■3пёмdў╗¤сг─є╩_5Ж╪ФStZ5кXLYЭ╗Н$mRц╕┼'@Є▐-юЄ╢╡їS=4д╤Ш░ШъГ№УZu¤╣о╛f Ы┼%}И ∙К#╞¤I╖Бу3S▄о &╞Ав1CИ┼ЇДьv═CЩ┘sV╪w{tL/▐ЄF▀╖╞Mw└№cьл57─o▐∙x^?(У.УNEF╩T;D ?Ё┬зDуУъ▀э╕VЬ]Я +╕█ Ф}0/▐q╞ё▒яї;рнsВЎ3╟╫КI╟S(╦n ЧeдЄV╓▒╒яЦ4I)4я├·║щц2Ї╤е2╣╞Д▌д■з┴┬┘┌PLЖ(Jж█сIлаЁшj¤░┬%╗ZW)╧╦:Цu╟╝Єnz9Ш┌бY╢Ео*Ba)ц4К┌M#ПчЯо╜5;∙╞7kGвсy#╪╝шcП]Ы╦ЧSEy'У■ош+з▒ lьy;▐ЇК\┼y[═╒╙)32Ь_оK■Ї╪кk╙ПеГ╒кW$Ўh┼(Коgх║ИщГРР6wnАe9лF5├>S╒%]V с▄ЮJд·VЪС║ %щ8╡*LЬ┘х╫МЮw╜йU# Ф╤ЄВ]я╔гn+─С'Е╝╣нкЗ╤▓╠√Ъbдэ╩╡Зnжзыэ\цАWМёuk^╔╝]я.рfеЁ╪хpШ[єГ┌#zп*▒)┤╨Х┴ЁКО╟Х╢╟╢╧{QХj4╜{ъoФ╛6Фжh ЦвЛ\vю9┤qВM╔╨ Фk╩█Ш5tП,╗╢ж0k─ї╗ОMоУ╡I┴x╨, эC·kТ╛╗┌M√EsyЬА#Щ╟Ы╡╜{К/ЕwЛ°уSUВ5>╔ог═Y-Т]j╨ -ЙNPзЦЁРЕоs╚в1ЛCe┴П5(/%yN\ш║JтЫйGI┘iэ═И#5╣Ца3qЄН┼Н╦OЄ╥┼)w┌Иmw8дA<;╠x∙Й ╔к∙▄║ННГhDЫзEи║Т░UБ.¤ЛD,└╦Я№QУФ╩ж ▀N ├Х)еыOўє2г╩F╟<яг ЬЭs6ПOВ VАHb` ╞Є.ЕеnЖ╛╗k═▌╩к╙╙∙еOkГїE├8Ц ;!fнIоl5НCXwЩDрю╠·Б─щ▒Ы>ИЮаBй*/rT-чpГИИr╜`RdQ▐╒ўЇD┬LЫwэ╛CЪ╣уM1├▓П╤ю╛]ГuХ*OWЖ\PЗDц╥c─#шщ╞йI╟┴uDц╬Ечсё╨злcТС╡D3│$D@з(ц╡ХЎG{│ {╥ц╬OO!Т═F9┘Б┐0$ў║k°■╬ ╣╔╙k├/Iiєи√=┤°H*╫╓P═ъї╙(#UЎ╕█Vv▒╖Ун@▒8х1Я┤╘wsЫЪ&р╬╤ы╒╕Ж ФrUs3╧╬Q%░ж4Ф╬Y:H^dнЮxц▄9ЫЕR=╜с;a.╔┼∙ хт╬Л]З0┼ш-╗▌╩lщEё*дDч┤=┐;└Бжйўc╔╤эLЖъB┤,{б-OGKЄy╫m▌╖rрX█▒Ш$f#│оs!}√│К┐2l%w№╗▌O▐жfCAxИ+пъ▐ёJ╙Л─эt#═╟╟нэ═ЯeН+ БЖ╕бхy°ў╠Г┌EВ╟DFH┌O╧╩"■ы:OZЪ,D┤}'b\ё<у3цЛSжDыОБлдQ╓&R_wn│n^∙R╕ХISЗ═Яgyxц\┘=G,+╘╔Н*ЮфЄ└DЖO°т~ў╟Ё╠6 дjОЧ$▌.ВюПi9C{╔?V╖!∙ Р+·a3г8═■╝#йНж-зж╝>▀4C╓░╞PЇ{ ўь┌ЮД+Yю|qтkA~+ZуbH_2Ртйvf|хГ┘▓j┐U$л}▐aЬХво+╥ё9МBD5t@"cГ0Е╕k\'jфsВ&kИA║K╤В∙ўHY╗рщxzжЙ╥2и╠ю:№q(:>h|b<Ў╞8]| ├Р╤o╟КТ6w▌∙г@{ъє-#Ёї╟ЎHО┴п╗!м┬7d7э╞С╨╞╣ї╥яЭ{[m╝l╢бli9|р╦╬ ┐(wF( ╜N╒ПРЪ╪┤л4Q6X-их╟Иjеяz╟cwНSнuзG 9№|w▄А═ЪZ>╦}YY│EKrEМCUG╟9=Ы╒ъF{аbi┴W├ю/┼aмЪЁ>ь▀Ї║уФ48╩2/EECж1s:е"e°VTe╟╩vЪfЮ^2PяяэNЖWNMпh'"|н┤▐шТ`9]╬Еi9O2╓<РSїh jп>е-м╞ if2ь╢:ъ╦:▌>YгЧGК┌ў╫╧Y?╕$`wЎ┴.~^wМKMcояx╓D╣╢]Ъ UЖY▒1┼╡л│8ў┬Щ╕ ЛА╥z─UиБA╤?щlУ*\Е▄A_#VI╗╓}О*ы№Їk`ьC╡√ъЖ+TНТ┤[E[їг№=▒+&┤▌w DфЩ$ц▒У4w9w╗╥;ї6]▓ў·{Д╪fL\уl╟┌aWъ_rЁ$┬Еs 8}.'▄Q┘щ╠ЧфпФрy+╬йMтХфE:N5nк╥W=╖W8ї╛О╘07>╪уKЛ╝8.[]Ж╡*%Пъ! Ъ░т╝╫д$MЗi/Ц 'cаR¤ЕннQбFы╖:Y¤ВюЩ`OЗ║%╞░и═дАxа║S[├╚т1[yCСs┌ к╣VЖБ4k╝0ЕlD┐!kь▒!лkfЧe=7mЫI√╡Мoы╧С~╒vovйQ░Я]э═Х]CeФ z╥Кj╞ф╖&С_j#в╢B O{╚E╤Uм?:))П╠бшR╧Мь╬╧ma├╚╨╝h█XG=▒ьBмн╬еKkv═И╔[ЯФ╬h%@3m¤`╬шCофПr▄ЭЙwВ╛цЙ<)Оzюъа С╣\╤·9,┌╞є-^мчi78,$Н╬- ╚╟И#ў>зЁ8N╞ц░7ИanDDtщ╗╗┤П┘]2No╫ю Й.IOH~г│Гмх├ц░VX3;FNV..аЗ┌╧дс@x ч,╗1Q;╙ьx└▌8i╟S╟чLЎp¤шщ═Z[-╢3GRШ;╤я<|а╙╘ФD╝yS^▌Щ5^V 2уЄ ╒dП2'ё┌x:.1у7u╔╪]╧╠м 8██[Ў╢╕кЭ▐юeЬ╘еДъ▌ЎрJkayвe╦яЕ╛Ж2<'2oM╬YП^█Нбе|▓КуDЫЄхыаы\ rp'лw╦F*шИ┼jуe╬ф╣Ф9u3╣°■a╠Єф╬MЖ▐Р·еu*ЗЭ<ЕЗ+W▒я+З├bu╟▌╧┬▀■[gГ╓Ф[О П╖я╙{'Є:ё╞╙#╦Ья║!5n═╦х╙╪1╙─*QйъЭ▒▐z▌=n╦:OЁRvю┼UЙ■з╬cчОF─ М/█╟=ёО╦FiZояG"lN╝╩G╕Ra╛ЦДi6~вО■╔SoN;5▓ 5"▄ ■МиьхЬ={╒Tc░║M']╖wл╞0Ав╜/o╦;-жG{2T2╕хiСттg;A╝Пн)═Є╡,В╡d╞NйЦ╦Z;mОёЄр2╩uї\БН№^№┌┘в┌OЮЙsiчЧ╤хЯБ ┘ЮЦВвпЛБ"пл╞Л=б3-#нЖ─н╜2|1¤ЪД╠G■яЮ]·тq╜,▐dм┘?б╔$║╒CьwGg╨╔xКЗЪ10╕UЩ6-чАDj┬ф┬в√nР╦ 9sкH╡бЄY°бўПPжS╧(╣\ї4н/ж4╜╓╙йэ╒И`~ A/■кJLєGQ°<нтъкъ╤< >GNюЦ╤╨O▄ЙaЁ|╫°ёWьxjў▒j)шЄс=АЙG ┴Ъhpmъ╙шb╓├{їйд╪оn;?ТLря┌ьОY^0Zw▌$uC6G▐╜wЪ) НТ∙h п+ъeТu р╢╧┴Щ╧Rб¤ єУwO█╖╤═№v│mЮщ╢г5\▐╕)шёTЯ┌еA╗i8ч-л╚ь╦-sЕм$уэA#═ ЬДЗЎ+╧Гж-ГЄ*MC2Nу {цў}╔"╧>╛╬й¤)╢ahБL0°к)o╖Шj╫фBU°<Шя Й~╝t$РtўyУf░╬9КШ┐Xи?╦;Г·-Нщбнмj[]tбpO Ы▀Чвh█vhн/=Y▄Ы▒ё№╬'┬бA#&Sо╖QвF$▀V@qumжШ╥ў~Е▄х° P╔╜д.Ї~├п`▐Yж┬-Гг¤ °11U▐М █б╩EТЛ\лН▓;╬ў╢:S╝╡U>А[╔Ug∙∙тОёU╬kЯoы¤У╫└eюnSЩт }0╓3П╬pGВ┤ц=ь\╫рJНW╤кЁ╝Q;гja!В▓╠D3з<еыХ√#щjhёцш№v╢k ╥╛▒▄фдбБFЇ╨┴ЩЁХ*╞&╒╙fФїяo*Бип=i╞MYtуv09иmЬ┐3Є|┐{3cЭ▌?╦HцavG0jДE╗fnУC┐JMн?│ФэМ+їL#(└g║мw╥тнР~Х▌ZКЙ к)зщ-Yф9рi╠фyВ╪( °шnЙМ4║aдыНэЩКТ шT╖з}r╞ФС┼Ci▌c═@╨Х°B▌░ЎЫSA0ыnNq6яЪю╜a[zЪзсЎЫEwnаПе,n }РN┬┬WыяБшФ2Дsр█щ╟{kЛАыЧ·xRтPТлmLtоЪ>BЯIд╫О·╝╚▌d█▌╔╣ЖЛR}7╫М¤╖mi█■╪_╨ВЯTvN4~}═╨ч─Ї╚ф▒КнЇєD-N:>яЯ╡ЕД─0xi2-kЛёuQs}xXи│VА▀Г┤дХuф№н u╩V~eЗП╙hw/з^Pf▓G√y -QЕ √;Ъбr╘7Ш╒╩О┌DХ6сKа}~╛aф°йeЮКе╪░?A^▄╛==З┼▓0a■▐}МЎVSя│бх/ШЗe}№#Гge└Г:OV╤xк)■l S╪з─╞╘∙єN■х╗0▄DЖ%з=_КкE Ъ░hvг*Сbс╗#Bz1H╤Yr(иШ╫ц<=K=PрХH~нQn╗ 2░ЮIpv#d%Н>VO ■цГх- WJ╢U╣╘x╓.m║Tbm┌2С+ф╨√Еc>^─qчz%5FвMhJйS5▒ЖЎDн¤■▓_Пм╤-Н2╕╥Кh╫$Ххйj▄Ш7/[╕*2└ У│ф┼╛┼╓D╢Ntг@O?┬9▀G1гОgе!Щm│▀ющ Цt89R╙TаЙY╨фь╢#ч╥qТ┘ЗH╝7┬q╡TЭ╒З╡n╥╖wуюnS╦─odCъд╥зД0AZцy @ЖПрwЧЕnYїхD╟ўАъ_╛┬D╫[▀$╢ч-y#/[ю▀[ ╡ЩЖ0k фaPЭЎнз╟+OPp@Cubї╦яєtC╗jХуDNь!фuд>x!╦╡╢5&zCРВжw2┤╔┐▀╩Kft╙zсд┼Ъ└╥е¤~йI-*├║╛KУ├mаЩ╟ўеБЭе°6Е°г╢┌┼╖q:п}rO}`wk▀Fu}┘Ф╥}н m╬К?▌ёaя wЁлE╩J:ъ4 'Ъ4 {cяН╖ёэ╟╣ЗПе@6▒iе*╦a║щ─D$╞1gLW╒ъИ~╗Жў╖qИчRCdгўгYъ_▐П┬Нз!7╬OMЇ6ux╞Ы■ЎЖГ╠-KЗF┘P#VWЦ >▌P╢N|Ь└°лыпpO╟U▄nЫ6[H─ ДPLж┘OПч═╟xa╦ЯЁюЙ┤╙■╢К\¤Д%╢ы╗ПYдюЖ~CrОlюOбNx67┴жк ┤╞JС╪аеaлг"Xl┼+┴;╣b╜╛╣HоfцN'&з∙∙В<┴к=g┐г╥%,∙\▀├7o▓▀√b7щч ╢b5 аi┘D╪╔│┌ =ЙGnРцV№T┌ZwЩp{H;{йS╖;yvUЪ┌е╩}ОiсМ¤aЖ┬чцЗn,т7▌Oач╘*ьy┤ИЫ║6╒=╒╨PаЙPHu┼Ъv╡СнауА▌№Ж$6 жpХї╝сХI┌0рVc╫Юd9Щ╞╒╗╒╝[ zq┴r─iЕбЬAi&бш║#∙ъb╩ХH╤:▐ы.Л╘[б╣▐ы┘r▄\╗ е┬C╒z╔mZ├┐пя0╚Ж1█Е2╠vNЯk╒)1З╫№▄HЩ■вUхD^Э,!ya╘▒├*рЎФЫPVh{ #Щ╞[ВЭ[╟Еи╡E╕╚К█u 3pуъT╩╛U┼<4░ЛЕ¤фl92ЄЩN$╦р)┌рmh'!█Б╜W8eY&Ж ЫH{▓YЗг(╜ё9ЪЄ▒ў*ў╫p~▄И╞Гзч\. №юШaЁ;╤ї└Znmе6w┘╦ф%ьШ ╚:vp▄э[ эwЖ√T╟}З1┤ешй╬ }1╪gЮХЄI╥▒Ж├╜$ъ3A╧╜ЫB%╛{у╓цfаXМ√┬╛sj╡ ^н э╥#╗&Q5ХшШь>╔╣йцЫj_g╛╦oЙmn┌J C╖:SFмЄШSЁЩЖ+■<ш∙─Й╦╪├Лэ7╝цюPБЬЄP ┴S#пК╒Лю╜╬W?W╓=NI>═Ф╗╤OШZОєVGDйъ╙╢╙єU╢=Т─(d<╓ 5я°A<ёККnUа√▒X-Вi╝╜mё(╣Дi ;Д├f╤>bYU╙▒ЎЖA_│&■¤╚ЕЦ!WЙ^╖K(.wj═9Ю╛╗k╨J>╖ ┤╩щc°√╛vmчР[и╙═dmSк єF┘FПdP-№5√'н=°╚КўnuM┴·]wЮ┘╤нrн▓uhс░┼№├Ш>Ш╚ Ъmр╙є&>H0{AД▌;*╗.n╞Емi╞hr╕╖Щ{rI4 |*@зY;╡└Z'СМ╟E;╗ллЦ┴ЇА╝╩&ЄO ∙gъЮЙп╨мKNВ╢&╜бz1╪ЄbШ[Л1-}N +┌N╝u╫ЛЩC{? ЩэM╓ ▄зE)┤IK═│;│Яe6аb7Kд%Тg'эх>rrf¤9┐║cтpЮWЗ \йju┴d~O2c╨п8╥S ╕╥jЪ ]?fI┘─ч═╦Kч]▄шBv'Ж0ehш ╪▀Ц\Й╞ЦД+¤╙╖k╛╨g!╨¤VВ@фsl▓:ЩKUБtїпє√дАю╨╝DnPV+Ж@╜√┘l║!?▒I[UIW&fsШ=>?╖g▄Ocи╠╓/Е╦hУd Yw╖ЗmU6щrицэ Ї│%yъЫJ}х╓щО6,.dQР╒Щ▓hГЎЖ1> б)К ~ЗлdАпA0XK─8Ки┌▐Ж╛>┤Оz?еDд)&?Ю~удф▌ нёС1(_│\8к2e█╗ыpаї*е|rЦЯ3с8т3ьмC╕G|аW6оё)¤4)ёд[M>;╠72w)_ Тю{█w`PЄє─*∙n╛ sZ╔[yЪ*a╜чYV┌├▄└░-╦iЗиюGшЁy)■^2▀░╕N0√▓i╜з Z╛)А SфяЫГЧrЖС@ыЭрU░─Oк╖Y[kЛ¤fЫ┼a╢6}┘чP @dR┤9 dG9i┐K'╝p/ъ}┘П{"Uї{╞В`|iС3A.6Єэ┌щ)Тв·<ж╖Ю/Ї╒Аe КБ╪#├FHPwСйXб!d╞╒я"Жщ█КФС╒4╡=Ifчу╩H╨№@X▒╪■╬pб■i}Рпs╩ОфПЭ¤°wrj(╥c\╨├4енE% ╪▌)¤р▌`°~1╦С|r}▒ь0ЇS▐Лн ▀─є└7!ze╧(Мю°G-\╟Wо╪4syяжяїyиЛ4{i"Xя╤m=!}Ъб"╫¤E1М┴JФx°ы╬ЖiuяdД▐VЖТЗ(pє√╝╘А82}БИ╬═zJЙз`зyEъ√nB?┌I║ ]Кшh╔└ ╨МфНЙ╨?П╥1ё6ш|╒fK*в▌│Рн┐╠Gq╝▒0S╩!X┴X]Щшйя;A#┼yЧЖа╙нмўчЦЯё%▒∙╣ор╟╥п┌a╙Jr╛Ъ@] ЕQ2Uн╢hO #O(W╦╛wх9v?3э}╖Гпрn┌DУч%─$╢Зj╞Р╞щсл─]с9dbлIA¤Z▄└mcZu -u:XE╒Р│гЪ┐;┤Gю=╘i╕КЬЮЯ║tVт┐Нрb8я·√бH}╒╣Ц9`дЭ2╕┐хe█3Ф.O ]╗│Е∙─║&й■ТЗ+@с█u■╩b═~k√у╘╝{╓═AЧ=0Iо╞a╤ЄЇwжP3Ме+Е а&╙б┘0шS║┤b╜хявЕ┐ё РK▀ї▐ ?ї4Ц№ў╖3gz Бь_О!DZt <╝G╨д Д╕H#dнх У%▐╩aнЕ┴tоЁпYХз▀╡░яV║+ьиgЧ│╬с▄a╨В|щУ|vbХK╞╠nRGPчШr'·═ь ■3B(B═Я└9тї┌к╙нП├KРуИ╔E|°МLЬn]╧╝ФЪШ,┤?C∙:║ KЭЗ[m]7;4Ў╜W╖{Лч─л╞л?╝СQ%╙Ў @UMBн{Pш^4┘┬─/C■єCью├Н ┐┐┐Х^▒%а=▌лёe?НЫVЖ╣)Г~┼qш=^FK/s=P)┌Ы )КhЦU╨ЫїеDш╙|z":CHЄnPu╫Ё:є :FLJЄ▄хєбw1b┘выOЫ ьэхqUnў╥p╒ZC▄ёО6tФ╢┤XТЫЮ┤UF▄ЯЧWЫ┼фB╦nЯB▒УЛr├Ї)НЗF9#шn▓бШ )W═ф┬╠╦^{ ╢▒^╩mъO у├ён$╥╫ч╣не шV╖з▌╖epЯ╬╠mщжє╧})жJ▐H!д╚W:k┌swg▐дЯУЁд┌МЧ|g╖C"x~╓6╬═coM,;^Ў╣ЩxwЗ╧k"[╤i[хгбhqМ^н|Э╒Zm║лцn&эЮї┴щЮъЗ[{ЦОЧ▒▒DХТ+╫┐?ЦЎус(Рx}^┘цGЬK~HHж1bв?╜4kє]x╟~\#л ~■r┘¤s■5│<┐cД]]╧№╣\\У>Л/z:6бЪ╧√тN_ ~2З@▓Эp┼вл(╨ чї;▄╪▐оН▀mЛ e▐ёg%bФ╢ YUЫT°v76╒╓:ЦKд∙Ш> ?пK}%╛}-ИПCпЪ╗еTВаu¤~█[аUд├K/╥∙Q¤║+ц╚Ж│$#Е?Иk▐ЕQ'#HE╚m7Л5╜еL/┬№#╩╩v└ ЫHS2гхЄхk█╘/°л╤Г2;▓Зм░ж╗░╪п*д{╜~├│░╣6D,@ЩmчMС-єС▌Н6e█Еn┌0 ?+эWm▓гb=з#>]HM}я╒  [)WUo ЖбZщФ.A$TFСю║ЖЦюIСnдСюPrЖщ!>┬y├ў▐zы¤є╓zk╜я:ы▐▀9g▀{Ў>чю╜qдKi№N* ЯФЩ░Кжш °hДцZ"▀$^їK╕эў┘"оGУ}╢Ы╬╫T]Ч¤╢б"ЖьKД▌▌^╥_з╕oё*│y,\,O╞oх╗ЎюDdJ╩UЬHЮх· Еp!╒▌чсbЦIK2·kО╓ъС-4zxЯЭ м4█ИNv┴ЮмMbЄu ╞?╡iPfА╜4mmbЭ/Б└m╛p╦у╜ A:k╙╘(┬tHЯ*░jc#┘┌їз:% `lзй╩┴╓▀q|ЎЇ°щT╚╧{║;ЇюКRG7"тЮ╫ е/Cmппz1j╘rв═┌┼$=ЄW7U.Ў╗м╢ф]^┼oэчхНёД╟pALрЇ9╖iп:Ъ╦Rя╢▌К6╧;:▄┴e┼╡╥о╪╖;р╪h╚╛г╪HШшМчщ)'i·╧┤▌К╗╫v┘эЁЇ0?ЪNФw!└NzPаt}ч├Ынънї~¤w╫'ЬCШббA&й╬lO*┌█гd3╕m╓ъ└╖Ъ*л╕А·ПPр`▄а∙sю■с╗Б с√hHcМ4*:S+Y╔#2o─Мх>.Ж ·Ъ!ьs▌│W/`K9Ж№лs▀└√Ї▄╞Я°ьБ█>"ь▒ ╨╞~_╚─Фэє█а·╧└ёВx)▌CБ5∙√ЎF╦C|╣Q]у├ДёиЕKq╞.'ъПtPj║░НT╠▐х╛9╠{н SО╙∙%zjиўПм═╓О╢С*.фжM╝цJ░╗5!ЙД·ъГ~╒qТщfl√╓▒░9OltЬ.╤tщжк_a┼0·╒╓бцHГЁ¤{"№Юа(Аб¤┬toq4нЎыЗ6└╛f?0ОД-╣jь╓G:В-├lЄ╬┬RЖК~ч╜ў&╪Hi7▐ФэЩУEё№5ЭR╒V №G√ёАnh)?є╡ПO╤┼Rд┘О> b─}Єg╞▌Н^єЪя Vз∙·I_zoЎ5!Qл║-пеZ{Aф╥ж╟JОЄЛ\B▀оЁр└O2yФИb╙yПЄшЫўЧ╗Qь╧х`║┘MЗ E╖F─9╕w?4a╗╧└╩лзc╪ ╢]Лтt[жVО DЙфн7р▀O/оЇU▌zGы;щ╦█<дrю9sеyєди~ш-V▓|K ╠█F5ч┌$Mф▐ШJвMж█╧e0ОL╦?┼3ПT hл╛;A!zgFа░р8"HўY9 +Хпo=Шu`Пiс╖┬$5Ф╟їP╤Xx(+KX┴ОmЇёq▀З фж}~╦ў╔М$▀ н╘Л2ю╙YПЄ(°╜иFчW┬╢тщ)·╤ьGЇoы┐К┐qSК8╧kR▓AGPжGўСтЦdR╡Ma╓_D|√wяЭпєЮ)JZ|╣ф╛Иє9i╡╚а_└╩▐√Гшd9Ъ╘╠WИA╓СЄ╒АЕПz│bbс╞&аk%V├ЦJй:иgСаB╠kРЁфНР∙╙ц°i>э┴Ў╓ЇХFiФS╘ПЪ╧Л,зЗиЪ"╜;б╟╥┬99яЧ*CВЙЭуg>}╦gPE}A▄"Ци▒╩MQ╫╝ЩNm7ы2ў"{чMь=xJuoФT╓]&=Wxpж╕~BВ|g4ИЁтй√ИjR│*gи┴╖ Мт▓E.)Ю╙ ГР╔ШЦv:GаЖP╩фЬбd┘╦НQж0┘lЬч╝▀x╥N╧рOSбн╥j╡╧тя╜УF╟╤J╘эzй╡█╤╛╖$R ц√ЗчЪЩ╨ы═Э█qр╬╦ХЪ┐ўT╕═╝/`йVЄ&xЪюем╨LуA№їН╪с╒хt=╥N╚╓ф ╞┴сW:БўЯ▀вX▓┤M╟3т▐Ю╕н8▀D┌<+┬нПl~&xЄ▒Ш╕ўлЭчh╜х_  Ю№┼KW└D!]╘є╙zб¤ўВxу╦╤r░г▌┘Z═▐B?n╜_╕р<╣x╜Umy¤r╙▌┴Ў╡ўФ▀УЖїж}нyб; г3сt#W!╚┼уКя'^╓e█н.У-ц╤bМ ■╟0╗°ч2¤┬%c,лРФrf"Z╕ ╜╥d┘FГ1j╖d▐Ф]├ж▀_Ї\в3═╖ояKїYх┌№сх║pcF╙zг\Q└КлC╔5kp╒є╨3щ╡SщR инПУxй▀ш┤ mp▐x▀uQv╜a№║e)щ^` A╘F╚O▄┴!6■ц┘4]Иw╥┌О|╫U╬вБ╧╚ЫУ[pЮfЬ╨ s7хrОЯЇa~Вm╛|bhh└4∙Gхд(║═ыїНР ╫4Nч▄w9ГЪ▌╥╣█╨▄▐IGx8G═№g [в╓щО ┤o╦N L!iК ╛°ьИЇ╤ПБ√ ╔├р╓╒@.,─JIBZ╙ л═┴LЮY¤▓зccM╤┴ ЭЄ╫╫+'}}уЧW.│ЕЧ√(Ш═╗┼└S╬jў┼i√? Уе▄╧ЛH"КЄ┘ЁHP█Zn╜4еО▄4 КpОь╕н Л^ ЪiN~w1DKШКqЇ└т╠Ц╧хF├Ь@7lwвфGЄ╜эш GьЯ\l╕√в╗7Я╒Дn 8[^n┘╩ї╥ыhбilдN=║П?ю╚0Sй╕и@╧КхТ╙г!c{<┌▒MR║Ё╤Dє┬п}я~чШ┼ шA:о!i%fЪъшd<╩eN√]Rk╒\r├G'3БУ}ФNЎЫHZ╔У│дГ╨¤зъuь╝kx▌─>√х▒вчcIВ╧\vт^ йЧт╔МР@▒kВ╥x╒Ан%в╒▐ ─оIАтХяЁяKў▐ьЇqД█1;ы3sЩ:З-Иe╓\qFf0;!rї #№▓ХБBF┘─╙╕╝1]╥╝ktШ╣▌ДjЁ и┐\аjхэs`Iй▀▄Ё9╦WНЇ╙eр4├ШMЦ─# ]ШF ■7ЧпЙГA_&W>И3В╗│ю╕o╩Ї}|gwхAM23Ефз/ТЙuЇсp|хяIdкfI2Тiм╗S*ШїгD(Є╗FGЭн ?bВн╞╔ЄжM╤НЮ}G▒В╚ ЭКa0ЯЁsR.С╕d ЭТжo ╫ъ╥H┼С°ё╥ИПДГ}Р┼RG&Я%r╠╨S,а:Щ┐U╓z,Х+!°єЯ╣pПоб┼cхы)▓═╖6qY·0hр +╫б▒W■╛╜e:╝Й'Я,NМОюэ┌гГВ┼╞цЭ╝кФK╞∙3╧xОж Cy·№X(xD{<ЮуDц▌A}ПE∙д6\▐Ф│4t{=Re╤rъnLишъ Ь╫?ЮйJS│2Ьф√}Й5AгTk)Ы▀yy|■ЗU▌▐ьPoСмЯГfgM╒7?А╥T щ╘▒╡▒`╦;Ш╒Qўт▐.┐°└╠MмЦ"╖~`1Є|^▄▀Р|MtA,vГХEс"Ogя9а∙ЛpEъ╧ёqnЮu Z╤Мg/╦wсч┬╕>╠│╬█┐вй▒жIь▐?V┬П_┼╧═жcжЬЄ╦W ╙2Ьэ╗b▒1,╢▀╘x:╤жИ|?;┤'P5╫fk╖ў°Х"З╞┌Ф▄╝/ё┬Ю/▓мh.№У╚L╪хжЗ▀Й║╤ZQ∙┬$·A?╢╬@WrTжZj8]Jx╝Й┌X▀Э┘║∙СпJ∙єт<Ыf фхй▒╩xэ▓╟ы@■9Т м ═]ЙВЕ8F├6$aЄеJa▐▓▄╦В°z<Ц▓#╤~s)╟пq■ ╔4бНNюЬe)У:Xщn`]d9уhбш \EЩla' О!cгУU┤н ЯёЫo?C╕╫<╚О╖Т iCС8√!DRЪх^Е#╩Оyaт╨ПdЄD┬╡оl=∙╗ЇY╣·√ ж7 ╦ Пи¤ЯsЭ■╫№Ю╩╖╕i┬$vWСМ│·=O9╢s╔ф#LK▒Wmпjнr╔Bфp█┬&s· ░нc°сk╦∙фєчjy╧╣┬ZВ&ў-■ь П,!╕гр┬░┤!╞,R.▀vК╥zт╗Щ▌H╚ Ўqf5ч<=Oэ¤икч^+ЧДS e Ъcу"ё╨╜K2Є▀╒ ▄ЇXj∙u&=E╫Яа╬/Ь °A_ьгs█▀D гИн']╢─VъЎ╦ю─]F╠3фIс;3vНЙЦУO─ ┤3¤WBУёFiПX¤j▌`б4┐\ZmZ▒щЫЭНОЪ ╘ Ц╣ю1▀Н─MУnдbIь╚v┘'hя╛Ы┘Ь╟чЮ1]v╬╗MЪ@Б*┐Ktы5КKЙ─#■о╠┤'ж╧ZлЎт╖hiж^P╣C▀ЇQE╜BwП╒@5t'ю┤3Пй┐SЧ<За0Ы▓9 хUШ╪╙еФжМ╓Г/я▐Юп1пX╧sмЪ╝Ъё╤о╜dp2╤∙ўы.B╖  ▄■·3 Ч╪Х·r|╧Пт╥!Д#JДУv J╬QFpVэgР▒Ъ▀@УЩОЯ^"ю╖вчЇю■╔b0чc╪G|╫╪IСCPy▓пОоиpd├╟d%J4rQ¤═╦▄▄└Dх"ЁХqc~1% ё√╤╟ ┼bEZрыЧц╙▐Q┐AYў▐ЩIКЬЧи>╩$iи╞xз╚╜╢ж*y-Ь!Ae╘Ь╕▄6ёр▒╚┤йэвЁё╬┬■╦├╤╢1√ Aц'K-A╣\М ╜EX√гй╦[│`r#mUц╖wqб*/б ╒Є&┴ PKR╖з№MURYPK7РJT#xl/drawings/_rels/drawing1.xml.relsНП═ ┬0Дя>E╪╗┘╓ГИ4эEД^е>@H╖i░∙!Йвoo└ЛwvцжщЮvaК╔x'ац0r╩П╞i╫с╝=@╫nЪ -2KЪMHмd\0чОИI═deт>Р+Я╔G+s9г╞ ╒Mj┬]Uэ1~3а]1Y? И¤X^Б■a√i2КN^▌-╣№гН-▌(гж,Аs┤4∙╤kЬ,█p5о}PKХ,RйPK7РJTxl/drawings/drawing1.xmlЭS╦n█0╝ч+▐Z▒н┌Вх иСв@╨°Р~Cн"|K╞V■>K=аpБвjwfwf∙╨ю╛│ЖЭГЎоф┘эВ3p╩W┌╜Х№╧╦у╖ g!JWIуФ№┐▀▀ь║ Лs8 г~ JK▐─╪B╒АХс╓╖рИн=Z)┼7Qб<У▓5тn▒╚EhdАx>ъ╔ P│R╗й Яжёuн╝z╖рт В`dд│Нn▀ў√Мg Мypкё╚а╥ё!ФЬО#бcMН▐СЄf┐╪Й)Ь░ч║■змg╨Я'8ЕЎеz╠Жd╢Й~╢╦о█m╫┘fї╧хu╧|╗┌\єЭ▄ZнЖ└ЭОZqЇ√}:"╙U╔щ∙8iщЭ▀╪Т│ Вв√ргT_<ў%1RвпF╖П┌╨Цd3,└╛Щрп*KjЮ°вj&Э╣5eбMТ▓шj┤щK╫╬║~╘П┤КДAЩ"0√ЮпЦ9QК╕ї:▀▐їbюn1─Яр-K═*ЄД╦╙SИCщTТ`у╥ъ|g`"ц╣─┼▒*гщ)dФ╙^.▀Иеo  PK-q%рп╗PK7РJTxl/drawings/drawing2.xmlЭР═В0Дя>┘╗=C°╣Я@`ChB╖M╖ ╛╜MР╗ё8Щ╠ЧЩй┌╒╬┘ЛВ╟5ЬЄ2т▐i├c П√эxЕL"▓╞┘1╒Ё&Б╢9Tлх"]╚RЮеL▓Ж)F_*%¤D%wЮ8╣Г cТaT:рТ╚vVчв╕(ёБP╦D╗═Б/ аY4╝чjуЖ┴Ї╘╣■iЙу 4cL_╚d╝@Sй}hєPK╟═Nли+PK7РJTdocProps/core.xml}RMoГ0 ╜яWа▄! ]ўБАJ█╘╙*M*╒ж▌▓р╥lв$-э┐_АB╗н┌═Ў{yЎ│╧ЎUщэ@Q╦╤А $пs!Лн▓╣ЗJкн.;БЬc(бi ж┼'о]ЩЛ:фМY {PpС:А#{o─HlЪ&h&╒═Oё█тy┘YїЕlW┼еёqРИk`r╧ D}╗yЭ<>esФЖД▐∙4Їщ4г╙И▐GSЄу_я[┴>оu┌вз─┼9оЕ▓юЖ=°грЄТ╔bыЮВЇW╦О2Ц┌SЦ╠╪Е;·Z@■ppj├D╒▒Ўпе0ЇЙ│D2чЗ╨ш·Ў╠╥ ╨u╓░э▀K├ощШ╢SЫэ╟'p█[[aKш╦C°ч?ж▀PKК╖k█PK7РJTdocProps/app.xmlЭРOk├0 ┼я√┴ЇЪ8 !+┼q┘;╢C6v он┤■ЗнФЇ█╧█аэy7==ёУЇ╪v▒ж8AL┌╗Ю▄W5)└Iп┤;Їф}x)╫дH(Ь╞;ш╔┘Є;Ў}АИRС .їфИ6Ф&y+RХmЧЭ╔G+0╦xа~Ъ┤Дg/g iS╫Е┴)Pe╕╔qs┬ BХЧ?ўеПс2П│l0Б3z-П┬ ┌os√"╪cFKБ9╛╙√п┐+hW╡╒C╒мv┌═╦°╣ю╞о-n╞№┬Hдm╜zЪ╡Qe├ш-М╤kj№PK:*Ф+ъzPK7РJTdocProps/custom.xml╜Ц]Пв0ЕяўW4╜╟№─идШ1┼:ЧЖБк═BKhu╟LЎ┐oF╝┘dg╪╗╥Тє╝Ь╖ЬvЁЁЪерH ╔B│Б!а< у╗!\ЕгБTOвTp:Д'*с├ш╟`QИЬКQ ┤ЧC╕W*я#$у=═"┘╨╦\пlEСEJ?;$╢[S"тCF╣B╞дЩС_х`й╫?кХLD|оNо├SоїFГё╪fК%C°F┌.!m▄6,╧v Ыc├n┌]ў0╢╞Ц;▒я7∙∙e e·╦Э<_Ч>i╔гъз∙/йКС┘iр&╞tЫа ёЛьцЕMfg>·╦ ЪDЬ╤ъГеH )▌}─w4)й/:ё>╕я├я#_єьщ ]хб СвuSпQ─QJ]нU7ёc┴>*╬╟·▀Бшv¤PKс┼оt╬PK7РJT[Content_Types].xml═Ц╔n┬0Жя}К(╫ ЫEкк*БCЧcЛTzо▄xH\тE╢┘▐╛vТRaЙ@╨Sфx■∙■yЛ Ю3╨ЖIЗ╘ЙдLдq°1zi▌ЗГ■M4Z*0БЛ&3k╒╞&╔АГдсf╞Rsb▌PзXСdBR└▌v√'RX╢e}О░=┴ШLs\▀|:╗█¤їцз╫╖Яo╢gч}║|э╟╟уыOgWпG°▌═s╞╕■Ёст¤vs¤■╦зэ╒▌у 7█╦│╗▌э▀~╝°|╗МЎ╖єgНw~sЎ╦nй╦¤ь▌тцё#y<ыe╝Oяoоoп?▄}ў■·╙╙нщ*╫п╫┼:?╜╬Н}:╗∙ыЧ╧ ┤°єnq╣╕╝╕√√├=╛·с═├р║9·pqy╖╜∙Чыє▌╛|8╗╝▌ю>Ў∙ьзэП█╗√№Ёё╗?_ iЦ┐■с═ызЛxs~▒kс¤╢▌l?| ъўЎ╗╙nюkJ■ў┼ЎЧ█╜?▌~╝■%ьюЁ╦х┘э2р<╣╣8?╜╕┌юш▌═Ч'°┐оy{}9яZ▒{╢Ў?Ё╢╗Ю-рцтзП╗{<▌~╕╦C▐Э¤х╟эхЎ¤▌Ў╝ШцП_ю.w│№°ўO╣╛╠#Ьo?Ь}╣╝╗┐З▌|╫7  yw╦▀┐║║яшхn╠ы╧ўs╝▌^^▐пЇ╒╤√√┌╕Ы`ь_¤чїїз▀Я]ю·dУэ¤¤_.?дў==√√їЧЗ╛ь>z╝√д╣ |°╦її_я╤¤╕╟ў√Ї░М√>╗ ▄y║ЛWGg;·єЎёnNм▀П╫▌■╟├ж▄0o┌¤╨√^v'<<6╗¤~ъ┼о ~q~ўqwgЎ▌`├шCю╙n[цэ}╙w╝_∙n3Ц┐?╡··▒═з█Я╖Ч╗ъЗ╗┘g╗╤Wў║Ш№З7╗Ц▐>№ }s/╧>▀юэ▀√/╖w╫ЯЮюъqГ>^ЬЯoпp┌З9?Э¤mwП╗ ^\=№ўЎюяўфў╜~Z▌Ї]╫▌╖ч█╬щOs:═┘н╛│щ█╧┘=═┘с:W▀Ну╖Я│Ъ│╟9э;√╠9<═9╨Ью Р¤Яц┐╬i√√╣zюЬOьyю▒/¤Э*¤}°R√·ё│цё_Ь│╗│▐▄\ rtєЁ─?N■° ЎuЎ▌√Aют▒ЎW>ХnM╕[ў¤dў_oя7`ўХЄ√W╖;№є¤°цї╧ў7°TєЗзЪn┐f*k▐R═км┘P═║мy5├qYи╞╩ЪУзЪ~┐╞╦ЪЩj║▓&╥\}YУиf╚5пw√Ъ7╫J;┘узз·■Лє7▀т╟9я )°z{З[№T3ю╫nёS═┤_s╕┼O5л╜Ъ├жaj┬S═·▒цюfWїaўOхY^Z  эн юэю╪Є¤¤П/╫w sє°Я ё°Я╖█г▀▐Эн╬/■vЇ√гЛлг ~{╖¤t┤┘▐^№tu┤#П■я╗?╜¤єПЫ ў]q∙у  ў7п?▄▀▌┴УўяmШЯ╢∙°бцъёIя√уГ'цб^/П >єг╘5xФ:}Ф╞Г╧╝?t·(НЯyo╗gЎ┐╬iЖXkЖ╨к░╓ бU│ви(нлb▌"Cм5C,ў▒▀9═k═Z╓Ъ!┤jVеu5Cм[dИ╡fИх>Ў;зbнBл┬ъПў:Ю8┼Б)юWTq-B─2k)Л;Ццх║╜юeV°т4IdVу4KЛ└R╔Ъ╪"O,│ЦM╘DСY╤D═P2+Ъи▒XЦJv╨─&╣cP╚ы ЩMЛЬ╓Е╠К&ВHNYЦJv╨─&2╣c░╔ыkЩMбЬ╓Е╠К&ВSNYЦJv╨─БcЩ╡lвFО╠К&jшXXo√M╘╪у═└"░T▓Г&6Q╠ГcюX╙GfEA3ў─╩&ВhN╟ЫБE`йdMlbЫ;▌▄▒С╠К&ВqNыBfEA:з,K%;hbё▄1ШчОїuН╠К&В|NыBfE┴?з,K%;hb▌1HшОї%О╠К&ВЗNыBfEAEз,K%;hb▌1°шО5йф║вЙад╙║РY╤D░╥)Л└R╔═M щн╔oMВk2\УтЪ╫$╣&╦5iо═s▌$▒ащ ║о!▒аэ ·о!▒аё║ЮX┌8пIzM╓k╥^УўЪ─╫d╛&ї5╣пI~¤+Ўы6·kЄ_УЫ ╪д└&6I░╔ВMlЄ` К╗Н ЫT╪ф┬&6┘░IЗM>lbУЫФ╪┐т─n#┼&+6i▒Ч╗ыЎЫЙEm╓'└f`X▓_Qa╖qaУ [E╘oБmМ|╪╦*К' Т∙пIА¤+ь6 lr`УЫ,╪д┴╓║`3░,┘пИп█ШпI}MюkТ_У¤ZыNА═└"░d┐т╗n#╝&у5)п╔yM╥kн;6Л└Т╒5╫╓─sm ║╬w▓╔@umр║Ж║`3░,Y▌nmMЇ╓~ы|'E├ 9АтъNА═└"░duй╡5▒Zhн ╝╓bk│5╘ЭЫБE`╔ъ.kk"│6░Yшм |╓Bkи;6Л└Т╒╓╓─am ▒6░Xhм <╓0▐ \;Л└Т╒═╒╓D]╜╠Z6 N·`п╬мhШМw╫╬└"░T▓ГЖ59щГ▓:│вap╥k5Мw╫╬└"░T▓ГЖ59щ;ЬЇN·'}ЗУ╛╓Е╠ЎуТ╓═└"░T▓Г&69¤Г┤:│вЙp·o5╘Е╠К&B"w5░T▓Г&6Iрп╬мh"$PX├x!│вЙР@c ,ХмlbУ╡Б╩┌└em │6░Y├x┴└g у═└"░duз╡5СZ/│ЦMД╫└kЭY╤D/dV4╥╚нБеТ4▒IЪ┴╡Бс┌@qmр╕ЖёВБх╞ЫБE`╔ъжkkв║6p]╚о l╫║k/пa╝XЦм.╜╢&╓kэ╡Бў┌@|m`╛ЖёВБ√╞ЫБE`╔ъ■kk"└60`(░ ╪l/h░a╝XЦмо┬╢&.l╢Б █@Зmр├ЖёВБ╞ЫБE`╔ъVlkв┼6ЁbИ▒ ╠╪jl/╚▒a╝XЦм.╚╢&ЖlE╢Б#█@Тm`╔ЖёВБ'╞ЫБE`╔ъоlk"╦6░eш▓ |┘┬l/└x'0▐ ,KV╫f[o╢Б8;▀╔■╖щAЭmр╬ЖёВБ=╞ЫБE`╔ъmkв╨6phH┤ ,┌m/И┤a╝XЦм.╙╢&6mЭ╢БO█@иm`╘ЖёМwу═└"░duп╢5kШ╡ ╘┌nm╣6М Ї┌0▐ ,KVWl[╟╢Бd█└▓mа┘^Xя√MД─вуЭ└x3░,Y▌╢mMt█╛mс╢Бq{ae!▒шx'0▐ ,KVo[є╢Бz█└╜m ▀^X┘DH,р▀Жёf`X▓║Г█ЪH╕ ,▄nў┬ЎЪ ┤█pэ ,KVWo[ў╢Б|█└╛mа▀^X┘0H"а█Б%л╖нЙr█└╣m ▌6░n/мl╝NЦm`X▓║h█ЪШ╢ T█оm┘Ў┬Кпk:^0Ёm├x3░,Y▌╣mMд█╓mэ╢Бw{a┼SЪm╕vБ%лл╢нЙk█@╢m`█6╨m/мl╝■zm`X▓║a█Ъ(╢ █Тm╦Ў┬╩ЖArл6░,Y]мmM╠┌jm╖╢Б\{ae├рu РiЛ└Т╒}┌╓Dиm`╘6Pj8╡V6 ^├З6░,Y]гmM<┌"э╠КЖA"$Д\W4 N а╙Цм.╘╢&Fmе╢БS█@к╜░▓ap·Й6░,Y▌гmMD┌&mХ╢БK{ae├рЇюl`X▓║>█Ъ°│ ┌mЕЎ┬╩Ж┴щФ┘└"░duk╢5╤fx│ ─┘цьЕ Q6\;Л└Т╒e┘╓─Цmа╦6Ёe│V─%/└x'0▐ ,KVўf[q╢Б9{a{┐▓энБ;;╫MД╫FH:▐ ,KVWh[З╢БD{ae!МТ▐┴x!│вЙР@п ,Y]░mM █Кm╟╢Бd{aeсїЕТ╕╖БE`╔ъ·mkт▀6p╕ ▄ +Ып/МР&@├ ,KV7q[╖БЛ█@╞m`у^X┘Dx}aДДFn`X▓║Ф█ЪX╣ ┤▄^n1ў┬╩&┬;в└═ у═└"░du?╖5t║ ▌ОюЕХMДwDБж╞ЫБE`╔ъкnkтъ6Рu╪║ t▌ +Ы(╫c7М7Л└Т╒н▌╓D█mрэ6wШ╗V4Qп ЄnoБ%л ╝нЙ┴█@сmрЁ6Рx/мlв\ <▐0▐ ,KVwy[Щ╖Б═█@чmрє^X┘DH,аЇЖёf`X▓║╓█Ъx╜ ─▐fo╡ў┬╩&Bb╗7М7Л└Т╒ ▀╓Dёmр°6Р|X╛V|╟д▐pэ ,KV{[│╖Б┌█└эm ў^X┘0H" єБ%л√╝нЙ╨█└шmаЇ6pz/м№4Е$ZooБ%лл╜нЙ██@юm`ў6╨{/мl"$0|├x3░,Y▌ЄmM4▀Юo╤╖Бщ{aeх┌` √Жёf`X▓║Ё█Ъ┐ Ф▀╬oщў┬╩&Bя7М7Л└Т╒▌▀╓D■m` 6╨°┐V4Q╟  poБ%лk└нЙ▄@n`7PБ/мl"╝v6poБ%л┴нЙ▄└ n 7░В/мl"$Г├x3░,Y]nMьрzp?╕Б |ae!ЙА#╞ЫБE`╔ъЮpk" 70Еч;┘ y5pЕ/мlвдШ`а Зёf`X▓║2▄Ъ8├ дс╓pm°┬╩&╩╡┴└у═└"░du{╕5╤З°├єЭO"$Ц$ХПЙ8М7Л└Т╒Eт╓─$nа7pЙ╚─V6Qо >qoБ%л;┼нЙT▄└*nк▀,мlд╨Иx─БE`╔ъ*qkт7РЙ╪─ tт +ЫщdщФт└"░duл╕5╤Кx┼ ─тfq╡8М2█o"╪┼БE`╔ъВqkb7PМ8╞ $уЦq/dV4╥ Ш╞Б%л╗╞нЙl▄└6ЮY╤DH' ЗkCfE!ЭАtX▓║v▄Ъx╟ЧY╦&B:ї╕Б{о ЎqoБ%л╚нЙВ▄└An !7░Рh╚a╝` "Зёf`X▓║М▄Ъ╪╚ tф∙NЎ╓Olя}З#9М ЬфRr`X▓║Ч▄ЪИ╔ ╠ф∙NК&Jъ╪╚╔б.ш╔ №ф└"░duE╣5qФH╩ ,х╣оh"№о+н жrU9░,Y▌VnMtх╛rayо+Ъ┐ыJ╟ ╥rk9░,Y]\nM╠хъrSw∙╞└T╫Ж╠КЖA:[9░du_╣7ёХ;°╩|х╣nяйsЁХC]pЁХ;°╩БE`╔ы╛roт+wЁХч;)Ъ(Йeур+З║рр+wЁХЛ└Т╫}х▐─Wюр+╧wR4QR╟╞┴Wу_╣ГпXЦ╝ю+ў&╛r_╣Гп╪╞┴Wу_╣ГпXЦ╝ю+ў&╛r_╣Гп╪╞┴Wu┴┴Wюр+Б%п√╩╜Йп▄┴Wюр+╢qЁХC]pЁХ;°╩БE`╔ы╛roт+wЁХ;°╩Бm|х0^pЁХ;°╩БE`╔ы╛roт+wЁХ;°╩Бm|х0^pЁХ;°╩БE`╔ы╛roт+wЁХч;)■u╓tтр+З║рр+wЁХЛ└Т╫}х▐─Wюр+wЁХч║вЙЪXа.8°╩|х└"░фu_╣7ёХ;°╩єЭь7Qц_9╘_╣ГпXЦ╝ю+ў&╛r_y╛УвЙРX└Wu┴┴Wюр+Б%п√╩╜Йп▄┴WЮядh"$ЁХC]pЁХ;°╩БE`╔ы╛roт+wЁХч;)ЪЙ|хP|х╛r`XЄ║п▄Ы°╩ЧY╦&ъ╗╜r]╤DH,:^╚мh"$ЁХK%;hbУ─╛rW7∙[WЗ∙╞┴WуЕ╠К&BbЗ9░фuЗ╣7qШ;8╠єЭMД─sи ЩMД─^s`╔ы^soт5wЁЪч;)ЪЙ╝цP2+ЪЙ\ч└Т╫]ч▐─uюр:╧wR4 ╕╬a╝РY╤DH,р?Ц╝ю?ў&■s y╛УвЙРX└уЕ╠К&Bb':░фu'║7qв;8╤Ьш╣n┐ЙрDЗёBf√MO:░,y▌УюM<щЮtOzо+ЪЙE╟ ЩMД─юt`╔ыюtoтNwpзч;)Ъ(┐яkуъNЩ Гtюt`╔ыюtoтNwpзч;)&┐█kуъNЩ Г$юt`╔ыюtoтNwpзч;)I▄щ0^╚мh"$ЁйK^ўй╗7I"I─!Й8$З$вуЕ╠К&BQБеТ4▒IqH"IфЙХЯ║РD┤.ф║вЙРDФE`йdMlТDТИCqH"IDыBfE!Й(Л└R╔Ъ╪$Й,│оўЫID┘faeЯъ|┐ЙРD└╗,K%;hbУ$▐ї╠Ў_┼яzfE!ЙАw╞ЫБE`йdeЫx╫╝ы▐uя║ГwъВГwъf`XЄ║w▌Ыx╫ЧY╦&ъ╧вdV4ТИ╓Е╠К&Bя:░T▓Г&6I"╦м√_;H"р]_X▀э7QъВГwъf`XЄ║w▌Ыx╫ємE!ЭАw}aeе.dV4 x╫БеТ4▒IbYf-ЪЙ╝ы +Ы(u┴┴╗u3░,y▌╗юM╝ыy╓вЙРX└╗╛░▓ЙR╝ыP7Л└Т╫╜ы▐─╗Юg-ЪЙE┘faeе.8x╫╝ы└"░фuя║7ёочYЛ&BbQ╢YX┘Dй ▐uя:░,y▌╗юM╝ыy╓вЙРNЮX_4Т°╘БE`╔ы>uoтS╧│═╤Я1YX┘HрIБ%п{╥╜Й'=╧║▀Ёд█,м°Ї╙║ррIwЁдЛ└Т╫=щ▐─УюрI╧wR4^ыxbeс▌YрIwЁдЛ└Т╫=щ▐─УЮg-ЮDH╩6 +Ы(uaae!aА'X*┘AЫ$МF C┘faeе.8x╥<щ└"░фuO║7ёдчYЛ&B┬P╢YX┘Dй +Ы <щ└Т╫=щ▐─УЮg-Ъ C┘faeе.,мl"$ ЁдK^ўд{OzЮ╡h"$ eЫЕХMДДЮtO:░,y▌УюM<щy╓вЙР0ФmV6╕╙▄щ└"░фuw║7qз;╕╙єЭMД╘╤Kъxu┴┴зюрSБ%п√╘╜ЙO=╧Z<ЙЁю,eЫЕХMФ║ррXwpмЛ└Т╫ы▐─▒юрX╧w▓▀Dїоo2█ v>8╓ыОu`XЄ║c▌Ы8╓ы∙NК&BbYX╤Dxwx╫╝ы└"░фuя║7ёо;x╫єЭMДЯ'ф▌Yя`╝ррbwp▒Л└Т╫]ь▐─┼юрbwp▒;╕╪3+ЪпЙАЯъf`XЄ║Я▌Ы°┘№ь~v?{fEс5p╢C▌ ,K^w╢{g╗Г│▌┴┘юрl╧мh"╝Л <ю0▐ ,K^ў╕{П╗Г╟▌┴уюрq╧мhв╘╖;╘═└"░фu╖╗7q╗;╕▌▄юnў╠К&J]pЁ╜C▌ ,K^ў╜{▀╗Гя▌┴ўюр{╧мh"№< 8рa╝XЦ╝юАў&x╝Г▐┴ЯY╤Dй ^xиЫБE`╔ы^xoтЕwЁ┬;xс╝ЁЩэ7QыВГ+ъf`XЄ║+▐Ы╕т\ёоxW|fEс]\#$p┼Л└Т╫]ё▐─ярК╧мh"╝ЛkД─вu┴┴u3░,y▌яM\ёо°╠К&Bb!▒h]pp┼C▌ ,K^w┼{W╝Г+>▀╔~vW|fE!▒А+ъf`XЄ║+▐Ы╕т\ё∙NК&Bb!▒h]pp┼C▌ ,K^w┼{W╝Г+>▀I╤DH,#$н оxиЫБE`╔ыоxoтКwp┼ч;)ЪЙeД─вu┴┴u3░,y▌яM\ёоxW╝Г+>│вЙR\ёP7Л└Т╫]ё▐─ярК╧wR<ЙРXFH,Z\ёP7Л└Т╫]ё▐─ярКwp┼;╕т3█oв╓W<╘═└"░фuW╝7q┼;╕т\ёо°╠К&BbW<╘═└"░фuW╝7q┼;╕тєЭь:Г+>│вЙРX└u3░,y▌яM\ёо°|'E!▒LРX┤.8╕тбnБ%п╗т╜Й+▐┴Яядh"$Ц Л╓<╘═└"░фu╝7ё╟;°у№ё■°╠К&Bbз<╘═└"░фuз╝7q╩;8хЬЄN∙╠К&Bbз<╘═└"░фuз╝7q╩;8хЬЄN∙╠К&Bbз<╘═^w┼{W╝Г+▐┴ярК╧мh$С┬░ш&╔▄юnw╖{f┼в!9nўr╤M\ь.v╗ГЛ=│¤Ek]Ё┬┼~░ш&'spз;╕╙▄щЩЛЖУyсN?XtУУ4╕╬\ч└6ЩЛЖw+оєГE79∙ВЫ<▀╔■╗+Wp╩]ъ╓√ ьъ lr*o╕л7|УыЎ╣Uс?XLУ╙!°╗]▄Ы╠К┼ ї┼49е-│ю┐┘W=┌ЫЕХЛыЛirZZf-яЧ_╔╔(xсй>XLУ╙═2k▒x▀·тХ▐╦їR╖ ╗|VїУLtЮ╡X ╝з|q> ФkГпъзЦ&Оц<ы■╢┐└5№Дк^|]?б4ё'чYЛ╩√│7 +~fy]?y4ёчYЛ┼└Oqосз8ї┌ры·)гЙc8╧Z,Nk° K╜6°║~╩hт ═│ ДS╞~·\┐╛оЯ<Ъ╕yєм┼с'7o▒@╣6°║~iт══│ Д╙╚~jpй█ 7o]?б4q┌цYЛ┬ e ?╤╖╘ мЯZЪ°fєм┼с╘▓ЖS ╕e}]?╡4q┴цYЛ┬йe ┐зc]=бtM<нy╓╜┼tъi▌,l╖:u╝Жю╕zBщЪ8Tєм┼їД▓░¤▌ъОл'ФоЙ╦4╧Z,FO( +w╦хЛGw\=бtM<гy╓bБzBYX╣└X=бtMаy╓bБzBYX╣└X=бtM№Ьy╓bБzBYX╣└X=бtM▄Щy╓bБrByuб;оЮF║&╦аMюЯ\Wь`¤╘╥─╒╙БлзSW╧ж/Oо+X?╡4ёшtр╤щ└Щ╙Б3'╫ мЯdЪ8n:p▄tр│щ└gУыК╓O2M№3°g:Ё╧tъЯyЧY┐┐└·IжЙC&╧Z,N2ъРyЧY▒└·IжЙжL╬ЧNЭ/быызЦ&>Ц▐▀╟М7Л└░╙Т┤T╬2 рЦ┬yl"▌W╫╔^Kс о╫Жl"0▐ ,K└NKv╨RсЦ┬ ▄"▌Wє╔^Kс╘?└ў*┴-у═└"░ь┤d-э^╕еР)╔o╗пФ╜ЦB╬ gАi╞ЫБE` ╪i╔Z┌┐pK!┼ Тb▐v_н({-Еd│╘-эбе2▐ ,K└NKv╨╥NOдз╥╙щiАЇ4@z М7Л└░╙Т┤ЇЕ╙╙щiАЇ4@z = Ё=gpТ└x3░,;-┘AK_8= РЮHOд'eя2+Z щIпЭБE` ╪i╔Z·┬щiАЇ4@z =){ЧY╤RHOzэ ,K└NKv╨╥NOдз╥╙щiАЇЎТь%0▐ ,K└NKV╢t|сЇ4Bz!=НРЮФ╜╦l )Ч \;Л└░╙Т┤ЇЕ╙╙щiДЇ4Bz!=Б┘д│ М7Л└░╙Т┤ЇЕ╙╙щiДЇ4Bz!=щ╡б╧ М7Л└░╙Т┤ЇЕ╙╙щiДЇ4Bz!=НРЮ└zу═└"░ь┤d-}сЇ4BzJ7Bz!=Бе М7Л└░╙Т┤ЇЕ╙╙щ М(▌щiДЇд╫ЖМ(0▐ ,K└NKv╨╥NO#д'Ёгt#дз╥У^:Ёг└x3░,;-┘AK_8=НРЮ└Ц╥НРЮФ╜╦м°Z щIпЭБE` ╪i╔Z·┬щiДЇ4Bz!=НЁ┌╙щ ▄)0▐ ,K└NKv╨╥NO#д'0йt#д'eяр┌╨БIоЭБE` ╪i╔╩ЦN/ЬЮ&HOдз ╥У▓wpmш└л╫╬└"░ь┤d-}сЇ4AzЪ =MРЮ&HOzmш└▓у═└"░ь┤d-}сЇ4Azч╩┬Ў5o╬ХN.бчJ7AzRБ%`з%;hщ зз ╥X║ ╥У▓wЩэ є╕vБ%`з%;hщ зз ╥°X║ ╥У▓wЩ-ЕЇд╫╬└"░ь┤d-}сЇЇd:щЗ¤Ц>▒q┐еOl┌oй░wЩнЎ[·─КЦBzRaОь┤dП-}}√q╗╜█Ь▌Э¤Ёць╦▌u╕╕╝█▐▌l?ьn┐{gWїїC?╝∙|squў╟╧w╫W╖G╖gчW?▌ц╢■tsq~║ы+Р╖_▀=z}sёЯ╫WwgЧo╖W╗Q┐6¤шчэ═▌┼{¤└юЦ?Я¤┤¤Ч│ЫЯ.v_n?ьF;■nw╘╛y▄╫З?▀]~°╙nе╣╛█э·Є╖√▌▐▄ m0[∙пО>\_▀ёЗЮц▄▌°Ч╧GЯ╧>oo~╝°╧эю█їqwЛў║ Д.nnя■┤+№╫/Я■Є0╥=╗√єї┐_Ь▀}|(°ыЄю■~?ьoюш№·Чл?▄^¤q╖Є▌cys▒[°┘}w┐ї∙·цюцьтn╖Ш╦│ў¤¤╒∙┐╝╕█ц^Э▀Ь}°·D┐▀^^╛╜■Їiw¤о√W╫W;Ўхvяn∙d╔{░∙|ё¤у/Д\Ъ Х╝┐■|q┐Щ╧█c├C┐О╬/>|╪m╨╒▌├_яi┴6Lg g_L@'AL¤╚^m╝3=@: Li_;;424#424# +##"##"54#!"##"54##"5543325543323!255433233554#!"3!p / 3 ■┴ 3 / / 3 ? 3 /z■┴?0 ■ 3■═ ю ~ ~~ ~▒uu  ^3">Бщ├▒░├░5+^е╝ @L LBQQBщ ■>_4   °<"LБ`├▒░├░5+^H╝'&@#!L * ьLjk ■═й┼э^n╝)(@%% LА1K(jHRrШM ■╘ N;ЛA2/<GUbR10 C4<0(  6?PG■П=3493?+╝!@_ГЧ▒░░5+  . °╗N"нб┐▒░░5+  . °╗y"нв┐▒░░5+  . °╗1"нг┐▒░░5+  . °╗║"нВв ■ ▒╕ ■░5+  . °╗╝"нБЯ  . °·"нд┤  . H╗╝"н#Л>БЯ  . °╗0"не╢  . °╠Y"нж╢  . °╗:"нз╢  . °╗╔"н|Н  . H╗"нЛ>  . °╗╝"н~  . °╗с"нЗA  . °╗Е"нЬy. F╨CPЗ@&8<LK░&PX@(gaEMaCMaAN@%geaEMaCNY@DDDPDOKGB@53*(#!' +2#"&'&5476&##"554&#"&546332554&#"''&76632327&6554##"3─1; P1G`mat9<0< 6  gMZb! вViBP=1К 6. )HJKW&3;%!  7D\L■ж.└;2N60,-  . °╗"нДf  . °╗║"нЕЪ. °BQ^Т@  <LK░PX@&  g aEM a CN@1  g aEMa CM a CNY@ RRECR^R]YUMKCQEQBA(&&&)%$ +&546332554&#"''&7663276632#!"3276#"&'&"#33254'&&#"6554##"3Тdlbt;=.> 3  gJ;UU4Di ■╟M9[" #cC9We?▐∙ D01BЭUjCN>2DHJT+4?&  7D1'%4K?99 &26I 1@.'(.*++76,-ї96B/-*/P °с╝":zK░PX@ L K@ L KYK░PX@H + и ь I@р5/17!()"6105#**$@ °┘14@1LАaEMaCN10($(( +&'&5476632#"''&&#"3267576#╟g hHIk 2 F22C C21G  1 lIK@,PH2>KJ7  &55,&?B$-53(  :H  @ °┘╝"╞д  @ °┘╝"╞Хp@ F┘No@ 6" LK░&PX@$А~aEMbAN@!А~faENY@LJB@<:20 +%76"#"'&77663267654&'&#&&'&5476632#"''&&#"3267Р 1 ]A31 8P hHIk 2 F22C C21G Х  5F,2  . G7,PH2>KJ7  &55,&?B$-53(  @ °┘╝"╞Бо  @ °┘╞"╞}JA °╤╝":]@  LK░PX@-RS)@Iы¤х6007")(!71/5$**#@ °╨╝EY\@@<5.(LK░PX@-RS)@Ir  B B■+6007")(!71/5$**#A ў╪%4/@,gaEMaCN&&&4&37))&# +#!"32676#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'dAG`gI[b ·A  C36* 7-4&#  07B;0Z*5AN\Tr3+/--5  A ў╪╝"╨а  A ў╪║"╨Вм ■ ▒╕ ■░5+A E╪?Nq╡LK░(PX@&АgaEMbAN@#АgfaENY@@@@N@MGD=;+)!&# +#!"32676#"'&776632654'&#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'S531  7:PgI[b ·A  C36* 7-4&#  *5+2  *,@40Z*5AN\Tr3+/--5  A ў╪╝"╨Бк  A ў"╨д┐  A ?╪╝"╨'ЛM ўБк ▒╕ ў░5+  A ў╪0"╨е┴  A ў╪Y"╨ж┴  A ў╪:"╨з┴  A ў╪╔"╨|Ш  A ў╪╞"╨}F  A ?╪"╨ЛM ў ▒╕ ў░5+  A ў╪╝"╨~(  A ў╪с"╨ЗK  A ў╪б"╨ЖСA F╪@Ov@ 0$LK░&PX@&АgaEMbAN@#АgfaENY@AAAOANHE><*(&# +#!"32676"32772#"&'&5476'&&'&54676632&3!25&'&&#╪ ■╜ H8*@'T76  .3:OgI[b ·A  C36* 7-4&#  *6,) 1,@40Z*5AN\Tr3+/--5  A ў╪║"╨Ее= °╘%4/@,gaEMaCN&&&4&37)&&& +#"&'&5543!25&'&&#"''&766367674#!"3╘gI[b  C H8*@'dAG`ЗA ■¤ C3UZ*5AN\T* 7-4&#  07B;■▒3+/--5> <┌·63@03Li_?MaAN3[%(&  +32#"'&574632654&&#"#"''&54776&##"5543!2╓Vr5GzLEBB?Ym(T>0<эї V ╩ @g?Kj5 +TS/Q1┬ - -ж  > <┌║"уВз ■ ▒╕ ■░5+"9╝,5@2!La ~1; - ■U л - >G! * = 9╧+A┐@+' LK░ PX@ a?MaFMaANK░ PX@ a?Ma=MaANK░PX@ a?MaFMaAN@$?MaEMaFMaANYYY@ (-)'6$0 +332#"'&574626554&#"&'&54676632655654&'&&#"3267И 3 Бq ]T.UAe ^BY.?0/A C01?· ■!ph .IO%╤╝9;@84Li  P╤|"ьВл└▒░└░5+  P╤m"ьБ┤▒▒░▒░5+H╕╞ LK░2PX@a45? 3 3 E*4JP3ZN■▒ A7A@6■╜ A7A@6■╜ ц (*())P╤!L╡LK░"PX@a?M=N@?MaEM=NY@ ! 34$4 +##"54&#"##"54332763r_ 3 C57D 3 3 ,[^O■╢ <7FD7■┬ ц +>  P╤╝" е  P╤╝" ХqP S╙-[@$ LK░"PX@ea?M=N@e?MaEM=NY@ &34(#$ +%3"5543655'&54&#"##"543327632╥GU UC57D 3 3 +[P_╬╓RQ ' b<7FD7■┬ ц +>^OВ  P╤║" Ек? °с',@)aEMaCN'&( +&'&5476632#667654'&&#"3╔hhJGggH0D  E11D  E2JA.MM-@JJ?+PQ*AJ>5-$AB#-55-#BB#-5  ? °с╝"в  ? °с▓"Гд▒░░5+  ? °с╝"Бм  ? °"д┴  ? Hс╝"#ЛKБм  ? °с0"е├  ? °сY"ж├  ? °с:"з├  ? °с╔"|Щ  ? Hс"ЛK  ? °с╝"~*  ? °сс"ЗM? °сK#71@.LЕaEMaCN(.7(% +#"&'&54766323667433254'&&#"3267сgHHhhJ!'  39 E11D  E20D NPQ*AJJA.MM-@J$ 0$@╜AB#-55-#BB#-55-  ? °с╝"в  ? HсK"ЛK  ? °с╝"~*  ? °сс"ЗM  ? °с╛"ЕЪ▒░░5+  ? °с╝"А▄  ? °сЕ"ЬЖ6 р█ +;K4@1DA0'LaEMaCNIG53% +#"'&''&776'&'&5476632776276'&#"$54'&'&3267█ gHE1 $&  hJ=. $# ■╛┴ '1D  ╞"/0E MOP+AJ!/ 7.MP*@J/ 3&щ5-!DD!FH■▌5-  6 р█╝"$Я  ? °с║"Ез@ °6JYJ@G! Lg aEM aCNKKKYKXROHF><65&&*&) +$676#"&'&#"&'&&5467663276632#!"3&54'&&#"32673325&'&&#ИC !^>7VW4FefF4VU3Gh ■─ F6╪ B0/A  A/0B вA · C05)" 19.)(/K?8,.7>K/((/M=88 9.5|ML,66,KI,66,,6,46,6W >ш":]@  LK░PX@a?MaCMAN@?MaEMaCMANY@ **'37% +#"&'&##"5433276632654&'&&#"3267ш _H'B 3 3 A(F_D  =*(6  7&(; LOP,@Iы и * H>ч71/5$**#6007")(!P 8▄╝#>3@05 L  >/0Dd:./4?L$ ∙ p ЄCJ;╫&12&*63'┴)56*A >╤":^@ " LK░PX@a?MaCMAN@?MaEMaCMANY@ *.('30 +332##"554&#"&'&5476632655654&'&&#"3267К 3 3 B'G` _F(A  6(*=  :(&7 · ¤X ыI@)SR->H *■ж7006#**$5/17!()"P] L╡LK░.PX@a?M=N@?MaEM=NY@ 34 +'&###"543327663=   4D 3 3 A+   1 I8■┘ ц =%)  P]╝"+n  P]╝"+Х:8 √░ 66@3А~aEMaFN65$5,$5 +&&55433232654&&'.54632##"554&#"#╛W/ 0 E44@!-/8H1dR7U. / A73> DCLE<; ::@D>;J 3 Ї]jeV5K\?]h ) JDBJ % >7■ $  3|,+@(Еa?Ma=NB4#C!5  +##"332##"&54##"5543325543323323 q+. HJ= = 1 q ┐■┘0' ) 6I= ' t t '$  3|D<@9 Еi a  ?Ma=NB><953C#C!5#C +##"332##"332##"&554##"554332554##"5543325543323323 qn n+. HJ7 7= = 1 q ┐[  Х0' ) 6Iл  [ ' t t '  $  l╝"4ЙrH ∙╔·"D╡ LK░"PX@?Ma=N@?M=MaCNY╖$5&30 +332##"554&#"&&543323265В 3 3 *[0Q/ 3 @79C· ■ +>'J4R ■├9CD8=  H ∙╔╝"7г  H ∙╔▓"7Ге▒░░5+  H ∙╔║"7В░ ■ ▒╕ ■░5+  H ∙╔╝"7Бн  H ∙╔╔"7|Ы  H H╔·"7ЛE  H ∙╔╝"7~+  H ∙╔с"7ЗOH ∙(K-a@* LK░"PX@Е?Ma=N@Е?M=MaCNY@-+4$5&8 +##"554&#"&&543323265433267433(2& 3 *[0Q/ 3 @79C / K +7 ■: +>'J4R ■├9CD8= $#   H ∙(╝"@г  H H(K"@ЛE  H ∙(╝"@~+  H ∙(с"@ЗO  H ∙(║"@Еи  H ∙╔╝"7А▌  H ∙╔Е"7ЬЗ= 9╧╕ 9Oї@95#LK░ PX@-А'J4R ■├9CD8= ■ +'  H ∙╔"7Дt  H ∙╔║"7Еи ╛·!@ L?M=N74 +2''433227632##╚д 9 }} 9 д :ч■xИ ■▓·+!@$ L?M=N(%'74 +2''433227633227632##"'&"##▒О 4 jl 0 mm 4Р5mj6ч ■vК ■vЙ ■v■К  ▓╝"S№  ▓╝"SБ  ▓╔"S|є  ▓╝"S~Д├·, @%L?M=N(() +2&776''&543322776332##"''&"##зз 6ГВ;зз7ВД9юю╜╜юю╜╜ 8╢·"(@% L?MaAN" 783 +55433>76''4332276332##2 '+й 5 ВА 4 ╣*?9╚ ( 9:ь■lФ ¤хC@   8╢└"Y|▒░░5+   8╢└"YБЖ▒░░5+   8╢═"Y|t▒░░5+   8╢·"YЛП   8╢└"Y~▒░░5+   8╢х"YЗ(▒░░5+   8╢╛"YЕБ▒░░5+"Щ·/@,L_?M_=NU3U +255476&#!"5543!23!2#!"■Ё _ ■с ■Э 0n - 0■Т -   "Щ╝"ar  "Щ╝"aХ>  "Щ╞"a}  "╞"хЁd  "√╝"хd  ^ °ц╝"AL"d╞ 7coт╢c*LK░PX@5 a 6Lg g_(Ma)N311:3:5$23C#C +#!"332##"3!2#!"554##"##"&763!233254"я ■р└ └ ■Ю ╠4 90 Ж ¤╫лм╣ * ╜ * ^b. +■Ъ?■┴L▀A -/@,g_(M_)N!!!-!*%$G36+##"54332&332654&##654&##"33~-/eS╤ ╠UaUЁП1;;1П┼<=2ТХ*F1KR - OKX#╓╡4)+5■=7..8├: °╙H&<@9 LА~a*Ma+N&%4%$4%+&554632#"554&#"32655432#кpp]\p3 M@9EJ<<2ш3;■DLA3=@: Li_(M_)N1-*(%!#5 +##"54##"554332554334&##"332##"33265нhgW╦ ( ( ╦w?5Н^ ^О4?AYJ√KX   Ё н3;╖  ╦<2  L▀"~ВлI▒░I░5+  LAL╘@#)@&g_(M_)N33C#C +#!"332##"3!2#!"543!2╘ ■═╒ ╒3 ■М t ╣ * ╜ * , *  L╘"Вк]▒░]░5+  L╘"ВВ╖Z▒░Z░5+L N╘@?4@1ge_(M_)N3D()#C#C +#!"332##"3!2##"#"'&776632654'&##"543!2╘ ■═╒ ╒3 к11 6Л t ╣ * ╜ * +2   ), , *  L╘"ВБ┤]▒░]░5+  L╘&"В|в]▒░]░5+  L╘#"В}Q]▒░]░5+  L╘"В~3]▒░]░5+  L╘■"ВЖЫ]▒░]░5+L N╘@@:@7'Lge_(M_)N3V)&#C#C +#!"332##"3!2##"32772#"&'&5476&##"543!2╘ ■═╒ ╒3 п6  /1Е t ╣ * ╜ * ,) 0* , *L╙A#@ g_(M)N34#C +#!"332##"##"543!2╙ ■╬╘ ╘ 3 s ╣ * ї - +@ ∙ЁH-8@5Аga*Ma+N-,3C%$4%+&554632##"554&#"326554##"554332#╢vvdau 2 NBDPPDCM| ╝ uama│aml^ CILF▓EJJE ) T`n  @ ∙Ё"НГЮO▒░O░5+  @ ∙Ё"Н}BN▒░N░5+LфA#!@g(M)N234230+332##"554#!"##"543323!255Э 3 3 ■■ 3 3 A ¤╙ її - ЄЄ ё@A;G;@8   g  g(M)NGDA>;8424#B424# +##"##"554#!"##"54##"5543325543323!255433233554#!"3!@ N 3 ■■ 3 M M 3  3 NЩ■■╫ ■k її Х \ \\ \ЦZZLУ@ @(M)N 3+254332##L 3 3 , ¤╘   D┼"ТL▒░L░5+   Ёы"ТБL▒░L░5+   т¤"Т|¤L▒░L░5+  7з"Т}лL▒░L░5+   У"Т~НL▒░L░5+  L ∙ЕA"ТЫ▀   щЎэ"ТЖЎL▒░L░5+   Fй"Т#Ол}лL▒░L░5+ ∙жA(@%А(Ma+N4$4+&55433232654332#Дm 3 F::G 3 nZjX  * к;W6 ■з┬лLA)(@%% LА(M)N#8'30+332##"54&##"''&##"54332277╘4 3 ВГ 3 4ЪЩA ¤╙ ╜╞╟■B - ыыLЎ@@ L(M)N#8#0+332##"'&##"5433265п 3 5■ь 3 5@ ¤╘ │■Q , ■Mп  LЎ "г┤P▒░P░5+  LЎ "гВ┴N▒░N░5+L xЎ@-3@0)&"Le(M)N-+#:#&+'"55432674'&##"54332655655433ЎBR *#■ъ 3 5 3@ ¤╤H> ) #&╢■Q , ■P6m   LЎ "гЕ╣P▒░P░5+: ∙рH,@)a*Ma+N %+&554632#66554&#"3нss`?_5t_?MM?@LL@r`к`s4_@к`r=ODнDOODнDO  : ∙р "игN▒░N░5+  : ∙р "иБнN▒░N░5+  : ∙р"и|ЫN▒░N░5+  : ∙р "и~+N▒░N░5+  : ∙р "иА▌N▒░N░5+  : ∙ря"иЖФN▒░N░5+0 щьW'5C5@2 ;7-) La*Ma+N@>20)+#"'&''&776'&5546327766276'&#"$'&&32655ь&t_K5%% s`J6&■Э▌$7@L▄#8?M492Fк`r$.82Gк`s%.■wMODн╟■▓ODн  : ∙р"иЕиN▒░N░5+: ∙цH8F▐K░PX@ 2/LK░"PX@ 2/ L@ 2/ LYYK░PX@"ga*M a)NK░"PX@,ga*Ma)M  a)N@2ga*M_(M_)M  a+NYY@999F9E(6''3C#C +#!"332##"3!2#!"554&#"&&55466325543!26554&#"3ц ■э╡ ╡ ■м G)3R//R3)H T ■RFF:8EE8╣ * ╜ * #0W8╨8W1$ +■*F9╘:FF:╘9FF▌B0@-g_(M)N4$+##"##"5433654&##"33~_`NЮ 3 т*;;/ЬЬB[JIZь . ■Є9./:╚F╔A%4@1gg(M)N%"34$+##"##"5433233654&##"33l]_NЛ 3 3 Н,88-ММ├ZJIXp - p■ї8..9┼0 е┴H&+@(Lea*N$":+##"554'&&554634&#"3265SnVJ 3 KWn[БG:;GG;:GHo]╝Pi H H hQ╝]o╚?JJ?┐?KK?LсB,3@0Lg_(M)N,*&"342+ ''&##"##"54332##332654&##ЪzВ 3 ▌L\@6~6■ЁХ/::/Хїё . ZI;R Ї─8-.9  Lс"╡ФG▒░G░5+  Lс"╡ВбE▒░E░5+. ∙╠H46@3А~a*Ma+N43$4+$4+&55433232654&'.54632##"554&#"#Эo 1 LE>BBQEG.f]ak 2 GC:?19EP3lbSJ -82+%2 ";/IPWK -9-+#(?0IU  . ∙╠ "╕ОN▒░N░5+  . ∙╠"╕ВЪL▒░L░5+. G╠HO;@8LА~~fa*N$4+$<(*+$"#"'&776632654&'&#&&55433232654&'.54632##"554&#"╠[T30  T] 1 LE>BBQEG.f]ak 2 GC:?19EP3UT+2  .RC -82+%2 ";/IPWK -9-+#(?0"╠A!@_(M)NB4#+##"##"54##"5543!╠ ж 3 б ЦA + ■ Ї + "╠A/)@&g_(M)N3C#B4#C +##"332##"##"54##"554332554##"5543!2╠ жq q 3 j jб Ц Р  ■╙ -  Р + +  "╠"╝ВЧE▒░E░5+  " B╠A"╝М[E ∙у@!@(Ma+N4$4+&5433232654332#╖r 3 J?=J 3 q]m[u ■К?JJ?v ■Л[m  E ∙у "└лP▒░P░5+  E ∙у "└Б╡P▒░P░5+  E ∙у"└|вP▒░P░5+  E ∙у "└~3P▒░P░5+  E ∙у "└АхP▒░P░5+  E ∙уё"└ЖЬP▒░P░5+E Nу@6,@)# LАf(N$=)-0+332"32772#"&'&5476'&&543323265Ь 3 eT. 1,N[ 3 J?=J@ ■ЛVk'' ,+ iQu ■К?JJ?v  E ∙уk"└Д{P▒░P░5+ тA!@ L(M)N74+2''4332276332##┌╢ 6 УУ 4 ╕ 8.■-╙ ¤╥▄A+!@$ L(M)N'5'74+2''4332276332276332##"'&"##├а 6 vq 7 tx 3Ь 3 ws 1. ■H╕ ■H╕ ¤╥ ╡■K   ▄"╩G▒░G░5+  ▄"╩БG▒░G░5+  ▄"╩| G▒░G░5+  ▄"╩~ЪG▒░G░5+"тA) @" L(M)N()((+2&76''43322776332##"''&"##&╡╡ 7РР7╡╡ 7РР7сс■ю■я▀▀"╥A#@  L(M)N'8+6554'&543322776332##╒░ 6 ЙЙ 7▓ 3 ш=№№■├ш   "╥"╨ПF▒░F░5+  "╥"╨БШF▒░F░5+  "╥"╨|ЖF▒░F░5+  "╥"╨~F▒░F░5+$мA/@,L_(M_)NU3U+255476&#!"5543!23!2#!$2■╫ t ■╬) ■М 0╢ + 0■I *   $м"╒|R▒░R░5+  $м "╒ВИP▒░P░5+  $м"╒}"R▒░R░5+°#─&3?Y@VLKАi g iW_O''=:74'3'2.*&%&4)% +2554&#"''&76632##"554&#"&54636554##"3332##"55ъ)()  C0:C  D1>J?9F,4(!v ° ° 4#*  #,=2┌ '/.2:д(#0"!d  °=─'3@@=iiW_O(((3(1.+'&( +&'&5476632#667654'&&#"35543!2#!БA B/-A A-))(*П  ■ўo0+11*00*35*1+"/.!!++!в " "  ^╝0@- LM_N&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤шH9─=/@,%LaM_N=;+3W*#+25543326'&&5546632332##"5547>554&#"##H S(-;lGGm;-)T ╗ 6!\LK\!6 ║ * Y9ьEi::iEь9Y * ,-F+°L\\L°+F-,   P 8╨·d'_·+%@"_MaN3B44#& +##"2#"&&54##"##"54##"5543!2_ I  ):%э 3 P $ ╜■р%& ) 54?■Q п ) )G Ўю┼ ,@)aJ>C=JJ=■╜>J:╝@ L * *(Ф\wB5@A5 (M^.Q3Ux?й2 °┬╝;:@736LА~_0 ,3P!1<&H #╬ * 1└^1ъ╝.7@4+LjD@A5 LА~i_ E>&:@D>(68Ra^M 3@C7У<83Я-4%*+&2,&.+)$├╝O@  LK░PX@r_ 68#749 °╚├(<>@;LАia-+> <,6■╚Ra_L 3@C7Т;83*H=':@E=√+&4+&.+)03$+> Ў╨┼ ,@)aJ>C=JJ=■╜=KRu╝@ L 0 E7╪─+8@5 LАa * *7ЛUwC5@A5 (M^.Q3TyFА<4 °╦╝?:@769LА~_1 (,3('',<'#$ #╬ * 1└4-)┌╝.7@4+LjD ∙█─(<7@4 KАiaGG=$89Qa^M 3@C8Х"БЖ+/(33**'(5/.2ю╝O@  LK░PX@r_ °╤╞&:L\╢"LK░2PX@ia@;LАiaБ@<>GG=∙3*.+(5///.)3  °$з *@'iaCN % +&554632#66554&#"3fFF;;HH;%++%#,,#D9╖8CC8╖9D-)#╜#*+"╜"*Лд"@ LАa=N%3! +332##"54##"55477W#  2 3д ■p f  #&й)2@/LАi_=N)'F$4+ +25547677654&#"##"556632332##$,H9)! (  E48D6?:░ ю 3WD'$$ /9>/2GQA  % ∙в<j@58LK░ PX@!r~gaCN@"А~gaCNY@ 3Z&%5% +$#"&'&'4332327654'&#"#"''&4776&##"5543329'*=   %+ * eа ▄ Z8о.)!,&  #!'#p  i1.д.7@4+LЕja=N..4D&B4# +$##"##"554##"55477633233255433233.   п u p{  Я  c c  ЇX X  °б:B@?3 LА~giaCN!&%6% +$#"&'&'54332327654'&#"##"554332##"7632 :(+=  $- ,%" ╥ ж.$5з($!#+%  '& с  А" % °ж';6@3LАiiaCN(('#4'% +$#"&'&554632##"54&#"763254'&&#"3267 @+*< B82A  % '.'< ,$$%#г$!$,,$$╖3<:. $&"K+#N  дK@  LK░PX@rg=N@Аg=NY╢&34C +2&76&##"##"554332##PЕХ  ъ Ж"g! G ■Ц  °з'=Q7@4='LiiaCNOMEC97-+) +6#"&'&547676'&'&5476632&326765654'&&#"54'&&#"3267с  >,*=   ;*+=  У#%%#С&#$%▄!#*)$#"#%!P  ╥  °ж(>6@3LАiiaCN*(('$4$ +#"&554332326554&#"&'&547663254'&&#"3267B82A  %!'.'<  ?+*< ,%"%#B$╖4;9/ $&!L+##%#-,$P   $─є ▒╕░5+  Л╝Ї ▒╕░5+  #&─ї ▒╕░5+  %┬Ў ▒╕ ░5+  .╝ў ▒╕░5+   ╗° ▒╕░5+  %─∙ ▒╕░5+    ╝· ▒╕░5+   ─√ ▒╕░5+  ─№ ▒╕░5+  ║Л^Ї║ ▒╕║░5+  #║&cї║ ▒╕║░5+  %│\Ў║ ▒╕║░5+  ║.^ў║ ▒╕║░5+   ▓[°║ ▒╕║░5+  %▓`∙║ ▒╕║░5+   ║ ^·║ ▒╕║░5+   ▓a√║ ▒╕║░5+  ▓`№║ ▒╕║░5+ Йl╝ @54&#"#'"554632##&54632#░*+"@56A 3 jVTf(!"" 4  ╚ ;+6"!.2=>2  Ob`P,@((7 ╞  * /еЄ 3mK░2PX@&А~a?MbAN@#А~fa?NY@ 3 1&$  $ +#"&546332655432#"&546676655433 #+*!?56B 3 jVUf(!"" 4Є  ╞ ;+7! .2=>2  Ob`P,@((7   2▐вN р▄▒░▄░5+'Ч~ @YaQ $ +6&54632#kDD0/DD/ЧE/0CC0/E ЙmыC*@'=1$LYaQCA" +574#"''&547764''&&77665'433277632''&##пo nn o  o oo o Й z@==@z z@==@z HKдWcнK░PX@'  Еg _  ?M=NK░"PX@'  ЕЖg _  ?N@.  ЕЖ   hW_OYY@c`]ZUQMKGD@>:8C#D$4$#C  +##"332##"#'"&774##"#'"&774##"574332574##"5543325763233257632332574##"33J LC  K 3Я 3@  I? I 3Ю 3C ║ЯЯнЯ * л зл з * Я + л зл з +▒ЯЯG╝ @ +%76"##"574'&&'&54766765'43323#"''&&#"3267Р 1 ]@ , 8M N7 , A\ 2 F22C C21G я  5EG I G5,PH24F I FG2  &55,&?B$-53(IЇEU=@:71)A$L.J Iea?NRPJH64 +$#"''&#"'&''&776'&5476''&547763276327766326654&&#"╚$A >2@=1; ='$@=2AA5A E!■░%?%%>&&?$%?%ю1A>$!;<3B@2@=$(AD1=$>%$>%%?%%?%5 г°KB@?1( LА~iYaQA?;8/,$96 +$"##"574#&&55433232654&&'.546725'43323##"554&#"°cY , [f - [PHL#HCHM1^S + Xd / VLCH#ADEU3db H H cM :GA6#2,-G6M[N O dN :J:7$/#4K6H ў:─VS@P-LА g   ga_3F FF Fr^Up 3I8>KЄ  ц╨  ─K>6>4  KZ2\D└ └-> * ,@*u ' Н\hE@ ,)DAО ' sO+J  <╝W7@4NA>2) QLА~7ї 3 >uP52 bpbp 3 КШКШDe8 ?mH  +;╙ ╛'*;'*■°6W4^Ч╜8E=@:  gg _#C#B4#C#S +332##"332##"##"554##"554332554##"5543326'&5433227633M╛u ЖЖ Ж 3 Л ЛЛ z╛ 6 ий6╝■и  R  У У  R  X■╧1'├к @YaQ $+6&54632#kDD0/DD/├E/0CC0/E!├╝ @Еv%$+2&76332##%^ -■г .й¤W'j═#MK░PX@gaEN@YgaQY@# 4#B4# +##"##"554##"55433255433233═ ж * ж ж * жX * в в * к к'═X @W_O 3+5543!2#!' Т ■n * * +Ш{ш+│!2+"''&"''&4776''&477627762{ussuvxxv┬ussuvxxv'{═ #@@=igYaQ #"   $ +&54632#5543!2#!&54632#у ╥ Т ■n▓ ╕С ) ) м  '╡═─&OlOЫ▒░l░5+▒╕ Ы░5+'_═3AK░ PX@)pq hW_OK░ PX@/pqX hg_OK░ PX@)pq hW_OK░PX@(Еq hW_O@'ЕЖ hW_OYYYY@?:$#S#T$#S +##"332##"##"&776&##"554332776&##"554332776332332═ ХC┘ °' $b БC┼ ф- *v НМ ) SL ) М ) _X )'.═я│2+7"5547%6'%&5546/Q■пУ■m. 1ШШ1╝0╝'-═ю│ 2+$'%&5547%72═■mУ■пQ2╝0╝ 1ШШ1  '═6'O■цTG▒╕■ц░5+▒░G░5+'═6" @ JW_O +$'%&5547%72#!"5543!2═■mУ■пQ ■n Т y╝0╜ 2ШШ1~ ) )  '═7&N'O■ц▒░'░5+▒╕■ц░5+  'Т╬ц'[Д[л▒░Д░5+▒╕ л░5+'в═X>K░ PX@qW_O@ЖW_OY╡B30 +3!2##"554#!"55' Т + ■з X в j *'ч╬b"0▒dD@%YiaQ"!%)$ +▒D$&'&&#"''&7663232676#;*#1@(%#$ 9%ч )")  !'*3Ч╝!▒dD@LЕv(&$ +▒D&76332##"'&"##.Т/У*vv*3u■Л4■╠'а╣▐-;J@G6" Li  Y  aQ.. .;.:42 - ,(&&&& +#"&'&#"&&5466327663676'&&#"3 654&#"3HH))I05O&%M2+G*)I-4K#*Q0■╧:""6'-89)Г98,(?%"<*▐*I-,H*5418*J,,H*6252■√314.9,,;9,-:1230" 8t╝(@%iYaQ3&3+5'433265>72##"# 7( ON  7)!NN╚ * 1;4FE * 1;¤╠FE  H9─▄ ^╝6@3 LЕW_O&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤ш^ 81 '@$ЖW_O423+##"54#!"##"543!1 3 ■├ 3 ┐ №, Ь№d ╘ ^ 9*┘%2@/LgW_O%#W#<+55476'&5543!2#!"3!2#!^Ёю ╖ ■ОЁёs ■H╟ ,пd- * ■Я■T )   8С*@' LЖW_O#?+''4?2276332##"##еБ/_ш ╬ Ьў 6╚b■∙\ ) №k P 8╨·)V@ " LK░"PX@?Ma=MAN@?M=MaCMANY@ $36&30 +332##"554&#"'&##"543323265Й 3 3 *Z8, 3 3 ?29C· ■ +>═ о ■░18D8=@ °¤├#2A@>&LiiYaQ$$$2$1(*'%$+#"&5466325&'&#"#"/47632674'&&#"3┘$gЖ^r:b;,N 1,O219Dr>ONN0+F)N?;ШSУ┼udDf6 ДE>,%S¤╞ql(4(I0FW^ ўЇ┼)9EТK░PX@+  i ja*9*820)($"& +&&546632#&76332##654&#"3&&546632#6654&#"3╟B''B''B&&B'{ ■Ж !?77((88(QB''B'&B&&A'(78')88)й&A''A&&A''A&■Wй¤W╫8((87)(8■ &B'&A&&A&'B&.8)(77()8    °Z─"¤#(#є°є6' ╥─ъ@LЕv'&+'&76332##6276'&"┘мн%он'ЗЗЗЗ.}}■Г■ГM::■╞■╞? г√iWoпK░.PX@ *  JEL@ *  JELYK░.PX@, i  i iYaQ@3  А i  i iYaQY@mk`^WV-&'('*&' +#"&'&#"&'&54767663225763323267654&&#"3267632#"&&54663676'&&#"3267!НM ZD#57 6D J., &*; BuLVЩ_*Xv1*6>&B)'0¤│##*!a'L005$ 8х╝*@'L_╝ №Р A№┐ ┤=d=?g;4 1О├L]Z@WCLА~ ~~a+,6 )@:(H3-H)Y,(.&!'-H °─Fh▒dD@]А~ii   i Y b R  F EB?;942.+'%& +▒D&&546632#>54&&#"3&&554632#'"554&#"326554372#Kе^^еggж]]жgXНPPНXYНOOНY1<<22<  %$$%  =1]дeeд]]дeeд]3PМVWНPPНWVМPА8/Щ/76-  !!в!!  -7Dж╩>Kд▒dD@ A/$LK░ PX@2Аp ii Y bR@3А~ ii Y bRY@KIED<963)'& +▒D#"&&546636654&&#"36##"''&##"##"554332&332654&##Z44Z66[45Z6,I**I,,I**I,?   5T  ╩4Y56Z44Z65Y4■Я*I,+H**H+,I*▓?@= Я - ]b╝AE@B=-#LАДY_ O:852*(!4#3 +554332##"##"54##$332##"54&##"''&##"54332277 ч \  W  EE  RSХ   ■╓ *' ■╡ hh■№ K }}ч`(8▒dD@-iYaQ& +▒D&&546632#6654&#"3ТJ++J,-J++J-/@@/.AA.ч+I-,J**J,-J*2@//@A./@хК╝ @Ж<N%$ +##"&77633ЕK&< 5╝├─х'╝ $@!Ж<N   # +##"&776332##"&77633бF #83СG #93╝ ── ──/ ░v° @Еv 3 +54332##/ 3 3P 4 №╠ / ░v° /@,iYaQ   3 +54332##54332##/ 3 3 3 3О V ■к ■" V ■к ' 8Д╝#'@$g6@33,LiYaQ<:21'%++$67632#"&5'4&#"''&5476765'&6632376654&#"E,A'@H% !&E-2Ak`++WDL!&4/ RIb║3_;K8LГHЙ85?7d5#0YH' 8Д╝;0@- ggFE=  яЙ╝8яЙ╝▒dD@Еv$2 +▒D54332##"''5 ; &J▓║╣И ╗ &▒dD@W_O 3 +▒D554332## ∙ ∙И     ■хY╔&}} Y▒░░5+▒░░5+ МV №╞ &▒dD@YaQ $ +▒D&54632#U V   А<  ╝▒dD@Еv6" +▒D##"''&54332 $D- <Dmm ?< └╝ ▒dD@Еv%$ +▒D&776332##╜< -D$<mm■╛< ▀╝ ▒dD@Еv%%%$ +▒D&776332##2&776332##■┬8 .< *Ю; +=(<mmmm■с> ▄╝!▒dD@LЕv''4 +▒D&776332##"''&"##■хP : Q( <= (>llRR  ■у> ▐╝Х■┐■эD у▒5▒dD@*LЕYaQ3#4 +▒D&'5433232676332#╩D  *+  F2D9* "! +9 ,C 8▒dD@-iYaQ   $ +▒D&54632#6654&#"3Х?@..??.''''C>.-??-.>+%&&%■╓[║!0▒dD@%YiaQ! &($ +▒D&'&&#"''&76323276#o  !5!/[   1   ■єmб &▒dD@W_O 3 +▒D554332##■є ∙ ∙m ■e% с! ▒dD@YaQ)* +▒D&76676654&#"''&76632''■▓ & %/ +  *" _< ▀╝ ▒dD@Еv%$ +▒D##"&77633&; -D#╝mm   y< ·╝: p╨ яK%▒dD@LЕv8 +▒D55476674332Р (  C-╨  $ 1: Н H ў ▓ &▒dD@YaQ $ +▒D&54632#U╕   X B ┘ ┬У 8¤ ▒╕¤░5+ u FO▒dD╖ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"'Л 2<1▓ &-/7  t F ■S▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772 /;2 м 4/+' ■├=l ▒dD@W_O30 +▒D3!2#!"55■├ ) ■╫ l  ¤▒7 &▒dD@W_O 3 +▒D5543!2#!¤▒ ; ¤┼   ■U$;в│ 2+$#"''&547632■{╗■F$N■▓■V ┘ №щ ▒dD@Еv%$ +▒D&76332##■Zj %■Х $'¤¤   <б╝с2б5▒dD@*LЕYaQ3#3 +▒D&'433232676332#gE  ))  F229, !! ,:$>╝!▒dD@LЕv5'$ +▒D5463322776332##"''$( =< (Q : P▓RRll FМN▒dD╢ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"' 2;1▓ '+05   ">╝БA  Y8╔|8  VН╞}С  #<в╝~г DJ─ ▒dD@Еv%%%$ +▒D&776332##2&776332##%; -D#г; -D$DmmmmR Е &▒dD@W_O 3 +▒D554332## ∙ ∙R    FКS▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772К /;3 м 4/+'   C°Дё  [G║ЕG  ¤╞D■╝M#Г■┘■уС▒░С░5+  ¤╞D■╝M#Г■┘~■^С▒░С░5+  ¤╞D■╝x#Г■┘З ВЧ▒░Ч░5+¤╗D■╓0!8y╢5$LK░,PX@ ii e<N@+АiiYa QY@"""8"741.,)&! &(# +'&&#"''&763232676#&'5433232676332#■b  5  ,pE  *+  F2╓  /   Т9* "! +9  ¤╠> F#Б■ыЖL▒░L░5+  ¤╩>■я0#Б■щ~■Ёt▒░t░5+  ¤╩> Y#Б■щЗ x▒░x░5+  ¤║>■ф:#Б■щЕ■фА▒░А░5+иpЭ(TНГ}}}}╬▀Ё'8IZk|Св│─╒сЄ 1B▒gxЙ%6GЖч°EVgЁ'8IZk|ИЩк╗M^ЩЇ'hсЄ  $ 5 F W c t Е Ц в │ я O z Л Ч г  Q Т г ┤   Y j { М б ▓ ├ ╘ х ё   $ 5 A R c t Е Ц.·AРр9J[╜╬▀ДХ¤0Р╔┌ы№ *;L]izЛЬн╛8IZСхЎ)}┐╨сЄ■ 1xЙЪл╜╔╒сэ  ПЫж╖╠▌ю )9EQ]iuБНШIUa-╛".9уя√~.:цMYk".DP\htАТЮк╢ d p ╪!=!O!б"_"j"|"И"Ф#Х#█$@$Q$b$н$╬$┌$ы$ў%%%%'%3%?%J%Z%f%╛%щ%ї&C&T&u&Ж&Т&Ю&░&■'v'╠'╪'у(N(Z(н(╣(╩(╓(т(Є(■) ))").):)F)▒)╜)╔)╒)с)Є)■* *Ъ*ж*▓+Y+█,M,╤-(-4-?-в-о-╣.[.g.╔//Д/Р/у/я0000*060B0N0╛0╩0╓0т0ю0·111■2 22"2Щ2л2╝3f3r3~3╡4 44"4.4:4М4╒4ц4ў555%565G5О5Ъ5е5▒5╜5╔5╒6╬7Z8╢9>9О9Я9░9┴9╥9у9Ї:::":3:в:∙;K;\;m;ч;°<6<Х<ж<о<Є===Б=Т=г=┤=┼=╓>F>А>╓>ч>°?7?к?╦?▄?э?■@@ @,@=@R@Л@┘AAAZAfA├BBSBdBuB╤BтC#C4CECVCgCxCЙD DDщE.E{E╚FF0FAFбF▓F├GKG~G═G▐GъH H1HBHSHdHuHЖHщH·I1IЕIЦIзI╕I╔JJYJjJ{JМJЭJфJїKKKШLLLL│L╗MMHMzM╙NDNЭOOЗO┘PvPъQ+Q[Q┤R+RДR·SjS╝T[T╬U U>UРVVpV▀WMWЬX.XаXпX╛X═X▄XыX·Y YY'Y6YEYTYcYrYБYРYЯYоY╜YтYЄZZZ"Z2ZBZRZaZЗZЮZ▌Zэ[([А[х\c\q\Ц] ]с^^(^X^И^р_8_m_Я_├_╦_я```B`J`Y`Т`╦`эaadapaеa┌bb1b>boboccеd'd╜eereчfyfэgggМg░hh'hph─h┘i│i▌jjjdjzjРj╩kkTk╘lllflЭlяm3mЧnn│n╟o pp╡pўqеr8rёsis▒s╒tt1tmtоu%uГuєu√v!vHv]vЖvнv╘wwJwSwТw╘x#xKxТx╣x┴xЁyy(yy╪y■z'zNzwzАz╛zў{M{V{_{h{q{н{╘|-|6|?|Q|c|u}}})}:}Lhr=┼h║_<їш╪№Ч╪┐¤▒ /Z<г╚╚_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!Щ$s^_H_H_H_H_H_Hj^л^j^л^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^8^eHeHeHeHО^О!О^^V ЇIM( №ы$ ЄAAc^8^8V8^8^W ъ╦^д^д^д^д^д^nHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHn2nHШHPW7W@:d^d^d^H4H4H4H4H4KA9+9+9+ИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVM#nААААM%7%7%7%7%7%7%7%7%%-%-%-%-eHc^д^d^9+H49+ .■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.@."P@@@@@@"A@"A"AAAAAAAAAAAAAAAAAAA=>>d"=====/=PPP H╘F╘?╘ я╘ ы╘ ▌╘2 H╘╘ьH╘ фH╘ █ї ▌ё ▌ё ▌їPїPцPцIiPц QV;PPPPPP!?????????????????????66?Z@(WP(AlPlPlPс8ф8ф8ф8ф8-Pl$l$l$HHHHHHHHHHHHHHHHH=їPPl l$ф8l$HHH█ ╤╤╤╤╤▌════════╜"╜"╜"╜"d"J"D^л"Ч" =ЇH L:::::LGLLGLLLLLLLLLLLфL)@@@,L, ё▀L▀D▀ Ё▀ т▀7▀ ╤L▀ щ▀Є LцLцDцLцL√dLBLBLBLBLBL:::::::0::√FцFё0LLL°.°.°.°.я"я"я"я"(E(E(E(E(E(E(E(E(E №№№№№"Ї"Ї"Ї"Ї"Ї"╫$╫$╫$╫$D] ~ БH"PЖ'5G^:92'1BA┘$ ; 9>R74)DD2>;> ╕F#B%Q. 7% : 7> ╕F#B%Q. 7% : 7╕F#B%Q. 7% : 7ы Й&Е%{%R  RBSq7`R?f?f═(═*╥25'Н УHРРK √U. . | |ЖК'К'┬'н'К'фXB  ММVdkAЙdДн'~_╚@ /5|H#"Й^^^}J╗^░c5'!Ї'Ї'ж+Ї'Ї'Ї'Ї'Ї'Ї'Ї'Ї'ї'Ї'ї'┬*р'Я"БH~ Н^d^с "PN@P^t ъ';?Т4A$┼4eH├Т}XDж/ж/л'ЇSл'kHММ ■х М А ?■╛■с■у■э ,■╓■є■e _ y p Н X u t■├¤▒■U■V├ 1A$М"Uк├#k  Мc¤╞¤╞¤╞¤╗¤╠¤╩¤╩¤║ш 8t¤▒ ZбРКXKКX^2/ TRBY└√ш 8X∙ У·╝ дА$ /9~+17>HM~ПТб░╬╘хчщя )7YТ╝╟╔▌ #(8Фй╝└Е∙     " & 0 3 : D y г м ║ ╜!!"!&!.!^""""""""+"H"`"e%╩'щ√   0:а-39@JOПТап═╘хчщя (7YТ╗╞╔╪#&5Фй╝└Аа     & 0 2 9 D t г м ║ ╜!!"!&!.![""""""""+"H"`"d%╩'щ√   їп■э┤ f   ■ї &■╧■╚■Й■Q ▓ v o h f Z■G■3■!■т!тсЎт7т?тс╠сЦсдсЩсПсНсcсMс9сJр╣рcрZрRр8р?р3р▀є▄Ю┌Wdа╝D*T\dn~Д▐рт╪▄╪┌┌фьцЁЮвжЖЖА=$Dfj>'(#N-%URTi#'9:>ALNOTUZqstw}АУФЩЪв+&,\2Ън┼╞╠╨хцьЁ■  (*+.47RSXYa)s*[ABHCKtlШm┘9Z.nЬpX Уdk!Ц┌:   4(+1GBCD$Yd[\obPnЖБГДЫr3╛о╢├╝┬─╔▌╤╘┌°ЄЇї═&Q$>8;<Z)\└п┴╟!╩"╦╚%╬&╧6▀2█7р)╥<щ;ч=ъжH@я?эK¤I√єJ№Eё·MзIPRQSV иJW X m#l"p'u,йKv-x/{2z1y0кL6~5ТQПGВ9СPОFРOЦUЬ[ЭгbеdдcfИ@ ╡лMмN*╙zyЧХФЩЮЭЯЫ~БЕЖГ}|ЗДАВШWХTЧV╜┐╖╣║╗╕░ ▓ │ ┤▒3▄5▐8с,╒.╫/╪0┘-╓H∙Fўce]_`a^gij k!hЕ=З?ЙAЛCМDНEКBЯ^Ю]а_б`783564uw"bOLcWV░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╢E5!*▒B@ J:.& *▒B@ NB4* *▒ B╛└└ └ └@ *▒B╛@@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ L<0(*╕ Е░Н▒D│dDD─· 8─· 8GG>>AH ∙GG>>AA ∙AH ∙GG>>╝╝· 9╝ °╝  √ 9\║\║ в Т  Т Ю 2м ▐ ·  0 F &` &`  Ж 4жCopyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)BarlowRegular1.408;TRBY;Barlow-RegularBarlow RegularVersion 1.408Barlow-RegularTribby TypeJeremy Tribbyhttps://tribby.com/This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFL ╡2и$╔ ╟    bнcоР%&¤ d'щ(e╚╩╦ !"#)*°$%+&',╠═╬·(╧)*+,--././0т01123f2╨╤45678g9╙:;<=>?@ABСп░3э45CD6Eф√FG7HI8╘J╒hK╓LMNOPQRSTUVW9:XYZ[;<ы\╗]^_`=aцbcdefghiDijklmnopkqrstulvjwxynmаEF■oz{Gъ|Hp}~rАБВГsДЕqЖЗИЙКЛМIJ∙НОПРKСТУL╫tФvwХЦuЧШЩЪЫMЬЭNЮOЯабвуPQгдеxRyж{зийкл|мzноп░▒▓│┤╡б╢}▒SюTU╖╕V╣х№║ЙW╗╝X~╜╛АБ┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥YZ╙╘╒╓[\ь╫║╪┘┌█]▄ч▌└┴▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOЭЮPQRЫSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy╝ЇїЎz{|}лг"в├З ? ^`>@~▓│B─┼┤╡╢╖йк╛┐ АБВД╜ГжўЕДЕЦЖЗяЁ╕ П!ХФУздaAТЬИЙЪЩеКШ╞╣# ИЖЛКМГЛМ_шВН┬ОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзиН█с▐╪О▄C▀┌р▌┘йклмноп░NULLAbreveuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni01CDuni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2AmacronAogonek Ccircumflex CdotaccentDcaronDcroatEcaronuni0228uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4 Edotaccentuni1EB8uni1EBAEmacronEogonekuni1EBC Gcircumflex GdotaccentHbar Hcircumflexuni1ECAuni1EC8ImacronIogonekItilde JcircumflexLacuteLcaronuni013BNacuteNcaronEnguni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0 OhungarumlautOmacronRacuteRcaronSacute Scircumflexuni018FTbarTcaronUbreveuni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEE UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave Ycircumflexuni1EF4Ygraveuni1EF6uni1EF8Zacute Zdotaccentuni0122uni0136uni0145uni0156uni0162uni0218uni021Aabreveuni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni01CEuni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3amacronaogonek ccircumflex cdotaccentdcaronecaronuni0229uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5 edotaccentuni1EB9uni1EBBemacroneogonekuni1EBDuni0259uni0292uni01EFgcaron gcircumflex gdotaccentuni01E5hbaruni021F hcircumflexibreve i.loclTRKuni1ECBuni1EC9ijimacroniogonekitildeuni0237 jcircumflexuni01E9lacutelcaronuni013Cldotnacutencaronengobreveuni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1 ohungarumlautomacron oslashacuteracutercaronsacute scircumflextbartcaronubreveuni01D4uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEF uhungarumlautumacronuni0123uni0137uni0146uni0157uni0163uni0219uni021Buogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexuni1EF5ygraveuni1EF7uni1EF9zacute zdotaccentI_J.liga f_f_i.liga f_f_l.ligag_j.ligai_j.ligaa.sc aacute.sc abreve.sc uni01CE.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc atilde.scae.scb.scc.sc cacute.sc ccaron.sc ccedilla.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ecaron.sc uni0229.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.sc gdotaccent.sch.schbar.sci.sc iacute.scicircumflex.sc idieresis.sc i.sc.loclTRK igrave.scij.sc imacron.sc iogonek.scj.sck.scl.sc lacute.sc lcaron.sc uni013C.sc lslash.scm.scn.sc nacute.sc ncaron.sceng.sc ntilde.sco.sc oacute.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.scs.sc sacute.sc scaron.sc scedilla.sct.sctbar.sc tcaron.sc uni021B.scu.sc uacute.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.scuni0394uni03A9uni03BCzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tf zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079 oneeighth threeeighths fiveeighths seveneighthsuni00ADuni2010hyphen_hyphen.ligauni27E9uni00A0Eurouni20BAuni20BDuni2219uni2215uni2126uni2206uni00B5minuteseconduni2113 estimateduni02BCuni02BBuni02C9uni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni0313uni031B dotbelowcombuni0326uni0327uni0328uni0335uni0336uni0337uni0338 uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303   ╓!8:SUptТФШЪ├╞╦╬╬╨фц &+24QSWYdeklvyЛНЪЬбг▒╡╚╩╬╨╪▌▌??BBDEKKdd|Таз|ЙККЛОаз 8|DFLTlatn    kern&kern&mark.mark.mkmk8mkmk8 ▓╓BЇ3╕4$4╢4р╥X,ВRXbhВrxВИОФЪажм║▀рстуфхцчшї¤■рр Єт ·р ∙р дц тр юр% ┼р фр ьЎ № ы& ∙ ╥є ф° √6 8 *4 ▐ ў=>М=▀$, ё ╙уцц=>ММ (0 х ¤ ёMNNссMMNN>▄z╪РCтттттттттттттттттттттттшшшшшЇш Jddjш|тшшшшшюЇ· &C #$%&ANqrstuvwxyzЪзйн═х3Xlx~АБТЬ▓┤╡╢╖╕╣║╗╨ > ∙J ї ї ї ї ї  ї  ї  ї  ї  ї ї ї ї ї ї ї ї ї ї ї ї ї ї ї} ·~ · ·У ёФ ёХ ёЦ ёЧ ёШ ёЩ ёЪ ┘Ы ┘Ь ┘Э ┘Ю ┘Я ┘а ┘б ┘к ·м ·l їm ёn ёo ёp ёq ёr ёs ёt ёu ёv ёw ё╝ ·╜ ·╛ ·┐ ·╔ ё╩ ё╦ ё╠ ё═ ё╬ ё╨ ┘╤ ┘╥ ┘╙ ┘╘ ┘ ∙ ∙М ∙ п п п п п  п  п  п  п  п п п п п п п п п п п п п п п Є ц ц ц  ц" ц# Є% Є' Є( Є) Є* Є+ Є, Є- Є. Є/ Є0 Є1 Є2 Є3 Є4 Є5 Є6 Є7 Є8 Є9 Є: ц; ц= цL фU ЄY ЄZ ц[ ц\ ц] ц^ ц_ ц` цa цb цc цd цe цf цg цh цi цj цk цl цm цo цp цq Єs цw Їx Їy Їz Ї| ┬ж цн ╙о ╙п ╙░ ╙▒ ╙▓ ╙│ ╙┤ ╙╡ ╙╢ ╙╖ ╙╕ ╙╣ ╙║ ╙╗ ╙╝ ╙╜ ╙╛ ╙┐ ╙└ ╙┴ ╙┬ ╙├ ╙─ ╙╞ ┬╟ ┬╚ ┬╔ ┬╦ ┬╠ ┬═ ┬╬ ┬╧ ┬╨ ┬╤ ┬╥ ┬╙ ┬╘ ┬╒ ┬╓ ┬╫ ┬╪ ┬┘ ┬┌ ┬█ ┬▄ ┬▌ ┬▐ ┬▀ ┬р ┬с ┬х уц ╝ч ╝  ╥  ╥  ╥  ╥  ╥ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬  ┬! ┬" ┬# ┬$ ┬& ┬' ┬( ╥) ╥* ╝+ ╥, ╥- ╥. щ/ щ0 щ1 щ3 Є4 у5 у6 у7 у8 у; у< у= у> у? у@ уA уB уC уD уE уF уG уH ╝J ╥K ╥L уM щN уO уP уQ уR ▀S ▀T ▀U ▀V ▀W ▀X уY ▀Z ▀[ ▀\ ▀] ▀^ ▀_ ▀` ▀a Їb Їc Їd Їh уi уj ╝l пy цz ц{ ц| ц} ц~ ЄН цО цП ци цй цк цл цм цн цо ц░ ц▒ ц┤ ц╕ Ї╣ Ї║ Ї╗ Ї к к ╨ ╨% х- ┬r ▀ ╙М кi √% ·68Y| ыноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─╞ ы╟ ы╚ ы╔ ы╦ ы╠ ы═ ы╬ ы╧ ы╨ ы╤ ы╥ ы╙ ы╘ ы╒ ы╓ ы╫ ы╪ ы┘ ы┌ ы█ ы▄ ы▌ ы▐ ы▀ ыр ыс ыц Їч Ї ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы  ы! ы" ы# ы$ ы& ы' ы* Ї. ¤/ ¤0 ¤1 ¤H ЇM ¤j Ї ў ў- ыА ·Щ ЇР ∙Щ Є╧ ЄЩ Щ ъx єВ єМ єЫ хг є▓ єА ¤ъЦ▐ Ї ▄ ┐ ╨ ╕ ы є ║ ф ╧ ╩ Ї ■ ° ы я я ∙ Є щ · Є ь Є ┌ № э ╪ ▌ ш ╬ р ╝ ф ё · Ї щ Ї Є ў Ї ў Ї ё ь · ¤ е т ы ╫ Ї ъ ч є* ў ∙ ї Ў     ∙ ∙ Ї ° Є ў ю щ ¤ ▌ °   ў Ї ¤% ы ў Ї ■ Є ы ╨ ■ ╚ ║ ▌ ∙ ╚ ё т ╧ ╒ ╦ ╥ Є Є ф ° Є ы ъ ў ╓ ╧ ў х г ╨ ─ ь ° ╙ ў Є ф · Ї щ я ь ё ў ¤ ¤ ∙ ю є Ї ∙ √ ь ў Є ∙ "'9;"=>%LL'NS(UU.Ym/ooDqzE|БOГЩUжзlйкnммp──q╨сrД''Е33ЖlБЗНПЭЬбаиож░░н▓▓о┤╧п6 ""#&''99:;==>>LL NNOSUUYYZmooqqrrsstvwz ||} АБ ГТ УШ ЩЩ жжззййкк мм ──╨с ''33mw xxy}~БНПЬЬЭбио░░▓▓┤┤╡╖╕╗ ╝┐ └╚ ╔╬ ╧╧ P ""##%%'9:;==LLNNUUYYZmopqqsswz|| }УШЪбвежжккммн─╞╔ ╦с ххцчЁЁ   $ &' ()**+-.1334678;GHHJKLLMMNNOQRW XXY` adhijjllmwy}~~НПио░▒┤┤╕╗╝┐╔╬╨╘╒╪%%-- 66 88 => rr ММfЇ╛  х я ё ю № · ў Ї √ ў х ¤ ў Є ∙ у ў · ы ∙   ¤ Ї ы ╩ · ь щ ў Ї ¤ р6 ▐ √ ¤ Ї ■ ф   с Ї · ё ∙ ё ·? ╘ я с т ъ ї1 ў ╥ ╤ я ╒ ю э № Є ў ·н├┼╔╦╦══хчьэ!ЁЁ#$%'  (-$/&&B(1C46MHNPRWWY`]jje--frrgh!о├┼┼╞╔╦╦хх цчьэЁЁ      $&&()**+-.146HHII JJKKLLMMNNRWY`jj--rr/|| }Ъбккммн─┼┼ ╞╔ ╦с ххцчьь ■■   $ &' **.146HHII LLMMNNRWXX Y`ad hijj╝┐╨╘цц%%-- 667788=>rrММ■> ы ы Є є ╪ т ё т █ ╬ ─ ы х ц · ў ў ы ш ╫ Є Ї ╓ ├ ╚ ы ¤ ▐ ы ╢ ╩ ф ╠ ы ┴ ▌ ы ╞ ╝ · ў ╔ ╔ ф · ┐ ╛ є у н Ї ы Є ╢ ў  %578=>М  %%557788=>:  "":;==LL Zmopsswz||}УШЪбжжккммн─ ╞╔╦сххцч  $&'() **+- .1 4678;GHHJK LLMM NNOQRWXXY`hijjll mwy}НПио░▒┤┤╕╗╝┐╔╬╨╘--rr ",6 р Ї єМвгвxxВВММЫЫгг▓▓ ыM||╞╔╦с$&'--x ОBDEKd &║,2║║8║>D║ъЁЎRT °─l─ZY╗ "Р|Оаз▌№ &,28>DJnЖМТШPPPPV\\\·№· ░2|Раз8:S3UpMtТiФШИЪ├Н╞╦╖╬╬╜╨ф╛ц╙ &Ў+24QSW9Yd>lvJyЛUНЪhЬбvг▒|╡╚Л╩╬Я╨╪д╝┬╚╬╘┌рцьЄ°■ .FLRXv| a8■┘н&ДДДдДДД&ДДД─ДДД╩ДДД╨ДДД╓ДДД▄ДДД&ДДДшДДДтДДДшДДДюДДДЇДДД·ДДД&ДДД&ДДДДДД ДДД&ДДД&ДДД&ДДДДДД*0ДДД*ДДД*0ДДД*ДДДД*$ДДД*0ДДДД6ДДДД<ДДДД6ДДДД<ДДД~xДДД~BДДД~xДДД~ДДДД~NДДД~HДДДfNДДД~TДДД~ZДДД~`ДДД~xДДД~xДДДfxДДД~lДДД~rДДД~xДДД~ДДДД~ДДДД ДДД ДДДКДДД ДДДДРЬДДДРЬДДДЦЬДД└ъДДД└╪ДДД└вДДД└ъДДД└ъДДДиъДДД└оДДД└┤ДДД└ъДДД║xДДД└╞ДДДД╠ДДДД╥ДДДДДДДфъДДДф╪ДДДф▐ДДДфъДДДЁЎДДДДДД№ДДДДДДДДДДДДJDДVДJ&ДVДJДVДJДVД,ДVДJДVДJДVДJ ДVДJDДVД,DДVДJ2ДVДJ8ДVДJDДVДJ&ДVД,DДVДJ2ДVДJ8ДVДJ>ДVДJDДVДJDДVДJDДVДJPДVДД\ДДД"(ДДД"zДДД"(ДДД.4ДДД.bДДД.4ДДД.ДДДД.hДДДДnДДД:@ДДД:@ДДД:@ДДДЮШДкДЮАДкДЮtДкДЮzДкДЮШДкДЖШДкДЮМДкДЮТДкДЮШДкДЮАДкДЖШДкДЮМДкДЮТДкДЮдДкДЮШДкДЮШДкДЮДДкДЮШДкДЮдДкДД╝ДДДД░ДДДД╢ДДДД╝ДДДД┬ДДДь┌ДДДь╚ДДДь╬ДДДь┌ДДД╘┌ДДДьрДДДьцДДДьЄДДДДДДДД°ДДД■ДДДДДДД ДДДДДДДДДД"(ДДД:@ДДД.4ДДД:@ДДДЪФДДДЪ@ДДДЪФДДДЪFДДДВLДДДЪRДДДЪXДДДЪ^ДДДЪФДДДЪjДДДЪdДДДВjДДДЪpДДДЪvДДДЪ|ДДДЪФДДДВФДДДЪИДДДЪОДДДЪФДДДЪДДДДЪФДДДЪаДДД▓╕ДДД▓жДДД▓╕ДДД▓ДДДД▓мДДД▓╕ДДДД╛ДДД·ДДД─ДДД·ДДДДДДД╨ДДД╩ДДДш╨ДДД╓ДДД▄ДДДтДДД·ДДД·ДДДш·ДДДюДДДЇДДД·ДДДДДДД2ДДД ДДДДДДДДДДДДVДДДДVДДДДVДДДДвДДДДVДДДДVДДДДДДД$ДДДД$ДДД$ДДД$*HДДДД`ДДДД0ДДДД6ДДДД<ДДДД`ДДДД`ДДДBHДДДДNДДДДTДДДДZДДДД`ДДДДfДДДДlДДДДrДДДДrДДДДxДДД\ДДДД\ДДДДДКДДДД~ДДДДДДДДДКДДДДРДДДДЦДДДbhДДДbЬДДДbhДДДbhДДДbвДДДФЁДДФ╠ДДФиДДФ┤ДДФоДД╥┤ДДФ║ДДФ└ДДФ╞ДДФЁДД╥ЁДДФ╪ДДФ▐ДДФЁДъДФ╠ДъД╥ЁДъДФ╪ДъДФ▐ДъДФфДъДФЁДДФЁДДЎТДДЎ№ДДФДДntДДДnДДДntДДДzАДДДzДДДzАДДДzДДДДz ДДДЖМДДДЖМДДДЖ&ДДДШТДдДШ8ДдДШ,ДдДШТДдДШ2ДдДШТДдД>ТДдДШDДдДШJДдДШТДPДШ8ДPД>ТДPДШDДPДШJДPДШЮДPДШТДдДШТДдДДVДДД\ДДДДbhДДДntДДДЖДДДДzАДДДЖМДДДШДДдДШТДдДШЮДдДД╢ДДДДкДДДД░ДДДД╢ДДДД╝ДДДц╘ДДДц┬ДДДц╚ДДДц╘ДДД╬╘ДДДц┌ДДДцрДДДцьДДДД■ДДДДЄДДД°■ДДДД■ДДДДДДДДДДДД ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД"ДДД.4ДДД.(ДДД.4ДДД.ДДДД.4ДДДД:ДДДД@ДДДД:ДДДД@ДДД^XДДД^FДДД^XДДД^ДДДД^LДДД^XДДД^XДДД^RДДД^XДДД^ДДДДjpДДДjdДДДjpДДДДДvДДДДvДДДОДДДД|ДДДДВДДДДОДДДДОДДДДИДДДДОДДДДОДДДДОДДДФДДДДжмДДДжЪДДДДаДДДжмДДД▓╕ДДД╩─ДДД╩╛ДДД╩─ДДД╩─ДДД╩╨ДДДДшДДДД╓ДДДД▄ДДДДшДДДДтДДДДшДДДДшДДДДшДДДДюДДДДЇДДДДДД·ДДДДДДДДД ДДДДДДДДДД$ДДД$ДДД$ДДД$ДДД<BДДД<*ДДД<0ДДД<BДДД<6ДДД<BДДД<BДДД<ДДДД<BДДДДTДДДДHДДДДNДДДДTДДДДZДДДДlДДДД`ДДДДfДДДДlДДДДrДДДД~ДДДДxДДДД~ДДДД~ДДДT.q.94їь╩.~МЄг1■/ H~.б/2~L~3~ ў3╝7╝x╝U~√╩<~ЪЄ▒?■A H~<б<╝A@~2АI╜IH№Б~Б HV~БбvБЕ~└╜└Ъ~B╝Б╝=а╝i~T~Ї╩6~ФЄл9■O~7 H ~6б1З6╝79~6╝█╝7~~5DqC~]~F H~DбD╝FG~t╝╪~┐~╢╝У~4}} H╗Ё}а~%~2 °2╝@UP╝8*╝# °╝╝%O п╙O w3╜ ╝]0tW<  H╙╝ ▀¤  ╝'╝╝ °·@╝#╝╚ ╝h0W < @▐╝ ▀ · ў · ╝mз"АГ╝jпi╝А HА·>╝j▀l·j·Ъ·m╝v·v╝Н~╝t╝И╝ж╝(╝╝ п╩ ╝j0АW<$╝  Hр╝ ▀└Ж·· !╝r·╝x·ё╝ ╝Є╝.╝ п ╝&╝ Hс╝ ▀щ·· ·p┘·Ў √ё·шУ| ·№╝ї·╝e╝f·:╝ └ц└Q Hц■║└цтPъ└ї╝▐>▄·Ў┌A   ю °H E?E-щV■¤ ∙HгИoDoFИ"AїoA'бA7 J#" &   с  H ШA ■A °H№ ∙ЎЇA.  щ JХ||AQ°∙@═ цL  JЛОИЛХ$ ┴ б о ° ┼ ° Ь< ┴ Hб>╚ т( ~БГЕЗЙУЧЪЫЯ  &,28>DJPV\ ╢╝ Г╝ `╝ hо i╝■╛▀ ╝╝d╝б╝Y╝ ─п╝ К  п· &ц|ЙазазZ`flrx~ДКРЦЬвиоооо┤║║║ r· ─· т· j· 0· `· ^№ h° Щ· e· y·■╛· }· г·■@°■K·■I·$*06<■fM■M■@u■F2  ■з0■╛W■L< @DFLTlatn0    (6>FNV^(AZE FCAT fCRT ЖKAZ жTAT ╞TRK ц    !)7?GOW_    "*08@HPX`    #+19AIQYa    $,2:BJRZb    %-3;CKS[c   &.4<DLT\d   '/5=EMU]efaaltfaaltfaaltfaaltfaaltfaaltfaaltfaaltfc2scnc2scnc2scnc2scnc2scnc2scnc2scnc2scnccmptccmptccmptccmptccmptccmptccmptccmptdnom|dnom|dnom|dnom|dnom|dnom|dnom|dnom|fracВfracВfracВfracВfracВfracВfracВfracВligaМligaМligaМligaМligaМligaМligaМligaМloclТloclШloclЮloclдloclкlocl░numr╢numr╢numr╢numr╢numr╢numr╢numr╢numr╢ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚sups╬sups╬sups╬sups╬sups╬sups╬sups╬sups╬tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘     4zО╪XXX6XXlжДТж┤№:RjЎ м 6 V└▌mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСУФХЦЧШЩЪЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪єЇїЎў°∙·√№?  "+1244679;=?"AE%GG*IJ+LL-NY.[\:bb<dd=lz>}БMГДRЖЖTОСUУЭYЯЯdвеeммiопj╡╢l╝╝n╛╛o└╔p╦╘z┌█Д▌▌Ж▀рЗхчЙъъМьэНЄЄПЇЎР°°У·№ФЧШЬгдеж"$з&1к48╢;<╗>>╜FG╛OP└R\┬^^═ad╬¤╥%%▄▐:N:@HNT\fpzДОШвм╢║╛┬╞╩╬╥╓┌┘lёЎТ Ы┌и¤єщ■Їъ їы Ўь ўэ °ю ∙я ·Ё√ё№Є▀рстуфхцчшZZннЁЁ■■▀Є Ц6Д$КЛНТ|ЙN , е~дзЕжЗ б~агЕвЗБГ!Ё'рш╘ ы%▓ "4є№¤ $Zн@Z ЎщЄ ▀ш▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐  "+1244679; =?#AE&GG+IJ,LL.N\/bb>dd?lz@}БOГДTЖЖVОСWУЭ[ЯЯfвеgммk▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪"нп╡╢╝╝╛╛└╔╦╘┌█▌▌▀рхч ъъ#ьэ$ЁЁ&ЄЄ'ЇЎ(°°+·№,■■/015>?@"$A&1D48P;<U>>WFGXOPZR\\^^gadh^@JTgL  hхЁiхeЁfj■k■?-AхцЁ-Ё■!"┘┌┘┌єЇїЎў°∙·√№Zн¤■ fcidecomp-2.1.1/documentation/available-software-and-documents/_static/Dosis-ExtraLight.ttf000066400000000000000000002650601473255640600321500ustar00rootroot00000000000000GDEF!*!┐¤L└GPOSа6Р9■ iдGSUBWq╖g░~OS/2Воa_╘а`cmapд,▄╒Аcvt бшщdvfpgmЮ6╨┌Аgasp¤DglyfVь╫ъ┼рhead╬Т╩╦А6hheaY╟╘|$hmtxЙd:╦╕─loca*■[б╟dmaxpД^╞№ namerуЩнщ▄МpostфсS╣юh┌preppШU/шШ╦<_z'$@!%LЕv''--+w"&54677'&&546327632#"''N JJ  BB  JI  AB_ rs ff sr ddЁс/@,LgM N +s"&&5476632#"&''!7!+ ┘  ╫  3■╓2 IЙ╜¤Cдд╒└  Ё╣&┬ ▒╕░5+  Ё╔&Ш ▒╕░5+  Ё╣&Г ▒╕░5+  ЁЦ&░ ▒╕░5+  Ё╣&┬ ▒╕░5+  Ён&Е ▒╕░5+   >Ёс&"А▒░░5+  Ё&л ▒╕░5+  Ё╡&q ▒╕░5+OМ█*1@@=g _Ma  N/-,+'&"  ** +s"&54663!2##32##32##"&5#3#"a 4Y7h  эа  аэ    ўўWKU ЎKZ)  ■╔  ■╚  J■╗ А7SW  OМ╣&  ▒╕░5+S┌█",9@6Lg_M_ N,*%#" 6+s"&546332#'326554&##532654&&##e Ц:]6/&.4Y7ЯЯKUUKЯЛSO+K1Ж ╕ HF@W +D4KY'$PWWG$?W88L ·╙█-;@8А~aMa&N(&  --+E"&&546632#"&5.#"32>766325Z57Z6@U+  !=1OSTR2:  ,W)ZKEKZ).H' -)SW■╗XR(. &H.  L ·╙╣&╠ ▒╕░5+  L ·╙▐&Г ▒╕░5+  L 1╙█&!ч  L ·╙╣&Н ▒╕░5+  L ·╙Я&б ▒╕░5+S┌█-@*L_M_ N6+s"&546332#'32654&##e ▒7Y44Y7ЯЯKUUKЯ ╣ )ZK■┴KZ)$SW?WSф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█    S┌▐&З ▒╕░5+ф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█  S┌█ /@,g_M_ N %$6+s"&5463!2#!32##!2#e d  ■оа  аR  ╖  ■╔  ■╚    S┌╣&╒ ▒╕░5+  S┌╔&л ▒╕░5+  S┌▐&М ▒╕░5+  S┌╣&Ц ▒╕░5+  S┌Ц&├ ▒╕░5+  S┌Я&к ▒╕░5+  S┌╣&╒ ▒╕░5+  S┌н&Ш ▒╕░5+  S =┌█&"kS┌█-@*g_M N +s"&5463!2#!32##e d  ■оа  а  ╕  ■╔  ■╡ L ·╙█1>@;АgaMa&N*(#" 11+E"&&546632#"&'.#"32655#"&5463327X44X7>W/  *D,KTTKKUЯ ▓ 4Y)ZKEKZ),K. -:SW■╗WSSWФ  еKZ)  L ·╙╔&#е ▒╕░5+  L ·╙╣&#Р ▒╕░5+  L s╙█&# л  L ·╙Я&#д ▒╕░5+S┌█,@)gM N +s"&54632!4632#"&5!e  ?   ■┴ ╕  ■├=  ¤H W■й █15D@A  g gM  N5432.-*(%# 11 +s"&5#"&5463354632!5463232###"&5!!5!e - -  ?  , ,  ■┴ ?■┴   И  ИИ  И  ¤є W■й НТ  S┌╣&(Х ▒╕░5+Sw█ @M N  +s"&54632e  ╕  ¤H   S ·k█&+6╩  "з╣&+" ▒╕░5+   °╥╔&+ ° ▒╕░5+   уч╣&+ у ▒╕░5+  ║Ц&+ ▒╕░5+  CЖЯ&+ ў ▒╕░5+  "з╣&+" ▒╕░5+   хфн&+ х ▒╕░5+   B|█&+"▒░░5+   ╤°╡&+ ╤ ▒╕░5+ ·б█!2@/А_Ma&N !!+W"&&546323265#"&546332▐=X/  +I,KTЯ  ▒ 4X,K. ,;SWя  ¤ KZ)   ·б╣&6v ▒╕░5+SЇ█%)@&"! LM N %%+s"&54632632#"&'e  C ч √` ╕  ■xУ ■с■|xxў   S sЇ█&8 ЯS╢█@M_ N&+s"&54632!2#e  0 ╕  ¤Z    S╢╣&:├ ▒╕░5+  S╢х&:%   S s╢█&: ЮS╢█WK░!PX@Ma"M_ N@iM_ NY@&+s"&54632!2#"&54632e  0e ╕  ¤Z  Б╝█(,@) LM_ N('"!+s"&5#"&5467746327632!2#k 9 J  s Д0 ! +s  ■бC L■р  S:█'2@/$ LАM N!''+s"&54632>32#"&5#"&'e  ┬├   ╜  ╝ ╕ ■В~ ¤H q■Ф l¤П S┌█'@$ LM N+s"&546324632#"&'e  2   ■╠ ╕ ¤вq  ¤H  _¤П   S┌╣&A╘ ▒╕░5+  S┌▐&AЛ ▒╕░5+  S s┌█&A ╕S ┌█*3@0L KM Ma$N**'%+%+E"&5463266554&'#"&546324632` '% ■╠   2  5э  (F,0 _¤П ╕ ¤вq  ¤7V0  S┌╡&AГ ▒╕░5+L ·╙█-@*aMa&N +E"&&546632'2654&#"7X44X77Y44Y7KUUKKTT)ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS  L ·╙╣&G═ ▒╕░5+  L ·╙╔&Gг ▒╕░5+  L ·╙╣&GО ▒╕░5+  L ·╙Ц&G╗ ▒╕░5+  L ·╙╣&G═ ▒╕░5+  L ·╙╣&GХ ▒╕░5+  L ·╙н&GР ▒╕░5+  ; ьу&G┤%  ; ьу╣&O═ ▒╕░5+  L ·╙╡&G| ▒╕░5+L ·5█0>З@ .LK░'PX@#g aM a &N@+g aM_ M a &NY@21971>2>*(#"! 00 +E"&&5466325463!2#!32##!2#!"&55'2654&#"7X44X72U b  ■оа  аR  ■Ю U2KUUKKTT)ZKEKZ)"&6  ■╔  ■╚  0&"$SWEWSSW■╗WSS┌█3@0Lg_M N +s"&546732##326554&##e ▒7Y44Y7Я ЯKUUKЯ ╕ )ZK K[)■р VTW WSS░█0F@C LiiM N )'0 0 +s"&546326632#"&&'7266554&&#"e  G7,N12L(>. Ы!>''="&C(&A ╣ м- A0└0A"#┬ й2&└&01!└3"L У╙█/6@3"LeaM&N*( +E"&55.546632'546326654&#" 3Q.4X77Y4.P3   BKUKKTKm V*YGEKZ))ZK■╗GY*V ЛT  SRREWSSW■╗RSS┌█ ):@7 Lg_M N)'#!   +a"&'##"&54673232654&##╚ аФ  з7^9-L/е■кХK__KХ 8■╢ ╕ #SI@P(■┐АISSH  S┌╣&V╨ ▒╕░5+  S┌▐&VЗ ▒╕░5+  S s┌█&V У* ·▒█:E@B#LА~aMa&N,*(& ::+W"&&546632326654.54>32#"&&#"ы@V+"=37J&%&G╞ ▒╕░5+  L ·╙╣&Ь═ ▒╕░5+  L |╙>&Ь┐  L ·╙╣&Ь═ ▒╕░5+  L ·╙┴&Ьf ▒╕░5+  L ·╙╡&Ь| ▒╕░5+  O |╓█&d┬  O ·╓┴&di ▒╕░5+  O ·H>&d_ ▒╕░5+  O ·H╣&д╨ ▒╕░5+  O |H>&д┬  O ·H╣&д╨ ▒╕░5+  O ·H┴&дi ▒╕░5+  O ·H╡&д ▒╕░5+   |ц█&vо  ц┴&vU ▒╕░5+  ц╡&vk ▒╕░5+# ·g▐&3ЬK░'PX@ $L@ $LYK░'PX@(Аia(M a&N@,Аia(M M a&NY@('.,'3(3! && +W"&54663354&&#"#"&546632#"&55'26655#"о:Q;iE8:0* %9>H  K3&E,73[9<AC59&H/   7W2■Ї 4/#%4T ),2/  # ·g╢&нС  # ·g╞&нg  # ·g╢&нR  # ·gУ&н  # ·g╢&нС  # ·gк&нT  # @i▐&н"√▒░░5+  # ·g&нz  # ·g▓&н@# ·з▀>KXi@f<LАА  i a(M a &N@?USNLFD?K@K:810.,)'  >>+W"&&54663354&&#"#"&5466326632##326632#"&''26655#"732654&&#"л$>&:hE8;2* %9>IT4>6" $#ы_F)- 0E!7__+*D(75Z6;ш▀(#@+(@%;,69&H/   9,+9.J6 /DO62:.#&4T *-/0х&D,'@&  # ·з╢&╖%E ·в/МK░'PX@ L@ LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&'#"&546326632'266554&&#"Ё.I   C21R11Q.&@''@'"?($?-4 ▌ ■г/1Q2z/T3#*D%z%B*#@.Я4)4 ·t▐'A@> LА~a(Ma&N  ''+W"&&5546632#"&&#"326632ы>Q('R>(; *(HLLI*- !=0R4x3S0 ODxDO   4 ·t╢&║Ж  4 ·t█&║=  4 1t▐&║!и  4 ·t╢&║G  4 ·tЬ&║[2 ·П/МK░'PX@  L@  LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&&55466324632#"&55'266554&&#"ф/R11R12D   J0(>$(?"'@''@3T/z2Q1/] ¤# 4-#)4Я.@#*B%z%D*2 ·Х7IN@K0'L*Ka!Ma(Ma&N98B@8I9I%# 77+W".5546632&&'#"&5477&&#"&5466327632'266554&&#"у$?20Q0;/-b \ H! #T&P J&11Q0(@''A'(@&&A4A$z0R2&Sz)8  5"  *+.  +2Т_╜/T3#*D%$@(*B%z%D*  2 ·&└%╬2 ·┌/AиK░'PX@-  &L@-  &LYK░'PX@'i!M a(M a &N@+i!M a(M M a &NY@10:80A1A*(%# // +W"&&55466325#"&546335463232###"&55'266554&&#"ф/R11R12DК К  9 9  J0(>$(?"'@''@3T/z2Q1/╡  Е Е  ¤╦ 4-#)4Я.@#*B%z%D*3 ·Ц▐!.>@;Аga(Ma&N+)$" !!+W"&&5546632##32663232654&&#"¤;[41Q0/Q1%э`I*, !>╥с%#@+(A&.Q7}0Q0/Q4$ /DO $D,(@&  3 ·Ц╢&─Ь  3 ·Ц╞&─r  3 ·Ц█&─S  3 ·Ц╢&─]  3 ·ЦУ&─К  3 ·ЦЬ&─q  3 ·Ц╢&─Ь  3 ·Цк&─_  3 WЦ▐&─" ▒░░5+' ·К▐!.C@@Аga(Ma&N#")'".#. !! +W"&&54663354&#"#"&&546632'26655#"╪/Q1&э_J*,  !>+;[41P1)@&с%#@/Q4%/DO .Q7}0P1#(A%+$D,E 5@2La!M_"M N   +s"&5466332##"32##U 1Q0   (A%Щ Щ =0Q1  )A%v  ■\   │ы;IWТ@$ .DLK░'PX@* ia(Ma(M a$N@(i ia(M a$NY@KJ=<RPJWKW  | |  ╛/1Q2■ш %B*#@.■ш    ╘в╘&╒ ╘ ▒╕░5+5t│ 2@/ Li"M N  +s"&54632"&54632U     ╡ ■K t  Dg╪ !@ L"M N  +s"&54632U  ╡ ■K   Ш╢&┘   щ├╞&┘щ   ╘╪╢&┘╘  лУ&┘  Ш╢&┘  5  │&╪ул   ╓╒к&┘╓     CwЬ&┘&ш" ▒░░5+   ┬щ▓&┘┬ ▄ u│!6@3 Li"Ma$N!!&%+G"&546326654632"&54632 '%  5:  э  (F,ў ■ 7V0a   ▄ h╪%@" L"Ma$N&%+G"&546326654632 '%  5э  (F,ў ■ 7V0   ╒ ┘╢&ф╒Eи$2@/"!  L!M"M N $$+s"&54632%632#"'V  б╣╕i ▌ ¤·ыМ■я   \и   E sи&ц |Dз╪$+@("!  L"M N $$+s"&54632%632#"'U  б╣╕i ╡ ▐ыМ■я   \и Mp !@ L!M N  +s"&54632^  ▌ ¤#   бЗ&щ╤▒░╤░5+  M№&щ%╡   sб&щ M 5@2 Li!M N  +s"&54632"&54632^  И ▌ ¤# #'@$! L!M N##+s"&5#"&5467746327632О O `  ^ o )- 7М ■И7 @■┬ D┐▐;d@ 9 LK░'PX@a"M N@"Ma(M NY@53-+%# ;; +s"&5463266326632#"&54&&#"#"&54&&#"U  C24OS+*K/  '<"=(  #:$!?( ╡ 5/8,31*P:■ш 0@!#>*■с  (?%#@.■ш Dб▐%V@ # LK░'PX@a"M N@"Ma(M NY@ %%+s"&546326632#"&54&&#"U  C21R1  '@'"?( ╡ 5/1Q2■ш %B*#@.■ш   Dб╢&Ёо  Dб█&Ёe  D sб▐&Ё ТD б▐-e@ "LK░'PX@a"M Ma$N@ "Ma(M Ma$NY@--%%&'%+E"&546326654&&#"#"&546326632' '% '@'"?(   C21R15э  (F,Z%B*#@.■ш ╡ 5/1Q2■ж7V0  Dб▓&Ё]2 ·Х▐#-@*a(Ma&N## +W"&&5546632'266554&&#"у/Q10Q00Q11Q0(@'&A((@&&A3S0z0R21Q2z/T3#*D%z%B**B%z%D*  2 ·Х╢&Ўб  2 ·Х╞&Ўw  2 ·Х╢&Ўb  2 ·ХУ&ЎП  2 ·Х╢&Ўб  2 ·Х╢&Ўi  2 ·Хк&Ўd  2 рХ¤&Ў╢  2 рХ╢&■б  2 ·Х▓&ЎP2 ·╒▐-?LY@V  +LА  g a(M a &N/.IGB@86.?/?)'  -- +W"&&55466326632##326632#"&''266554&&#"732654&&#"у/Q10Q03WW5/Q1%э`L)) $>)AaV3(@'&A((@&&A┘с%#@+(A&3S0z0R29.-:/P3%!/DO  80-;#*D%z%B**B%z%D*х$D,'>%E в▐/t@ LK░'PX@a"Ma&M$N@!"Ma(Ma&M$NY@(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э в 5/1Q2z/T3-■▀  *D%z%B*#@.Я4)E в/J@G L!Ma(Ma&M$N(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э ╩ ■г/1Q2z/T3-■▀  *D%z%B*#@.Я4)2 П▐/МK░'PX@L@LYK░'PX@a(Ma&M$N@!"Ma(Ma&M$NY@(&//+E"&5#"&&554663254632266554&&#"~ J./R11R12D  д(>$(?"'@''@э !-3T/z2Q1/5 ¤^  )4Я.@#*B%z%D*D(▐R@  LK░'PX@a"M N@"Ma(M NY@+s"&54632>332##"U  &6#% %#@( ╡ 5"  #@.■ш   D(╢&W  (█&   ∙ s(▐& ▌& ·O▐3E@BLА~a(Ma&N'%#! 33+W"&&54663232654.546632#"&&#"╕-A$ 2/?6$:@:$A48$**2$:@:$P 1"'+/)<(    +!$5.7A  & ·O╢& x  & ·O█& /  & 1O▐& !В  & ·O╢& 9  & sO▐&  a ьфKЭ@ C'LK░#PX@5Аi a !M_"M Ma &N@2Аi e a !M_"M NY@<:64/.+)#! KK +E".546632326554&&'&&5467>54&#"#"&5#"&54633546632? $& $&ANIA &=>,4  Q QD6-H) !@+0L ^[#O; .2IS)A%¤├ д  v0Q1&O>$I8 8U3K_.B¤┐5@2LЕ_"Ma N +s"&5463232##332#╘GK  З З2= BI# ╓  ■╓9/  B¤┐'A@>LЕg_"Ma N! '&+s"&5463232##32##332#╘GK  З ЗЗ З2= BI# ╓  s  Ф9/    B¤х&%░  B s¤┐& )@ ·г╪+@(L"Ma&N +W"&&54632326654632Є1Q0  &A((@&  0Q2S/ ■ш%B*)C% ■ч0R2  @ ·г╢&п  @ ·г╞&Е  @ ·г╢&p  @ ·гУ&Э  @ ·г╢&п  @ ·г╢&w  @ ·гк&r  @ =г╪&"┐  @ ·г&Ш  @ ·г▓&^ ·u╪#@ L"M&N +W"&'&&5466326632─Ь ОН Ь ▓ ■wГ  ■N ·{╪,2@/)LА"M&N&$ ,,+W"&'&&5466326632632#"&'─Ь Нs  oР Эus о ■yj■СМ  ■Mw■П    ·{╢&    ·{╢& ┼   ·{У& Є   ·{╢&  ·c▐-)@&*L(M&N'%--+W"&&5477'&&54663276632#"&''-ЛЛГДММДГ┘╒╚╚╒┘╦╦ x▐%(@% L(Ma$N%%&*%+W"&54632>7&5466326632$ +# а  СР а "+7э  'AK$║■pР■F%WM1   x╢&&Г   x╢&&D   xУ&&q   x╢&&Гg╪%@"_"M_ N%+s"&5467#"&5463!2!2#,  є  ■Ї  Щ  ■g    g╢&+~  g█&+5  gЬ&+S" ·в▐-:O@L+LАia(M a &N/.53.:/:)'"! -- +W"&&54663354&&#"#"&&54663232#"&''26655#"л%>&:iF8:0* %9>H 'L6(F,75[7;:,6:&H/    7W2─"  *"-#%4T *-/0B ·Я*>@; L!Ma(Ma&N$"** +W"&&546326632'2>554&&#"ъ(N2  C21R1+E/+8 '@'"?(PC8^ ■г/1Q2z@7"#.3z%B*#@.ПA=3 Р▐+>@;La(Ma&M$N#!+++E"&5#"&&554>32266554&&#" D21R1)D2)O4 ж$@('?&+7 '?э "/1R1z@7" RK■  %4Н=G.3z$C*2 П▐+=кK░'PX@! L@! LYK░'PX@*Аa(M a&Ma$N@.А"Ma(M a&Ma$NY@-,64,=-=%# ++ +W"&&5463232>55#"&&554663254632266554&&#"▐'E,  6-/9 J./R11R12D  "M>(>$(?"'@''@э 2@"_-3T/z2Q1/5 ■6^9 )4Я.@#*B%z%D*@╗▐55@23 La(M N/-'% 55+s"&5466326632#"&54&&#"#"&54&&#"Q .I),UT,*K/  '< ">&  '>#;' :P*3553*P:■ш 0@!%A+■ч  +A% @1■ч @г▐+@( La(M N +s"&546632#"&54&&#"Q 0Q01Q0  &A('A& 0R22R0■ш %B*)B&■ч ?#▐'@$La(M N +s"&554>332##"P ,;#2 2'9  (J:"  2O*  @ ·Э╪%jK░'PX@ #L@ #LYK░'PX@"Ma&N@"M Ma&NY@  %%+W"&&54632326654632#"&55Ї1R1  '@'"?(   D1R1 ■ш$C*#A- ■K 5/  # ·g&н&  # |g╞&н'Гg  # ·g&н'∙  # ·g&н(  # ·g°&н)▄  # ·gЇ&н*   # |g╢&н'ГR  # ·gЄ&н+   # ·|ю&н,   # ·g╫&н-▄  # |g▐&нГ  # ·g╛&н*  3 ·ЦЇ&─*  3 |Ц╢&─'О]  3 ·ЦЄ&─+  3 ·Цю&─,  3 ·Ц╫&─-ч  3 |Ц▐&─О  3 ·Ц╛&─5  3 ·Ц▓&─K  2 |y│&╪  Ь╛&┘м  2 ·ХЇ&Ў*  2 |Х╢&Ў'Уb  2 ·ХЄ&Ў+  2 ·Хю&Ў,  2 ·Х╫&Ў-ь  2 |Х▐&ЎУ  2 ·Х╛&Ў:  2 ·Ц;&Ўн  2 ·Ц╢&Tб  2 |Ц;&TУ  2 ·Ц╢&Tб  2 ·Ц╛&T:  2 ·Ц▓&TP  @ |г╪&б  @ ·г╛&H  @ ·;&,  @ ·╢&\п  @ |;&\б  @ ·╢&\п  @ ·╛&\H  @ ·▓&\^   x▐&&╕   x╛&&   x▓&&2EЪ%3S@P *1#LАa!Ma"M  N'&.,&3'3"  %% +s"&546632#"&&#"32##!"&54632U +T?#B,1*/>#Л Л +  =*R6 .0v  ■\ ╡ ■K EЪ'>@; % La!M_"M N$" ''+s"&546632#"&5&&#"32##U 8Y060  <(H.Л Л =7P+¤X г%C.v  ■\ 'п№█'4M@J%LАi ea7N)(/-(4)4"  '' +S""'&&5463354&#"#"&546632#"&55'26655#"В &Q@ ")&)0  +'3!п&%2" 8  "7в *,о█*@'ea7N  +S"&&5546632'26554&#"а5 5 5 5!/.""..о!5F4 4 F5!!4F22F4DП╪$@!_MN+s"&5463!2#"&5!V '  ■¤  ╡ ■K  г■] A ·╚█+>@;iaMa&N! '% +!+  +E"&&546632'2654&#""&546327X44X77Y44Y7KUUKKTTL  )ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS,  Ж█*@'LАM N +s"&5#"&546776632t +  B  mP А  ¤H &н█/4@1LАaM_ N/.%$.+s"&554>54&&#"#"&546632!2#8 2NYN2"D4;N -O3:T.2NYN2R  a*F?=CM0%E.CA ,G*4U25VF=;?%O  ! ·и█CN@K<LААiaMa&N64-+%# CC +W".54632326554&#"&546326654&#"#"&&54>32ц1J2   ">1MUUI /??J.: 'I:3L+2",:4X.7 ,)SWKK  ?4HK(*  43""L@IQPDKZ) Т█*3@0iM"M N'%!**+a"&55!"&5467663235463232##3 ■√  °ш  ; ; а ¤■ъ  ъ  а   ·з█2D@ALАg_Ma&N+)(&! 22+W"&&54632326554&##"&5465663!2##32у=X.  +H,KUUJЗ   ∙|7X44Y-J. );SWSQ +  ■ь'XIKZ)A ·╚█'5I@FLАiaMa&N)(0.(5)5  '' +E"&&546632#"&54&&#"6632'26554&#"7Y44X7.I2  +I,KTT27X44X7KTTKIWU)ZKEKZ)/;! (:!SWо&$$UKKZ)$SWWIDS&WS!и█4@1 LА_M N%#+s"&&5475!#"&55463!2Y <■┴  c ■┬l1Г Х H¤С 1 ·╕█+7E@BLiaMa&N-,31,7-7&$++ +W"&&55467&&546632'26554&#"2654&#"ї7Y4:.&//P22P//&/84X6JTUJJVVJBKKBBKK)[J MZMACLLCAMZM J[)$TV VQQV WSВBKJ@@JKB0 ·╖█'5I@FLАiaMa&N)(0.(5)5  '' +W".5463232655#"&&554663226554&#"Ї.I2  +I,KTT27X44X77Y44X8IWUKKTT/;! (:!SWо%%$UKKZ))ZK■╗KZ)VER&WSSWWIt█!0@-LАM_ N! $%+s"&54633#"&54677663232## О+  E  Н   [P  Е  ¤Z    3 ¤n  gnА  % nБ  " ¤nВ  ¤nГ  ! ¤nД  2 ¤nЕ    nЖ  ) ¤nЗ  * ¤nИ3 ¤n-@*a/Ma2N +W"&554632'26554&#"ж1BB1!44!&,,&&++1:Ы:1/'Ы'/%'Ы'%%'Ы'%gn.@+LА/M0N +s"&5#"&54677632W -  (   ;■м% n,4@1LАa/M_0N,+%$, +s"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡0(%%** %, 1'""  " ¤n<R@O%5LААia/Ma2N0.)'"  << +W"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4&  $' #  %    &(0"+ '! &/¤n(=@:&Li/Ma0N%# (( +s"&55#"&5477663235463232##┐ РН  Гr   Iўу``  I! ¤n/>@;Аg_/Ma2N(&%# // +W"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!433 #( %$  Е  x-% &/2 ¤n$2M@J LАia/Ma2N&%-+%2&2 $$ +W"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+90Г'/'%'M,& :1%& (!%&%  nY@  LK░PX@r_/M0N@А_/M0NY@ %# +W"&5475##"&5546332L кг  ╞ й :L+■▀) ¤n'3E@BLia/Ma2N)(/-(3)3" ''  +W"&55467&&54632'26554&#"72654&#"Ь0C!<,-;!B0&+,&%,,%"%%"!&&07', ' 2&&2 ' ,'70&&&$$&&&╝ !! * ¤n$2I@FLАia/Ma2N&%-+%2&2 $$ +W"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++' %'L,& :1/'Ы'/│%'%%' '!3j█-@*a7Ma:N +S"&554632'26554&#"ж1BB1!44!&,,&&++j1:Ы:1/'Ы'/%'Ы'%%'Ы'%mg█.@+LА7M8N +S"&5#"&54677632W -  m(   ;■м%m █,4@1LАa7M_8N,+%$, +S"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡m0(%%** %, 1'""  "j█<R@O%5LААia7Ma:N0.)'"  << +S"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4j&  $' #  %    &(0"+ '! &/m¤█(=@:&Li7Ma8N%# (( +S"&55#"&5477663235463232##┐ РН  Гr   mIўу``  I!j█/>@;Аg_7Ma:N(&%# // +S"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!43j3 #( %$  Е  x-% &/2j█$2M@J LАia7Ma:N&%-+%2&2 $$ +S"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+j90Г'/'%'M,& :1%& (!%&%l█Y@  LK░PX@r_7M8N@А_7M8NY@ %# +S"&5475##"&5546332L кг  ╞ йl :L+■▀*j█'3E@BLia7Ma:N)(/-(3)3" ''  +S"&55467&&54632'26554&#"72654&#"Э0C!<,-;!B0&+,&%,,%"%%"!&&j07', ' 2&&2 ' ,'70&&&$$&&&╝ !! *j█$2I@FLАia7Ma:N&%-+%2&2 $$ +S"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++j' %'L,& :1/'Ы'/│%'%%' '!  3j█Й  mg█К  %m █Л  "j█М  m¤█Н  !j█О  2j█П  l█Р  *j█С  *j█Т q ь1K░#PX@ !M&N@ Ж!NY@ +G"&547632 З  ■| Ї ¤   ь)&К'ЭЮБ    ь(&К'ЭЮВ   % ь╡&Л'Э+Вн   ь&К'ЭЮГ   " ь▒&М'Э2Г┤   ь/&К'ЭЮЗ   " ь├&М'Э2З┤  ! ь╗&О'Э*Зм   ьА&Р'ЭяЗq- ·tB @a&N  +W"&54632Q- │tB&@#LYaQ +W"&5477&&54632E     M3  #= ·Дж +@(ia&N     +S"&54632"&54632a^■Ь= │Еж"7@4LiYaQ"" +W"&5477&&54632"&54632U     M3  #л- ·╒B #0@-a&N ##    +E"&54632!"&546323"&54632▓■Сг= ·ДьY╡LK░PX@АMa&N@ЕЕa&NY@ +w"&54&&54632"&54632`   У Z╗╗ZZ╗╗Z Щ= ·ДьZ╡LK░PX@АaM&N@Аi&NY@ +W"&546654632"&54632`    Z╗╗ZZ╗╗Zк ·Yь*6oK░PX@&А~aMa&N@$А~ia&NY@,+20+6,6**+w"&54667>54&#"#"&546632"&54632а  ,+KK* (?$>P' //  У 7>5463232>32"&54632█>P' //    -+KK ) '@ 1S23I7++<)  32#"32ё'@./?' ,> ,@  *=&└#?2  *A#■@48   ь╙CK░#PX@a!Ma&N@ea!NY@ %%+W"&546326654&&#"&54632%  ?, >, '?/.@  84└#A*  2?#■@&=*" ь Cf@ 0LK░#PX@ia!Ma&N@iea!NY@=<%# CC+W"&&54>54.54>54.54>32#"32°1O/ 0@$ )?#   -/ %D, .:9)   2>7 :-  %;! 5=1 ;IA!+   ь√Ci@:LK░#PX@ia!Ma&N@iea!NY@CC8732'% &+W"&546632>54.5467&&54>54&&#"&54632% /-   #?) $@0 /O  +!AI; 1=5 !;%  -: 7>2   )9:. ,D%J ы J╡LK░PX@_!M_ N@c_!NY@ %&+W"&546332##32#\ Ь КК  є  ¤1   ы╙J╡LK░PX@_!M_ N@c_!NY@ %%+W"&54633#"&546332#% КК Ь   ╧  ¤  2▀Y @W_O %+w"&5463!2#C  ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀н @W_O %+w"&5463!2#C X ▀    № ▌_ &▒dD@W_O %+▒DW"&5463!2#  @ #   - │tB&@#LYaQ +W"&5477&&54632E   M3  - │·B-4@1&LYaQ$"-- +W"&5477&&54632#"&5477&&54632╦   К   M3  3  'VЇх-P@ (LK░1PX@aN@YaQY@#!-- +S"&54>76632#"&54>76632╨   Ц   V 3  3 )VЎх-P@ &LK░1PX@aN@YaQY@$"-- +S"&5477&&54632#"&5477&&54632╟   К   V3  3  'Vnх>╢LK░1PX@ aN@YaQY@  +S"&54>76632J   V 3 )Vpх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632A   V3  (J@с3.@+0-LЖ(N&%33 +e"''&&54677632#"''&&54677632. `` ``Ч `` ``J ▒ ▓ ▓▒ ▒ ▓ ▓▒)JAс3-@*$! LЖ(N33)'-+w"&&5477'&546632#"&&5477'&546632═ `` ``Ь `` ``J▒▓ ▓ ▒ ▒▓ ▓ ▒ (Jос!@LЖ(N +w"''&&54677632Ь `` ``J ▒ ▓ ▓▒)Jпс @ LЖ(N-+w"&&5477'&546632; `` ``J▒▓ ▓ ▒ +E╘ .@+ La!N  +S"&5'4632#"&5'4632╗  А  E Ш Ш Ш Ш +E\ !@ La!N  +S"&5'4632C  E Ш Ш % ·█R`@]А   А g   gaM a&NMKFD?=8764/.+)#! RR+E"&&55#"&546335#"&54633546632#"&54.#"32##32##326654632?7X4F FF F4X7>W/  ,:!KT╠ ╠╠ ╠*;%,I+  /W)ZK@  l  SKZ),K. "1 SWS  l  @+A):- .K,)(i╢/7g@d  10-LЕА~ЖiYaQ,+%$"! // +w"&55&&554667546322#"&&#26632#'╔ GG?1  &A' /,-.  *A# 655( x cE-K3z w ■╞ u н2 K9:JD"иМ;KU@R90*! LYi Yi aQ=<EC:;LK░)PX@1А~ Ж!M aMa N@/А~ Ж i!Ma NY@HG10.,%$! == +E"&55"&&5466323.54>754632#"&&'76654&&'' @V,#@5!>3 4>  3(3':.ZG >?#8"$#@)'@4 ''1  "O &>0/=$   ■ц -F4Z[) _ L@5@( 44./8 │ w^*,@)gea!N*)%475+G"&546332667>332##"32###= #L332##"32##!2#+ ?.V [;X1 (G.ги/  K  ╝0Q1  )A%╝  ■╡  ┼█@K@H!>Lg  gM  N=;6542-,&$ @@ +s"&55#"&546335#"&54633&&546632663232##32##ь | || s┤  о╕ ╛z ГГ Г ┤  N  j■жZ■Ц  N  ┤ $?Зв;@8 LYgaQ +w"&55#"&546335463232##╓ П П  О О ? П  О О  П ? в. @W_O %+S"&5463!2#P @    BСGЦ%/@,#LYaQ! %%+w"&&5477'&546327632#"''See de eefeСee ee eeee5%Ш╝ %@@=igYaQ!%% % +w"&5463!2#"&54632"&54632F @ г▀   ║AIЯfН /@,gW_O %+S"&546332#"&546332#Z · · · j   ╦   ; ыФJ5=@:Е  ЖhW_O55%%#%% +W"&54677#"&546337#"&546337663232##32##i DS cJн ╜P GT cKо ╛JЫ  и  ╡ Я  и  и 4Jmс@ I(N++w"&547%%&54632G ■■ ■эJ  лм  ╢  ╢JWс@Jv+e"'%&&5467%632D■э ■■ J╢  ╢  мл  ?Dx ),@)LЕW_O)(#!/+w"&&5467%%&&546632"&5463!2#R ■■ ■э  иСТ Ь  Ьd   :Ds )/@,JЕW_O)(#!+e"'%&&5467%632"&5463!2#`■э■■■ч  иЬ  Ь ТСd   =Dа -L@I LgiW_ O  - ,'%  +w"&55#"&546335463232##"&5463!2#я П П  О О й @ и П  О О  П d   IМpЬ!Cb@_А  Аi  i  i  Y a  Q#"<:8642+)'%"C#C !!+A"&&#"#"&&54>32326632"&&#"#"&&54>32326632%( &'  %( &' U   ╔   5▀\&!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒De"&&#"#"&&54>32326632%( &' ▀   =?Ц,@)LЖW_O +e"&55!"&5463!2Е ■█ 6 ? П  а X╢)▒dD@LЕv +▒DS"&54677632#"&'' h h hhX 87  78AO Й'3M@J1 Li  Y  aQ)(/-(3)3#!''  +w"&&5466326632#"&''267&&#"!2654&#"р)I--I)7l"#l7)I--I*7k#"l6/ee/2JJ╗2JJ2/ddO#F45E#@77@#E54F#?77?$<=>;;>>;;>>;;>=<  8<ь(@%iYaQ%%+W"&5463266546632#"  6%'F- &5)8╚  *(Э'C)  !4¤c2!<┌█16@30"LiW_O11'%(%+s"&546335&&54663232##56654&#"M k2>4X77X4>2k О69TKKT96  (]RKZ))ZK■ R](  g QHWSSW■ HQ g╚с+@(LЕW_O(+s"&5476632#%!* ┼  ├ ■МZм╜¤C$qS┌█)@&ЖW_O+s"&5463!2#"&5!e c  ■┴  ╕ ¤H  ж¤Z  д█%.@+LgW_O%$($=+W"&5467&&5463!2#!!2#/ хх c ■║╬╬F у ┬┬  ■l■m   ▌@8@5LЖgY_O +W"&'#"&54633266332##щ О& 2 В█ Z Mч #н  ■x╠  ¤M к╪&6@3#$L"Ma&M$N!&&+W"&54632326654632#"&'^  )3$>%  -N12K э в ■╨*&*C$ ■ш1R1/■▐ 7 ·Ъх(:M@JLАiiYaQ*)31):*: (( +W".55466324&&#"#"&&546632'266554&&#"ш$?20P0LбK░#PX@4   i  i!MaMa  M &N@4 Ж   i  i!MaMa  NY@+@?0/"!GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%. ьт .>L\j╜K░#PX@: i    i!MaM a  M&N@:Ж i    i!MaM a  NY@;^]NM@?0/"!ec]j^jUSM\N\GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Q1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%1:Ы:1/'Ы'/%'Ы'%%'Ы'%Х ╡n,-@*LЕЕv+E"&5#"&&5477632#"''Б ╜ ╓  ╓╜ K +╛╫ ╫╛¤╒ F╜▌ -@*ЕЖW_O   +e"&&5477!"&5463!'&546632╨╛¤╒ +╛╫ ╫ ╜  ╜╓  ╓Х ╡n,*@'  LЕЕv%%(+E"''&54663246327632Б ╓ ╜  ╜╓ K ╫╛+ ¤╒╛╫ F╜▌-@*ЕЖW_O +e"''&5477632!2#!3╫ ╫╛+ ¤╒╛╓  ╓╜  ╜   д█ @LЕv +W"&'&&54676632'р ХФ ФХ  ггг#   "■▐   ■▌1>>■┬= жУ(Ub{@x5 LА   А  ii  i  i i Y a QWV][VbWbNMKIA?971/)'%#  UU+E".546632#"&'#"&&54663354&#"#"&&54663232>54&#"326632'26655#"F3_K,=Еl`ДD.+#43,#:!.W=138!"%7,;)ГЖKe>7ZA.9"  /;'50-H+4Z$KvQ[ЧZHНi0Y8&.(-//,    7(д07ГЧ0Ti95cN.  п&C $'!) Ў@ь=IЗ@BA;0#LK░PX@'А~aMa&N@%А~ia&NY@?>>I?I86)(== +E"&&54667&&546632#".#"6674632#"&'''267'Fb3*A"7.L-4A ,$=D)▀ a Z`C@Pч:*,T :_86M5%X=5J&#*  K=%=6ў5r& K],j a.=#7*∙ )@2.R2&н█.@+А_M N +a"&5#"&&55466332#"&5#, 07Y44Y7▒  K  )[K KZ) ¤H  ж¤[ 4 ╛У█?M?@32#"&54&&#"54.'ц5Q,   5*DK 5?@5 192D"  0.<( 5@?5 0?e'>HA'>HBB,K. -*IF(0$<1Д8H((G/ 8*@:(0#=0В/E,!/6 /69#Ян#Ii▒dD@^  А  ~ii i Y a Q%$EC><9720,*$I%I##  +▒De".54>32'26654&&#"7"&554632#"&54&&#"326676632i5kZ69\m45kZ69\m4P|GCyQO}GCzS(9:(/3 ?@   4#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb4?з?56%  RзR  %79#Ян#AJr▒dD@g1 <?*L Аi  ig Y a Q%$JHDB63.,)($A%A##  +▒De".54>32'26654&&#"7"&''##"&546732'32654&##i5kZ69\m45kZ69\m4P|GCyQO}GCzмI4  T-(E Ц=$$=#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb вжo.)20Я ╘#()""╪%<G@D:#" L ЖY_O'&9720+*&<'<%% +A"&5463276632#"&55#"&''#"&55#"&546332##'  KL   HH б K╗K ╪  ▒▒  ■°╦ик═ў   ў%ЦИ9▒dD@.iYaQ +▒DS"&&546632'26654&&#"╓/Q10Q00Q11Q0'?&%@''?%%@Ц3S00R21Q2/T3&)B%$A))A$%B)J ыn 9╢ LK░!PX@ !M&N@ Ж!NY@   +W"&54632\   є ¤  K ыo Z@ LK░!PX@a!Ma&N@ea!NY@  +S"&54632"&54632]    ─  ■ц ■'  ■ц  ы{█]@ LK░!PX@M_"M&N@ЖM_"NY@ +W"&5"&54635463272#'╔ О О  О О  ┐  ° °  ■A ) ыМ█1y@ /LK░!PX@" gM_"M &N@" Ж gM_"NY@.,'&%# 11 +W"&55"&54635"&54635463272#'72#'┌ О ОО О  О ОО О  щ  ┐  ° °  ┐  щ ; ·ф▐#0A@>АigYaQ-+&$ ##+E"&&5546632#!32>3232654&&#"-Gm> ++ ?Y6& (( &6  H┤k'▓!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒DS"&&#"#"&&54>32326632╙%( &' k     З к c%Ё╛$F▒dDK░ PX@qYaQ@ЖYaQY╡*+"+▒DS6632#"&54676654&#"'&&j"   б       ЭY"╢▒dD@Jv+▒DS"&5477632░ f _Y  <  6d╕щ; ,▒dD@!ЕYaQ $+▒DS52654632d22 :╕ %  .  - |t ─зВ ▒╕ В░5+ sб ╨▒dD@Jv+▒DW"&5477632/ f _Н  <  6 1Ь d▒dDK░PX@pjYaQ@ЕjYaQY@ +▒DW"&&54663232654&''73J # &  3+%╧   cJ+! =n,▒dD@!JYaQ +▒DW"&&546732W(*!*# ├ ,G<'  2▀Y╜Xц╢"@ LЕv +S"&5477632#"&''0 J J JJX 87  78VGх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632   V3    c(=&c╧╕h▒╕ ╧░5+▒░h░5+  d)E&k╨da▒╕ ╨░5+▒░a░5+  c)=&c╨X▒╕ ╨░5+▒░X░5+  d*Л°'Л ╤dF▒╕ ╤░5+▒░F░5+  d),Ї&$F╤Й>▒╕ ╤░5+▒░>░5+  d+,Є&$F╙Р<▒╕ ╙░5+▒░<░5+  d*rю&$F╥В0▒╕ ╥░5+▒░0░5+  d)Л╫&$v╤d%▒╕ ╤░5+▒░%░5+рр@Еv+Q!!р■ р■  sб ╨│ 2+W477632#"&f _ { < 6 1kВ*WНМNЪм╛╨тЇ);а▓ l~РЬо└_q╧(:L^pВФж▓ЄVhzЖШ▌HZЛЭп┴╙хў +uЗ╓т".:Фх ;  С г п  c u З Щ л ╜ ╧ с ь ■  л Ї \ ╝  + = I ║ ╠ ▐ ъ №=Рвоэ #5GYkwЙЫ▌;M_qГ█#5GYkй╗═▀ё+=OewЙЫз╣╦сє#5GRdvМЮ░┬╬рЄ"4FRdvИФж╕╩╓ш·РЬз▓╜╔╘хЁ√з│=Цвн╣─╧YчєЯ #.:EQ\m╤█цё№Y╟┘CNYdozЖСдп¤2=ОЩц ,7z├ G и ┤ ┐ ╦!?!J!Ц!в!н!╕!─!╨!█!ц!ё!¤""Ю##З$$g$r$}$И$ё$№%%%%)%▌&#&x&Д&П&╘&р&ь&ў''''%'1'='H'Л'ь'°((((u(├(╧(┌(х(ё)0);)F)Q)╩*'*Ж+1+Ч+▄,,А,Л,Ъ,е,░,╗,╞,╒,р,ы,Ў-- --'-2-=-H-T-_-j-u-А-Л-Ъ-е-░-╗-╟-╥-▐-ъ-Ў.. ..$./.;.G.S._.j.u.Б.М.Ч//`/╨00L0н0щ1C1─22В2ё3:3м44d4l4t4|4Д4М4Ф4Ь4д4м4┤4ў525И66X6╕7$7}7ш8R8Х8╤9(9г9·:Z:╟; ;М;ў; <<<<<'C>Я>№?А@@*@U@│A^AЦA╙BBSBгC0C┐DDQDxDЯD╞DэEEPEнFFГF╟G GoG╥H HFHИH▓H▓H▓H▓IKI╠JbK"KuK┘LULЮL╞MMnMпNNHN|N╙O,OРPPДP╣P°QkQнR RHRВR╙S!StSьTйUЫUуV,VrV║WW┬XoX│Y8Y╤ZrZщ[7[l[┼\"\в] ]]]!])]1]9]A]I]Б]м]┤]№^^C^m^Ю^╩^╥__M_Р_Ш_¤``a`Н`╝`╩`ЎaSaКaТa╩bb$b9bNbdbzbРbжb╗b╗b╤bЁBН█ с_<їш╫їmt┘`р¤ q т!=<          иOиOSLLLLLL&S0&S0ЄSЄSЄSЄSЄSЄSЄSЄSЄSЄSщSLLLLL-S--S╩S║S╩"╩ °╩ у╩╩C╩"╩ х╩╩ ╤ЁЁ№S№S─S─S┼S─S┼S╩НS-S-S-S-S-S-SLLLLLLLL;;LMLSуSL¤S¤S¤S¤Sс*с*с*с*с*с*╟╦╟╟%O%O%O%O%O%O%O%O%O%O%Oууууу┐¤¤¤¤¤╨╨╨╨            ЄSЄSЄSЄSЄSЄSЄSЄS╩A╩LLLLLLLLLLLLL%O%O%O%O%O%O%O%O¤¤¤з#з#з#з#з#з#з#з#з#з#╧#╧#╘EТ4Т4Т4Т4Т4Т4╘2╘2╘2╘2╜3╜3╜3╜3╜3╜3╜3╜3╜3╜3╜'!E╛ ╛ ╛ ╛ ╛ тEтт ╘л5лDлл щл ╘ллX5л ╓л  л ┬н ▄н ▄н ╒╡E╡E┤D╜M╜╜M╜M) DсDсDсDсDсDсD╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2№2╘E╘E╘24D4D44 ∙u&u&u&u&u&u&BBBBу@у@у@у@у@у@у@у@у@у@у@ИООООО}ЛЛЛЛЛББББп"╥B╤3╘2√@у@/?с@з#з#з#з#з#з#з#з#з#з#з#з#╜3╜3╜3╜3╜3╜3╜3╜3л2л╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2у@у@у@у@у@у@у@у@ЛЛЛ▌EчE2'@,╙D A╤═&┘!б ╦ °A║!щ1°0БL3Ю+%1"*!B28)C*L3Ю+%1"*!B28)C*L3Ю+%2"*!B2:*C*L3Ю+%2"*!B2:*C*В qKQ▐%2╞"Xь"ф!йб-в-┴=├=-┴=┴=&░508а'# ╘T╘NC"JЛ2╟2╟2▀2Y №в-(-')Ц'Ф)i(i)╫(╫) +З+╚╚╚7%Ц)щDф,D │═▀л$р?ЙB═5пI╧;Л4Л│?▓:▌=╣IР5▀=KAF <с-S┐H▌M▌7х. .ХFХF└├=S)&═4╪9╪9^"н%╕J║KУ╡);Е╪  Ьк█LЕ n┤'L cЭd-2Gcdcdddddр═   q■uт1│·КXKКX^2а P {IMPA└√ cэ У╪█ lx@8 /9~H~Тб░ 7Y╟▌  #(5└Е∙    " & 0 : D p y Й м!"!&!.!T!^!У"""""""+"H"`"e%╩рЎ├√   0:аJТап№7Y╞╪ #&5└Аа    & 0 9 D p t А м!"!&!.!S![!Р"""""""+"H"`"d%╩рЎ├√  .├:C■н■u     ■№■·■ю¤йсмсЕс┴сСсYс#с#рїс%р█р├р╒рLрH▀э▀ф▀▄▀╙▀╔▀╜▀Ы▀}▄,"/ mdtРh╬╨╥╪╓╪тшръЪЮвММД╬м╠│╘Ё°═╖╕▓╪и╜з┤йк▀▄▐оў "#(+68:@AGSUVZ`dopuv{╗╡╝ц┴ н╣║└─╧╨╒╪уцщяЁЎ  %&+╣ ║ф╧н╥╓╙╫· √g╚х╛№ ■тХЦю∙░Фh╔бЮвп  2-/0FLHJQK┌OieghwT▓о░╢▒╡╖╜╦┼╚╔▐┌▄▌┴ї√ў∙·█■')│п┤╗╛┐╝┬├ ╠╞╩!═╟%╥$╤'╘&╙*╫)╓5т3р.█4с1┘,▀7х9чш;ъ=ь<ы>э?юBёDєCЄEЇN¤I°M№RWYX[ ^ ] \ cbankfmjlr"x(y|,~.}-ЬTд\ ╕P _  t$q!s#ЙAКBД<Ж>З?И@Е=7Б9В:Г;А8РHСIТJЛCНEОFПGМDФLУKЪRЫSХMЧOШPЩQЦNЭUЯWаXбYЮVвZг[е]з_и`йaж^z*кbлcмd╞╟┬─┼├▒їЄєЇь┘ср░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╡(*▒B@ 5- *▒B@ 91% *▒ B╜ А ААА *▒B╜@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ 7/*╕ Е░Н▒D│dDD╪╪####█╪ █ ·▐ · !!nn ¤!!█m█j╞ |  | Ь 6к  | Fр  & ИF V╬ V╬ 0$ 0$  T 4t  и ▓Copyright 2011 The Dosis Project Authors (impallari@gmail.com)Dosis ExtraLightRegular3.001;IMPA;Dosis-ExtraLightVersion 3.001; ttfautohint (v1.8.2)Dosis-ExtraLightDosis is a trademark of EdgarTolentino, PabloImpallari, IginoMarini.EdgarTolentino, PabloImpallari, IginoMarinihttp://www.impallari.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLDosisExtraLight Ь21$╔╟bнcоР%&¤ d'щ (e  ╚╩ ╦ )*°+,╠═╬·╧-./т01 !"f2╨#╤g╙$%С&п░3э45'()6*ф√+,7-./8╘0╒h╓123459:6789;<ы:╗;=<ц=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkDilkljmnnmаoEF■opqGъrHpstrsuqvwxIJ∙yz{K|}L╫t~vwuАБВMГДNЕЖOЗИЙКуPQЛМНОxRyП{|zРСбТ}▒SюTUУФХVЦх№ЧШЙWЩЪЫX~ЬАБЭЮЯабYZвгде[\ьж║з]ичйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀└┴ЭЮЫрстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ╝Ї  їЎ   лг"в├З ? ^`>@▓│B─┼┤╡╢╖йк╛┐ Д╜жЕЦяЁ╕ П!ХФУзaдAТЬЪЩеШ╞╣# ИЖЛКМГ_шВ┬Н█с▐╪О▄C▀┌р▌┘ !"#$%&'()*+,-./0123456789:;AbreveAmacronAogonekAEacute Ccircumflex CdotaccentDcaronDcroatEbreveEcaron EdotaccentEmacronEogonek Gcircumflexuni0122 GdotaccentHbar HcircumflexIJIbreveImacronIogonekItilde Jcircumflexuni0136LacuteLcaronuni013BLdotNacuteNcaronuni0145EngObreve OhungarumlautOmacron OslashacuteRacuteRcaronuni0156Sacute Scircumflexuni0218TbarTcaronuni021AUbreve UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave YcircumflexYgraveZacute Zdotaccentuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4uni1EB8uni1EBAuni1EBCuni1ECAuni1EC8uni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0uni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEEuni1EF4uni1EF6uni1EF8abreveamacronaogonekaeacute ccircumflex cdotaccentdcaronebreveecaron edotaccentemacroneogonekuni0259 gcircumflexuni0123 gdotaccenthbar hcircumflexibreveijimacroniogonekitildeuni0237 jcircumflexuni0137 kgreenlandiclacutelcaronuni013Cldotnacutencaronuni0146engobreve ohungarumlautomacron oslashacuteracutercaronuni0157sacute scircumflexuni0219tbartcaronuni021Bubreve uhungarumlautumacronuogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexygravezacute zdotaccenta.ss01b.ss02q.ss02g.ss03m.ss04n.ss04r.ss04u.ss04uni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5uni1EB9uni1EBBuni1EBDuni1ECBuni1EC9uni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEFuni1EF5uni1EF7uni1EF9one.lnumuni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni2070uni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079uni2153uni2154 oneeighth threeeighths fiveeighths seveneighths slash.001uni00ADuni00A0CREurouni03A9uni0394uni03BCarrowup arrowright arrowdown arrowleft estimateduni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni031B dotbelowcombuni0326uni0327uni0328uni0335 uni0302.001 caron.alt uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303NULLuniE000uniF6C3  К(*=@DF`b└┬┬─═╧╒╫тфьяєїdщщ#0 !  "LDFLT  kernmarkmkmk  Rrh hfi, B▐>Ъ▄▄▄▄▄▄▄▄▄▄иbbbbbbZZZZД▐ $ $ $ $ $L FLL|LLLLLLLLL|| X X ( ( Ж ( ( (LLLLLLLZZZZZZZZZZZ n tZ╓╓╓╓ЁЁЁЁЁЁ|||||||||||мЄЄЄЄЄTТТТТТоооо▄▄▄▄▄▄▄▄▄▄▄▄LLZZZZZZZZZZZZZ||||||||ТТТ*,*,*,*,*,*,*,*,*,*,*B*B*T$$$$$$6<jX*B*B*B*B*B*B*B*B*B*B*TnHHHHH'░'░'░*╩*╩bАо╪*╩*╩ *╩D*╩*╩ 44*╨*╨N*╨P'░'░'░'░'░'░'░*T*T*T*T*T*T*T*T*T*T*T*B*T*Tz ╪ ╪ ╪ ╪!!!!!!!"D"D!v"D*~*~*~*~*~*~*~*~*~*~*~"V$p$p$p$p$p$Ц*д*д*д*д*д'8'8'8'8'J*T'░* '░'╞((* *,*,*,*,*,*,*,*,*,*,*,*,*B*B*B*B*B*B*B*B*╩*╩*T*T*T*T*T*T*T*T*T*T*T*T*T*~*~*~*~*~*~*~*~*д*д*д*╩*╨-f*┌*р++\+■, ,.-$-f-─/║=╝=╝/ф/ф/ъ/Ї0v0м1F1P4┬5\8 8:╞:╘=К=К=К=К=╝=ц>>B>Ф>▓>Ё>Ў>Ё>Ў??^?Ф?к?─?т?Ё@JAМBJB─B╬чщьчюfыjtdЭЭoзкpннtп░u▓╡w╖╗{╜└А┬═Д╓╓Р╪┘С▄▄Уў°Ф№ Ц.` чa чb чc чu °v ·w ·x ·y ·z ·{ ∙| ∙} ∙~ ∙к ·л ·м ·т  ·  ·  ·  ·  · · ·  ∙! ∙" ∙# ∙$ ∙% Ё& ·' ·( ·) ·* ·+ є, є- є. єb ·c ·d ·╕ э║ ю╝ ьu╓▄тх ф% Єn╬ э╓█▄▌▐ртух н& ▓' ▓( ▓) ▓* ▓b ▓c ▓d ▓n Ё° Ў№ ч Я Я Я Я Я Я Я Я  Я  Я  х  х ш ш ш ш ш ш# ш$ ш% ш& ш' ш6 }7 }G шH шI шJ шK шL шM шN шO шP шQ шR шU шZ ї[ ї\ ї] ї^ ї_ ї ЯА ЯБ ЯВ ЯГ ЯД ЯЕ ЯЖ ЯЗ ЯИ ЯЙ ЯК ЯХ шЦ шЧ шШ шЩ шЪ шЫ шЬ шЭ шЮ шЯ ша шб шн Jо Jп д░ J▒ J▓ J│ J┤ J╡ Х╢ J╖ J╕ J║ А╗ А╝ ╡╜ А╛ А┐ А└ А┴ А┬ А├ А─ А┼ А╞ П╟ е╚ А╔ А╩ А╦ А╠ А═ А╬ `╧ ч╨ А╤ И╥ А╙ А╘ А╓╪ у┘ к┌ ─█▄ у▌ у▐ у▀ ур ус ут уу уф ух уя ДЁ Дё ДЄ Ыє ДЇ Дї ДЎ Аў А° Р∙ А· А√ А№ А¤ А■ А  А А А Д А Д Д Ў Д  И  И  ╙  И  И И ч ч ч ч ч З З З З З З З З З З З О  О! О" О# О$ О% t& О' О( О) О* О+ S, S- ═. S/ J1 А2 А3 t4 t5 t6 З7 J8 J9 J: J; J< J= J> J? J@ JA JB JC АD АE АF АG АH АI АJ АK уL уM АN АO АP АQ АR АS АT АU АV АW АX АY АZ З[ З\ З] З^ З_ З` Зa Зb Оc Оd Оe чf чj ёkl їn ╦p ёqr Їs Ўt шз пи пй ═к ═л и▓ э┤ ╢╕║╝╜ м╛ м┐ м└ м┬ п├ и╚ ╚╔ ╟╩ ╚╦ ╟ў ┼° ы№ ╘u ·т √ ·% Ё╕ Є║ є╝ ёт √0 √▓ █ рт ╒lt╕║╝° ·№ Ї(` нa лb нc нo мp оq оr оs оt оv дw дx дy дz дк дл дм д╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚─ ╖┼ ╖╞ ╖╟ ╖╠ ╝═ ╝° °№ ╦¤ ╡o м╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚° °№ ╦¤ ╡┴ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒  ╒  ╒6 Д7 Д` √a √b √c √u °vwxyz{ ё| ё} ё~ ё ╒А ╒Б ╒В ╒Г ╒Д ╒Е ╒Ж ╒З ╒И ╒Й ╒К ╒клмн що щп щ░ щ▒ щ▓ щ│ щ┤ щ╡ щ╢ щ╖ щ╕ щ║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╬ ў╨ ц╤ ц╥ ц╙ ц╘ ц╓┘ ў▄тх я ўЁ ўё ўЄ ўє ўЇ ўї ўЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ў ц ў ў ў ў  Ї  Ї  Ї  Ї  Ї Ї ° ° ° ° ° ° ° ° ° ° °/ щ1 ц2 ц3 ╫4 ╫5 ╫6 °7 щ8 щ9 щ: щ; щ< щ= щ> щ? щ@ щA щB щC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цZ °[ °\ °] °^ °_ °` °a °n эз пи пл г▓┤ ╦╕ ш║ ъ╝ ш╜ ╞╛ ╞┐ ╞└ ╞┬ п├ г╚ ё╩ ёў ї° ·X ў ў ў ў ў ў ў ў  ў  ў6 ∙7 ∙` ┐a ┐b ┐c ┐o √pqrstu фv ыw ыx ыy ыz ы{ ▐| ▐} ▐~ ▐ ўА ўБ ўВ ўГ ўД ўЕ ўЖ ўЗ ўИ ўЙ ўК ўк ыл ым ын ·о ·п ·░ ·▒ ·▓ ·│ ·┤ ·╡ ·╢ ·╖ ·╕ ·/ ·3 √4 √5 √7 ·8 ·9 ·: ·; ·< ·= ·> ·? ·@ ·A ·B ·з ╧и ╧л ╧о я┤ ъ╕ ф║ ч╝ ф┬ ╧├ ╧┼ °╟ °¤╬ √╓▄т хn їт Ё% ыn▓ °)░ л│ л╢ л╝ ╢╛ й╬ з╥ д╓┘ к┌ ▌█▄ я▌ я▐ яр ят ях яї е й е ў  ╘  н д ▒% ┤- ╬e ъf ъj ёkn ┘p ёqr їt ъ▓ э┤ ╤ў ╥° э№ ╫╤ ┘ ┘ ┘ ┘ ┘ ┘ ┘ ┘  ┘  ┘  √  √6 ╗7 ╗ ┘А ┘Б ┘В ┘Г ┘Д ┘Е ┘Ж ┘З ┘И ┘Й ┘К ┘н ╦о ╦п ╦░ ╦▒ ╦▓ ╦│ ╦┤ ╦╡ ╦╢ ╦╖ ╦╕ ╦║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╬ ╘╧ ·╨ ╦╤ ╦╥ ╦╙ ╦╘ ╦╓┘ ╘█▄▌▐рт&х я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╙ ╦ ╘ ╘ э ╘  ╨  ╨  ╨  ╨  ╨ ╨ · ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ё  ё! ё" ё# ё$ ё% я& є' є( є) є* є+ ш, ш- ш. ш/ ╦1 ╦2 ╦3 ╦4 ╦5 ╦6 ╫7 ╦8 ╦9 ╦: ╦; ╦< ╦= ╦> ╦? ╦@ ╦A ╦B ╦C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╫[ ╫\ ╫] ╫^ ╫_ ╫` ╫a ╫b єc єd єe ·f ·n чqt Єз ╠и ╠й юк юл ╠┤ ╥║╜ ▄╛ ▄┐ ▄└ ▄┬ ╠├ ╠╚ ф╔ Ї╩ ф╦ Їў ч° °№ ї╬ ╪╓┘ ██▄▌▐рт&х  █ ь Ї% єkn ыqt є┤ ╫╕║╝ў ъ° ∙Ц ў ў ў ў ў ў# ў$ ў% ў& ў' ўG ўH ўI ўJ ўK ўL ўM ўN ўO ўP ўQ ўR ўU ўХ ўЦ ўЧ ўШ ўЩ ўЪ ўЫ ўЬ ўЭ ўЮ ўЯ ўа ўб ў║ ё╗ ё╝ ё╜ ё╛ ё┐ ё└ ё┴ ё┬ ё├ ё─ ё┼ ё╞ ё╟ ё╚ ё╔ ё╩ ё╦ ё╠ ё═ ё╬ ∙╨ ·╤ ·╥ ·╙ ·╘ ·╓█▄▌▐ртхЎ ёў ё° ё∙ ё· ё√ ё№ ё¤ ё■ ё  ё ё ё ё ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ▌  ▌! ▌" ▌# ▌$ ▌& ▄' ▄( ▄) ▄* ▄1 ё2 ё6 ъC ёD ёE ёF ёG ёH ёI ёJ ёM ёN ёO ёP ёQ ёR ёS ёT ёU ёV ёW ёX ёY ёZ ъ[ ъ\ ъ] ъ^ ъ_ ъ` ъa ъb ▄c ▄d ▄t╜ ю╛ ю┐ ю└ ю╚ Ё╩ Ё° ·№ ї ╬ ф█рт · ╩0 ∙n сt° °№ хo ┘ ъ0 ·kqtо ї▓ р╡ ▄╕║╝№ Ў¤ х ╬ э╓█▄▌▐ртх нn Ё° Ў№ чт √0 √u ў ∙% °0 √╕ ю║ я╝ ю¤╬ √т °%┤ Ў$│ й╢ й╝ м╛ в╟ в╠ в╬ и╓┘ ║█▄▌▐ртх¤ в в ║ я  ╠  л ╙% ╤e їf їjn ╫pqrt я┤ ╦ў ╒° є№ щo ▐о я╡ я° ют %+ №, №- №. №з ўи ўл ў┤ Ў┬ ў├ ў;о╣.╧╒.╓.╫.╪3┘3┌3█3▄3▌3▐3▀3р3с3т3у3ф3х3ц.ч.щ&ъ&ы&ь&э&ю&.-----801K3L3efм о>▓&╡O╕I║I╝I─ ┼4╞ ╟4╠<═<°№¤@ то▓ ─╞╢ ╤ ╤ ╤ ╤ ╤ ╤ ╤ ╤  ╤  ╤6 ж7 ж` їa їb їc їopqrstu Ўv ·w ·x ·y ·z ·{ х| х} х~ х ╤А ╤Б ╤В ╤Г ╤Д ╤Е ╤Ж ╤З ╤И ╤Й ╤К ╤к ·л ·м ·н ъо ъп ъ░ ъ▒ ъ▓ ъ│ ъ┤ ъ╡ ъ╢ ъ╖ ъ╕ ъ║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы╨ я╤ я╥ я╙ я╘ я╪┘┌█▄▌▐▀рстуфхщъыьэюЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы  №  №  №  №  № №/ ъ1 ы2 ы3 щ4 щ5 щ7 ъ8 ъ9 ъ: ъ; ъ< ъ= ъ> ъ? ъ@ ъA ъB ъC ыD ыE ыF ыG ыH ыI ыJ ыKLM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыз ┘и ┘л ┘┤ ┌╕║╝╜ ╥╛ ╥┐ ╥└ ╥┬ ┘├ ┘╚ Є╩ Єў Ў° щo ∙u хухо ф╡т ╡╕║╝┼╟ т о╡ ╕║╝┼╟╠═¤ т о▓/╝─┼╞╟╠ ═ т о▓╕║╝─┼╞╟╠═т мо▓╡╕║╝─┼╞╟╠ ═ 1╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLм о5▓╡#╕║╝─$┼╞$╟╠!═!¤  т о▓0╝─┼╞╟╠═o ч╬ °0о╡ ї° Є@о╣,╝╧╒,╓,╫,╪2┘2┌2█2▄2▌2▐2▀2р2с2т2у2ф2х2ц,ч,щ$ъ$ы$ь$э$ю$Є∙, <++++-60/K2L2efмо<░ ▐▓$╡N╕J║I╝I─┼3╞╟3╠;═;°№¤?  т&'()*bcd░ ▐Ч  √ ∙ ∙ ∙ ∙ ∙ ∙ √ √ √ √ √ √ √ √ √ √ √ √  √! √" √# ∙$ ∙% ∙& ∙' ∙( √) √* √+ √- √. √/ √0 √1 √2 √3 √4 √5 √8 √9 √: √; √< √= √? √@ √A √B √C √D √E √F √G ∙H ∙I ∙J ∙K ∙L ∙M ∙N ∙O ∙P ∙Q ∙R ∙S √T √U ∙V √W √X √Y √Z ·[ ·\ ·] ·^ ·_ ·` дa дb дc дd °e °f °g °h °i °j °k °l °m °n °o ╙p ┌q ┌r ┌s ┌t ┌v ╗w ╗x ╗y ╗z ╗{ √| √} √~ √Л √М √Н √О √П √Р √С √Т √У √Ф √Х ∙Ц ∙Ч ∙Ш ∙Щ ∙Ъ ∙Ы ∙Ь ∙Э ∙Ю ∙Я ∙а ∙б ∙в °г °д °е °ж °з °и °й °к ╗л ╗м ╗о щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Ї o °u ┘о ╥┤ ╓╡╕ ▀║ ф╝ ▀ў ї° чo ╪о ъ╡ ч Ў  ї! ї" ї# ї$ ї% Ї& Ї' Ї( Ї) Ї* Ї+ °, °- °. °b Їc Їd Їо Ї╡ Ё╕ Є║ є╝ Є3o є╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLмо▓╡ √╕║╝─┼╞╟╠═° є¤ o єо Ё╡ ї° єЖ щ щ щ щ щ щ щ щ  щ  щ6 ╘7 ╘Z √[ √\ √] √^ √_ √` ▒a ▒b ▒c ▒o ёp Їq Їr Їs Їt Їu ▌v ╒w ╒x ╒y ╒z ╒{ ╤| ╤} ╤~ ╤ щА щБ щВ щГ щД щЕ щЖ щЗ щИ щЙ щК щк ╒л ╒м ╒║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═Ўў°∙·√№¤■ 123 ∙4 ∙5 ∙CDEFGHIJMNOPQRSTUVWXYз ти тл то ▀┤ ч╡ Ї╕ т║ ц╝ т╜ Є╛ Є┐ Є└ Є┬ т├ т─ Ў┼ Ў╞ Ў╟ Ў╠ ў═ ў° ў o ёu ▌о ▐┤ ц╡ Ї╕ т║ ц╝ т° Ўи ° ° ° ° ° °# °$ °% °& °' °6 °7 °G °H °I °J °K °L °M °N °O °P °Q °R °U °` │a │b │c │defghijklmno юp Єq Єr Єs Єt Єv ╤w ╤x ╤y ╤z ╤Х °Ц °Ч °Ш °Щ °Ъ °Ы °Ь °Э °Ю °Я °а °б °вгдежзийк ╤л ╤м ╤║ ї╗ ї╝ ї╜ ї╛ ї┐ ї└ ї┴ ї┬ ї├ ї─ ї┼ ї╞ ї╟ ї╚ ї╔ ї╩ ї╦ ї╠ ї═ ї╨ √╤ √╥ √╙ √╘ √Ў їў ї° ї∙ ї· ї√ ї№ ї¤ ї■ ї  ї ї ї ї1 ї2 ї6C їD їE їF їG їH їI їJ їM їN їO їP їQ їR їS їT їU їV їW їX їY їZ[\]^_`aо Ё╡ Ї╜ с╛ с┐ с└ с╚ Ў╩ Ў╠═° Ёo фо э╡ ю° ё ∙  °! °" °# °$ °& ў' ў( ў) ў* ўb ўc ўd ўо ї╡ ▌╕║╝─ Є┼ Є╞ Є╟ Є╠ є═ єo ╩ ∙о ъ╡ ▄¤o ╩ ∙  ∙! ∙" ∙# ∙$ ∙& °' °( °) °* °b °c °d °о ъ╡ ▄─ ю┼ ю╞ ю╟ ю╠ я═ я¤xн уо уп у░ у▒ у▓ у│ у┤ у╡ у╢ у╖ у╕ у║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╨ ы╤ ы╥ ы╙ ы╘ ыЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ц  ·  ·  ·  ·  · ·/ у1 ц2 ц3 у4 у5 у7 у8 у9 у: у; у< у= у> у? у@ уA уB уC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цз ╙и ╙л ╙о ╥┤ ╓╡╕ ▀║ ф╝ ▀╜ ═╛ ═┐ ═└ ═┬ ╙├ ╙─ ў┼ ў╞ ў╟ ў╚ Ё╩ Ё╠ °═ °ў їо щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Їo ╠ ·о ъ╡ ▌¤o ╠о ъ╡ у¤ o ╩u Ё% їо ш╡ ▀╕ ъ║ ы╝ ъ¤ o ╫u ъ%о ц┤╡ ш╕ ш║ ъ╝ ш o Єu ▄о ▐┤ ц╡ ї╕ т║ ц╝ т° Ўт т░ ▐ЭU` Ўa Ўb Ўc Ўn ┌ЭА░ ┘╜ ╩╛ ╩┐ ╩└ ╩╪ └┘ ═▄ Ї` їa їb їc їvwxyzклмЭI╕ ш║ щ╝ ч(67` їa їb їc їo Ўp Ўq Ўr Ўs Ўt Ўv їw їx їy їz їк їл їм їkmnoq эЭMз Ўи Ўл Ў╡ я╕ ї║ Ў╝ Ї┬ Ў├ Ў╠ ї═ ї╪┘ ї■ яnЭO■ Ї` Ўa Ўb Ўc ЎЭJ╕ щ║ ъ╝ ш= ╪ ╪ ╪ ╪ ╪ ╪ ╪ ╪  ╪  ╪6 ╘7 ╘`abcopqrstvwxyz ╪А ╪Б ╪В ╪Г ╪Д ╪Е ╪Ж ╪З ╪И ╪Й ╪К ╪клмkn ├t ъз │и │л │░ ╒│ ц┤ Ы╜ ╩╛ ╩┐ ╩└ ╩┬ │├ │╥ щ╪ │┘ ╧▄ ф` їa їb їc їvwxyzклмЭI╕ ч║ щ╝ ц` ёa ёb ёc ёvwxyzклмt єЭ3з Єи Єл Є┤ Є╕ т║ ф╝ с┬ Є├ Є}  ї ї ї ї ї ї# ї$ ї% ї& ї' їG їH їI їJ їK їL їM їN їO їP їQ їR їU ї` чa чb чc чd їe їf їg їh їi їj їk їl їm їn їo чp шq шr шs шt шuv цw цx цy цz ц{|}~АБВГДЕЖЗИЙКХ їЦ їЧ їШ їЩ їЪ їЫ їЬ їЭ їЮ їЯ їа їб їв їг їд їе їж їз їи їй їк цл цм цj юkn уp юqtЭФ░ ▌│ ь╡ ╙╕║╝╜ █╛ █┐ █└ █╠ щ═ щ╥ ┌╪ ╥┘ ┌▄ ю■ ф j0kSlGmJoLp0qАr<sIto эрт ` їa їb їc їo їp їq їr їs їt їv їw їx їy їz їк їл їм ї Ё  Ё! Ё" Ё# Ё$ Ё& Ё' Ё( Ё) Ё* Ёb Ёc Ёd Ё щ ▐ъ ▐ы ▐ь ▐э ▐ю ▐k Їl цm цo ьq ╨s яt ▄& ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀)6 ▓7 ▓` эa эb эc э{ ф| ф} ф~ ф ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓▄.▌т3х.l Ёt ▀▄ ╧ ╧ ╧ ╧ ╧ ╧ ╧ ╧  ╧  ╧  є  є Ї Ї Ї Ї Ї Ї# Ї$ Ї% Ї& Ї' Ї6 ╬7 ╬G ЇH ЇI ЇJ ЇK ЇL ЇM ЇN ЇO ЇP ЇQ ЇR ЇU Ї ╧А ╧Б ╧В ╧Г ╧Д ╧Е ╧Ж ╧З ╧И ╧Й ╧К ╧Х ЇЦ ЇЧ ЇШ ЇЩ ЇЪ ЇЫ ЇЬ ЇЭ ЇЮ ЇЯ Їа Їб Їн ╧о ╧п ╧░ ╧▒ ╧▓ ╧│ ╧┤ ╧╡ ╧╢ ╧╖ ╧╕ ╧║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╨ ╠╤ ╠╥ ╠╙ ╠╘ ╠█рт я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╘ ╦ ╘ ╘ х ╘  ╨  ╨  ╨  ╨  ╨ ╨ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ф  ф! ф" ф# ф$ ф% ф& х' х( х) х* х+ ▐, ▐- ▐. ▐/ ╧1 ╦2 ╦3 ╔4 ╔5 ╔6 ╒7 ╧8 ╧9 ╧: ╧; ╧< ╧= ╧> ╧? ╧@ ╧A ╧B ╧C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╒[ ╒\ ╒] ╒^ ╒_ ╒` ╒a ╒b хc хd хj ьl їn ▓p ьr яst ┘┤ &` ┘a ┘b ┘c ┘o ▀p тq тr тs тt тv ╓w ╓x ╓y ╓z ╓к ╓л ╓м ╓ Є  ё! ё" ё# ё$ ё& ё' ё( ё) ё* ёb ёc ёd ёkq┼ ╤╟ ╤╠ ╙═ ╙л  я я я я я я# я$ я% я& я' яG яH яI яJ яK яL яM яN яO яP яQ яR яU яpqrstАБВГДЕЖЗИЙКХ яЦ яЧ яШ яЩ яЪ яЫ яЬ яЭ яЮ яЯ яа яб я║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ ї ї ї ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj тk їm Ёn ╥p тr чs щ╖ ю╣ ъ╕ ю║ я╝ эл  Ё Ё Ё Ё Ё Ё# Ё$ Ё% Ё& Ё' ЁG ЁH ЁI ЁJ ЁK ЁL ЁM ЁN ЁO ЁP ЁQ ЁR ЁU ЁpqrstАБВГДЕЖЗИЙКХ ЁЦ ЁЧ ЁШ ЁЩ ЁЪ ЁЫ ЁЬ ЁЭ ЁЮ ЁЯ Ёа Ёб Ё║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы█▐ртЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы ї ї ї ї щ щ щ щ щ щ щ щ щ щ щ ц  ц! ц" ц# ц$ ц& ч' ч( ч) ч* ч1 ы2 ы6 щC ыD ыE ыF ыG ыH ыI ыJ ыM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыZ щ[ щ\ щ] щ^ щ_ щ` щa щb чc чd чj фk Ўm Ёn ╒p фr шs ъ╖ я╣ ы╕ ъ║ ы╝ щн  ю ю ю ю ю ю# ю$ ю% ю& ю' ю6 Ў7 ЎG юH юI юJ юK юL юM юN юO юP юQ юR юU юpqrstАБВГДЕЖЗИЙКХ юЦ юЧ юШ юЩ юЪ юЫ юЬ юЭ юЮ юЯ юа юб ю║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ Ї Ї Ї Ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj сk їm юn ╥p сr цs ш╖ ю╣ щ o ▄u ю Є% сk ёl єm єo єq ╘s яt ┘╠ Ы o ╠ тj Єk Їn фp Єq─ п┼ п╠ п o ╠ тj Єk Їn фp Єq─ п┼ п╠ А ╓▄рт,х є Ўз пи пл п┬ п├ пo╓█ ▄▌▐ртх Є ї% °з пи пл п┤ ╢┬ п├ пў ╕№ э╓▄рт,х є Ўo╓█ ▄▌▐ртх Є ї% °┤ ╢ў ╕№ эo Їo фu Ё% Ў╓█▄рт!х Ї ў%n ╥з пи пл п┤ ╝╜ Ы╛ Ы┐ Ы└ Ы┬ п├ Аў ╔№ Ў ╓█▄рт!х Ї ў%n ╥┤ ╝ў ╔№ Ўj Їm Ўn ▌p Їr Єk яl Ўnq ╞s їt ╧k ёl фm фo шq ╬s уt ╪kq шt э` ╓a ╓b ╓c ╓o эp яq яr яs яt яv ▄w ▄x ▄y ▄z ▄к ▄л ▄м ▄┼ ┴╟ ┴╠ ╬═ ╬P` ╣a ╣b ╣c ╣d √e √f √g √h √i √j √k √l √m √n √o ┌p ▄q ▄r ▄s ▄t ▄v ┴w ┴x ┴y ┴z ┴в √г √д √е √ж √з √и √й √к ┴л ┴м ┴ · · · · ў ў ў ў ў ў ў ў ў ў ў ї  ї! ї" ї# ї$ ї& є' є( є) є* є0 ∙6 ўZ ў[ ў\ ў] ў^ ў_ ў` ўa ўb єc єd є┼ ▀╟ ▀╠ с═ с/ ї ї ї ї ї ї ї ї  ї  ї` ╫a ╫b ╫c ╫o Їp Ўq Ўr Ўs Ўt Ўu їv ъw ъx ъy ъz ъ{ щ| щ} щ~ щ їА їБ їВ їГ їД їЕ їЖ їЗ їИ їЙ їК їк ъл ъм ъ┼ Є╟ Є ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀6 ─7 ─ ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓█▄ртхkn ▌т  Ш  ╘)$ √ · · ∙ ў √ · є ° √ ш ° √ √ · ў √ · · в ° ╨ и ё ° Ё ю ю ° ╞ ш ▌ щ ╔ √ ┌ ┘ ╪ · ° · √ ° √ √ √ ° √ ∙ ў Ў Ы ∙ ∙ ╙ · в Ё ю ю с Ё ╥ л ў м ╥ · р √ ж ў ╓ з ° Ё я я · ∙ √ ° √ ° ∙ Є Ў · ∙ ї ° ∙ ° ° ╢ Ў ▄ ў в ш Ї є є √ ∙ √ ю ° ў ї Ш ° · ╥ ∙ в я ю ю в ў й ┼ ╡ ║ ╪ л ╔ б ╙ ╟ ї ╦ Ч ї м █ ╨ ч ш ╪ ї с √ ░ ╨ ё ° ╧ ў Ў Ў √ · ф ° ў у ° √ ъ ъ ▌ ч д Ч о Ш Ы ┐ є ╨ ё ╝ ╖ ╖ ю я · є ∙ Ї ╣ ° ф Щ ╒ ∙ ° ў ў √ √ √ · н ┌ о є є Є Є √ √ · Ў · є Ї √ ╤ ╘ ▌ ▄ █ Ў ╪ ╨ ╤ Ї с · э ╥ ╞ Ё ч ё ▀ √ Є № п ╪ · Є ў ў щ ╒ Ї т № ░ ╤ Є ∙ ╘ ў Ў Ў ї ° ∙ ї ° √ Є й щ л ╔ д я е ▓ ў н ╤ д ▒ ╧ ъ Ё л г ц о ╒ ╧ ╘ ╒ Ў · ╘ ∙ ╠ Ў ╔ ┐ · ° ╥ ю є ў Є ╔ с ╨ с ╤ ╝ ╡ ╢ ї ╟ ё ▀ Є р Є ╬ ш ┌ я ╝ ╢ ц у ╔ ▄ · ∙ ╙ ы м ╗ ═ у а Ё ° ў ў ї ╘ ў о ┌ ° Є Ў ∙ ° ─ ъ й ┘ ў ё Ў ї ї · ∙ √ ° √ ° ∙ Є Ў · ∙ ї √ √ ї Є Ё ╘ ╘ ю є ▄ Ё ╘ ф ч Ў ╘ ╥ ╠ ╤ ю ч ╧ ъ я ╝ ╢ Є Ў ╟ э · ╢ ф я Є ┌ Ї Ї ў ё ╝ Ё ў ╝ Ў я ╫ ╝ ╥ ю ё ╪ є є Ў Ё ╡ я Ў ї э ╒ э Ё ╓ Є Є ї я ╢ ю ї ╢ Ї ь ╪ ▐ ╢ ╔ ! #R UnPptjv└o┬╬║╨ч╟щь▀юу∙ $&.01 34"7f$зкT╜└X┬═\J   !#'(+,,-56789!:?@FRRVYZ_`cdnptvz {~КЛТУФвйкм н╢╖╕╣╣║┐└└ ┬├ ─═╬╬╨╘╒╫ ╪х цч%щьююяї Ў  $&* +.0011 34 7BCJKL MYZabd ee ffзийк"╜└┬├──'┼┼(╞╞'╟╟(╚╚#╔╔$╩╩#╦╦$╠═&H   "#'(+-5678=?FGRSTUUVYZ_ `cdnptvz {~КЛФХбвйкм н╕╣╣║═╧╧╨╘╒╫╪хцчщю яї Ў   $&* +.//1235667BCJKLMYZabd efзийклл╜└┬├──"┼┼#╞╞"╟╟#╚╚╔╔ ╩╩╦╦ ╠═! .Т▄ !"#(*=&@D:F`?b└Z┬┬╣─═║╧╒─╫т╦фь╫яєрїхdщщTм▓╕╕╛─╩╨╓F.4:>DN ╞ёU▓─╩Ъ─╩|─╩Ъ─╩ T─╩Ъ─╩ Z─╩▓─╩ `─╩ f─╩ l x r x ~^ К в Ц в Д в К Р Ц в Ь в~в и╢в ию ╓ о ┤ ╓ ║ ║ ╓ └ ю ╞ ╠ ▐╘ ╥╘ ╪╘ ▐┌ ф╘hz ъ\z ъ$** №$* Ё$* №$* Ў$* Ў$* №$*$*$*$*& &,>D8P2D8P>D8P>DJPV╛hz\zbzhntzHflrxTflrxАflrxTflrxЖflrxTflrxМflrxТflrxHflrxTflrx`flrxШЮдк░ЖHl~ЖКЖ╢Ж~╝ц╘╬╘┬╘ц╚╬╘ц┌цPЄрPЄцьЄ~ЬвиКЬви°ЬвиКЬви■ЬвиКЬвиЬви Ьви~ЬвиЬвиЦЬви"4.4.4(4.4:@о╞L╞L╞F╞L╞RjpXjp^jpdjpv─╩|╕╩В─╩И─╩О─╩Ф─╩Ъ╕╩а─╩ж─╩м─╩▓╕╩╛─╩╨ ╓Ї ▄ т ш юЇ ·  *$*0flrxTfNrx6flrx<flrxBflrxHfNrxZflrxHflrxTflrxHfNrxTflrxZflrx`flrx~ЬДиРЬви~ЬвиКЬви~ЬДиКЬвиРЬвиЦЬвио┤║╞└╞Ьо┤До┤fо┤До┤╠о┤До┤╥о┤Ьо┤╪о┤▐о┤фЁъЁ№Ў№ & &╪ЁЎ└ЁЎDЁЎ,ЁЎ└ЁЎJЁЎJЁЎ└ЁЎ2ЁЎ╪ЁЎ8>╪PDP└P╪PJPVTb\TbhtntАtzАЖМШТШдЮдк░╢┬╚ъ╬╝╚ъ╬┬╚ъ╬┬╚╬╘┌HTрTцTHьЄT,JPV\8JPV\°JPV\8JPV\■JPV\8JPV\JPV\ JPV\,JPV\8JPV\DJPV\06$$$("""(.LF@F4FL:@FLRX^jpd|jpd|jpv|bАЖМnАЖМВАЖМnАЖМИАЖМnАЖМОАЖМФАЖМbАЖМЪАЖМzАЖМажм╛╕╛╕╛▓╛╕╛─╩Тк╓к╓к╨к╓к▄Ї·тЇ·шЇ·юЇ· $*06bЖ<BHNTZ`о┤fв┤lо┤rо┤xо┤~о┤Дв┤Ко┤Ро┤Цо┤Ьв┤ио┤║ЁЎ└▐Ў╞ЁЎ╠ЁЎ╥ЁЎ╪▐ЎфЁЎъЁЎ№JPV\8J2V\JPV\ JPV\&JPV\,J2V\>JPV\,JPV\8JPV\,J2V\8JPV\>JPV\DJPV\bАhМtАЖМbАЖМnАЖМbАhМnАЖМtАЖМzАЖМТШЮкдк░Цн╡W█W╣T█▐█5 1╣Ц%n╔▐Цнї█ї╔╣█Цne╔eЦe╣eнe╡°█°╣°■■█■ s╣¤█░█¤ sтnG█╣▐█ s╡╔Ц╖нз█з█Є█▐Є sё▐ 1ё╣   sф▐ф█ф sфn╔Ц╖н█r█rЦr╣rр█р Ц ╣▐█▐╣▐▐▐Цшшn╔■∙,√ў╣їз┌█ |▄╬ ў╣їз┌█∙ |▄╡∙╣ e█e |e▄e\ўїз┌█ |╣▄╡m█щ n█ |╣▄╡█<  █  | ▄ ╡ ╘У╘к╘╘▓h╪h╢h╔█╔╪Ў 1╔╢╔Уцъ└╪ъь▀█▀кСС▀╞▀У▀ VЎV╘ёАV╪V╞V╢VкVУV▓W╪W╢W ██╪█ s┌╪┌_З_йй_АА╪Аё╢ё█ё sё▓ф╞фУч┤фкъЪ╢Ъ█<Ъ╪< s╗█╨ 1╗╢└╗╪└ s╪ИИ╪№╪И sИьЄ╞ЄУї┤ЄкЄ─╪─G╪GУG╢G┐╪┐╞У╞╢┴╪┴╢┴█┴У┴┴ь╪╪╪Д щщ╪щъ╪ъ ~╪~Ш╪Шё╪═╪ё▒ ╘¤╘╞═Ў╘)╘°╘Ї╘╢╘Є╙д╘╫╘╪╘ |╘┘╘I ▀Ї▀╢▀Є▐д▀╫▀╪▀ |▀┘▀▓▀Y$V |V┘VMфЇфЄудф╫ф╪ф |ф╢ф┘ф▓T╪фЩ фьЄ╪Є |Є╢Є┘Є▓╙╪Є ╞╪  |╞┘╞▓    6 !Q_>Q |_ sN 1  "x  &,228>DJPU╪n╪C╪В╪М╪m╪Ф╪к╪  &,28>UУnУC╢В╢М█m╞Ф▓к┘   з╪ 0кDFLT    aalt>fracDligaJlnumPsaltVss01\ss02bss03hss04nss05t  Ltж║╘ш. /0234156t н╣╨яЁk e╪fщ╧/0234156н╣╨яЁВн 01╣b╨ 345яЁ" kО*T`vВё┤jjЁ┤j "г┤rб┤nЯ┤mЮ┤lа┤mд┤rв┤nе┤rж┤rjklmoqfcidecomp-2.1.1/documentation/available-software-and-documents/_static/custom.css000066400000000000000000000004061473255640600303120ustar00rootroot00000000000000 div.admonition p.admonition-title { font-size: 14px; } p.last { font-size: 12px; } @font-face { font-family: "Dosis ExtraLight"; src: url("./Dosis-ExtraLight.ttf"); } @font-face { font-family: "Barlow"; src: url("./Barlow-Regular.ttf"); }fcidecomp-2.1.1/documentation/available-software-and-documents/conf.py000066400000000000000000000200601473255640600261350ustar00rootroot00000000000000# Copyright 2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # # This file does only contain a selection of the most common options. For a # full list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- import re project = "EUMETSAT WP FCIDECOMP - Available software and documents analysis" copyright = ( "2021-2022, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)" ) author = "B-Open Solutions srl" # The full version, including alpha/beta/rc tags. release = re.sub("^v", "", os.popen("git describe").read().strip()) if "CI_COMMIT_SHORT_SHA" in os.environ: release = os.environ.get("CI_COMMIT_SHORT_SHA") if "CI_COMMIT_TAG" in os.environ: release = os.environ.get("CI_COMMIT_TAG") version = release # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", ] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = ".rst" # The master toctree document. master_doc = "index" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = None # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = "alabaster" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {"font_family": "Barlow", "head_font_family": "Dosis ExtraLight"} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # The default sidebars (for documents that don't match any pattern) are # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. # # html_sidebars = {} html_logo = "images/eumetsat.png" # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. htmlhelp_basename = "user_guidedoc" # -- Options for LaTeX output ------------------------------------------------ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', "papersize": "a4paper", "maketitle": r""" \pagenumbering{Roman} %%% to avoid page 1 conflict with actual page 1 \sphinxmaketitle \clearpage \pagenumbering{roman} \clearpage \pagenumbering{arabic} """, "preamble": r""" \usepackage{graphicx} \usepackage{background} \backgroundsetup{ scale=1, color=black, opacity=1, angle=0, position=current page.north, contents={% \small\sffamily% \begin{minipage}{.22\textwidth} \vspace{1.65cm} \hspace{-0.175cm} \includegraphics[width=\linewidth,height=70pt,keepaspectratio]{../../images/eumetsat.png} \end{minipage}% \begin{minipage}{.8\textwidth} \vspace{2cm} \parbox[b]{.6\textwidth}{}\hfill \\ \end{minipage}% } } \usepackage{fancyhdr} \pagestyle{fancy} \fancypagestyle{normal}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/available-software-and-documents \\ version, \today \\ EUMETSAT WP FCIDECOMP - Available software and documents analysis}} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot{} \fancyfoot[C]{\thepage} } \fancypagestyle{plain}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/available-software-and-documents \\ version, \today \\ EUMETSAT WP FCIDECOMP - Available software and documents analysis}} \fancyfoot[CO,CE]{\thepage} } """.replace("version", version), } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ( master_doc, "fcidecomp-available-software-analysis.tex", "EUMETSAT WP FCIDECOMP - Available software and documents analysis", "EUMETSAT", "manual", ), ] # -- Options for manual page output ------------------------------------------ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ( master_doc, "fcidecomp-available-software-analysis", "EUMETSAT WP FCIDECOMP - Available software and documents analysis", [author], 1, ) ] # -- Options for Texinfo output ---------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( master_doc, "fcidecomp-available-software-analysis", "EUMETSAT WP FCIDECOMP - Available software and documents analysis", author, "fcidecomp-available-software-analysis", "One line description of project.", "Miscellaneous", ), ] # -- Options for Epub output ------------------------------------------------- # Bibliographic Dublin Core info. epub_title = project # The unique identifier of the text. This can be a ISBN number # or the project homepage. # # epub_identifier = '' # A unique identification for the text. # # epub_uid = '' # A list of files that should not be packed into the epub file. epub_exclude_files = ["search.html"] numfig = True # -- Extension configuration ------------------------------------------------- def setup(app): app.add_css_file("custom.css") fcidecomp-2.1.1/documentation/available-software-and-documents/document_info.rst000066400000000000000000000037421473255640600302310ustar00rootroot00000000000000Document Information ==================== .. table:: :widths: 30 70 +---------------------------+--------------------------------------------------------------------------+ | ID: | fcidecomp/documentation/available-software-and-documents | +---------------------------+--------------------------------------------------------------------------+ | Version: | |version| | +---------------------------+--------------------------------------------------------------------------+ | Authors: | M. Cucchi (B-Open Solutions) | | | | | | M. Bottaccio (B-Open Solutions) | +---------------------------+--------------------------------------------------------------------------+ Document Change Record ---------------------- .. table:: Document Change Record :widths: 15 15 10 60 :class: longtable ================ =========== ======= =================================================================================================================================== Issue / Revision Date DCN. No Changed Pages / Paragraphs 0.0.1-doc 3 Dec 2021 Initial issue, prepared under contract EUM/SEP/WPD/21/1244304 by B-Open Solutions srl. 0.1.0-doc 12 Jan 2022 Add EUMETSAT Data-Tailor public documentation among FCIDECOMP software references to be updated. 2.0.0-rc2 8 May 2022 Make reference to the EUMETSAT Data-Tailor public documentation to be updated more specific (RID ID: AM-4). ================ =========== ======= =================================================================================================================================== fcidecomp-2.1.1/documentation/available-software-and-documents/images/000077500000000000000000000000001473255640600261055ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/available-software-and-documents/images/eumetsat.png000066400000000000000000000311551473255640600304470ustar00rootroot00000000000000ЙPNG  IHDR╞@ArШ IDATxэ}i┤]GuцWu╞;╝Q│,O╪▓Е-уIЄД'l3ЪЪД┘аcРtЪ&!4+щмРР,ТIў :Э╥4 ─ NlГ ╞`└╪▓e╦єИeY├╙ЁЇ▐}ўЮ▒кz}╗юХхIOy`▒┤╓=Zў▌щ▄sкvэё█╗╢Фs╬ax )0д└3(аЯёn°fHБ!ДC┴2┬Р╧CБб`<QЖ )0М! )Ё< ╞єe°╤РC┴Є└Р╧CБб`<QЖ )╛8$(╫Ч9fItчмS╨PГ╠Йspиа┤ъГ╧№▌P^_Ьu^ї`)ЁвF]aГ[gсмБ░ ░D ,а╡ВV~╞~н┤ ■`g0Ў(\|▐Y8ядЧ№"i2╝ўРXШ`8а6╡─ :P`Xmа╙│°╔]ўb╫lзА┌YTd| ╢FYЦ(╩uaРч9КкFf*dEЙ┬╘(╩YYртП└√пxF# б{Ue]│0ьc╜є:ы xdr уА&Йю╠лИ'NC╬Е'Є░8╨pЄЮ▀sГs№Щ╞(MзQЙЛ╚kЖP2 0A;╕╧┼ф°ЎЛ╗№· Th■Ъу▓░жBЁюJ└ ║и┌4<╪7C8┬yA▀╓Єs <┬¤т╗┬A%╩O╪√№I╖}.нбt║╛JиAЪ(ШZ!▄>фэd╝з  йЇ╟─╣╦фЎY?╛фBhаок°╥Z╘Aь╬"рНeЎ<═╩їq ░╝$╩SЩ&Р╪Vї╫|└/|С ЖO60~░░ё╙эSxшБЯв╢t┴j ├I╓5▓┌ак*Ї╩yePd╒>┴ш╒%Є▓B^W√Cugq┬╤+ёё]ЙхM"*TBДИцбЛы39GFВD:Ф#ЩКЛ ВБC╨ЗНфсrР┴╚╜°╣Vj▀y√╗╧7╠KV%K{╞свУё7В №ўЇA^у┴▀9a╢ЦZГЯЕz▀g╡3г=;з├╣PР jшч$A=3ї╩ IФЇКвM@Ш╪8#Яя?&╣∙│ 8ОхiX}0 ▐ЯА?8Ogм0с`╢вяМкДЙjU!айа08  ╠▀У9╔ШdШРч "рХЬтщХ_▀Тr|ц╣ ё∙.│0┴ртPє╢lЯ╞жAЮ╫ШX┤aТвнщV(╔Mв▒4L о4LаыU ╝fН п╕°MШ8├Ж█o╟л╬>┘SГtч∙∙&ЄМ╧*яU0│кX╛ mт╡9пФЄЩht╟{ЛкЧevL@*j$о▄╙М╠╡▄зИ╕╞Є жцЩ┘ЇЕ┬Б.ж▐Зо╤═сD├╬]ў] { ▌▒hвт_*г<│ЁzтЮ╓Ї(Я^hОРoj?\zNd4~Кт)c*З(в+ё┬^▄АЖU╒CУn╬3лД~)"╛яУИ┬MУдDш╔Оw╫+╬i ▐Э▓и ZЖH~├ RЖюjЁ▓%рRo№~2ЬвP9п╝Г}ЮgZTz ╝ЯvБ║у▄Я╢■╧є│g|┤0┴7 ╞l╧р▐AзS`ё╥хт.НООв{эXVF4▌й║PBх╦CшSGУh|Ё}╨WU1Лvв╙┘ЛШ< ╝├I╥ "╡Юf╪g╠ж Ж№hЛ:Ў╙│╢F@S*5Y╘▒╝` \╪╛KEa╫!їеХекro┼┬╪╦ ┐aтrЯ+сM║еыу(зби∙Oфb*8M╟MfЛ┌╤rЙNюЗ}╖@ДИc"чRрX[FKya!Г╤g╫Їёy'щ5▓CяOИA}4 зкАXb 3┴╛№рЩ╧axWР&$фє╤@й=╞╬ЯQСЇЯ¤ а,k▒√[HоХВТ─дПё┐эпy]хИ"╞b┤╛"б╛R╠{ёюTМ╬WH╠3~▒H┬ONrZо!┤еvС?s╬╧~╖ ┴░:ВS w▌ў╢Mэ┼╪теB¤v3Eи Т4Х(2PXЦbYВ└Йы}Oю~t╧#▀╖"[dX║Ї8ъдЗ║АОX[Bif=pшЪ─<ЗH╠!оСюЭJЬўХ)Ф▐%р▌)8С╕a№Ї}и╤8DLBJ Cцт54м ╝л|╨hз┤и┤┤▐j14T$iЪ27"яТp&Jjї8 рT"УSA("l-УЯМ{JДМEP@QkS█К|ш Ё▓H║JВvQ:Л-E└НЄ╨пO{! ╓H╝PяРАЫ<\AQ$г┼е7;тW╥-м"5╡CСF^Й8*3ВЪ,OБя+▄д%нЪ╕Кd┼HтЛ8д4;бЙ─л╔Ди·q[мyЭСзпbЬ(г8МdХ%╢█╧т╛╨U$FkLMgxшё═@╪Ф╔═╬╬bb╒T┘,К(АК,*ыP'╚М▒DБ╕HнGДиDЛPAў_sаБн┴Z}ъ╪ `D)$Q SH√VрЕ&─╧kг┼B0gFlЙА ~у╔NЦЎЎ'пйQ}8╦ёQ!хї║лШx┤Hтб°R K[(<╞╟%tЩ*еCгЙ╝й~ЁЩх%-╤Г"Ж"zеБT╞D еU ╘^ОDщsБj"К4B$Tи║Е,/Р$ЙA╞░Ь ё▒XЙd_░Z╘Рё╫К╠┴▒╪bИlПy└Р2╤┤▐bЄє╨#duцдD]°TR9ДСЦэ~ТW?,*ep╞▒kЇr@ЇOТ чВЖy┼╔c╠┘н╨hQИ№<5ш√Fw:вKн╪h_Ь╖ЯwyаKЇ#ФЮЄ▄/ozЁAФ╡C(К Iд╤ЭЩA#f║ё!Н╒(КUeЭвР╨З▐_п∙╠Г╧ ╨Т╓(╛√Г ╪╕ёnш▓ЛvTу№sN╟╦╧<эY@щs╟g┬▌ ╕■·[1╫╦&MФЇ▒├ХТ╨в╬3й█rоF+ЬrЄIXsтB∙п|ї{иMЕfв(цЁТгWс╝їз√КaA\bФ╡╞m?║█ЮЬF╞(к9┤'B╝ъ╒б┘К°Ў ?DЦ╫°R;jаЧ╕№їЧ"И╕└^ГТIL\wэН╪M╔T1с▐▓Зеcxх% &╘ аkАЫxvNэBзB_·╥ riбxMjщв&лY,^<Й /9?4Е√я┐жЎщ╣ФєЯx1ж█eAз▌Кqъ╔k▒zїr19"№tє46▐■0║я)ь▐;лkМ-nb╤╥Q╝|їRм^}<Ц,ЫЇАAeУШ@xН>=SсЪkn@7+з сС╔%Kp┼хg{!p└L╟р;7▐М,я╗гд·Ъу&щ9с│О?з╛ь$д▒ўl}Ах∙ь~║яуY в$ў>ЇTL,╒@3HВfrН.ЪhYfP╣ б┌┌а45*Уг╥╠~QФ└мsВ2Ф%єdТ╙I╞╟s╗ЎxAВAKЧ╪<√Ьyцщє F\╜*╟G>Ў9qуt╤@ЭFИv┘"аМ3аИGmДuБ╨n├╖■х│`шаВ ┐∙╗WбЩ╖С╟9ФНp╓╣╦q═╦OvЪШWНЯ∙ЗятGw<КС┘▌6}ш3Ч_и╩$╪Н┐Є╔╧#▓G└Ъiдї(:н.F╩╛w╥)XuтR4┼us╚а1╡e/>Ё▒k1;Zв╡+ДЮиБвЕ░5Н╟~r┴╛√'╨°Э?╛;╖N#R]T▌╪н═дfкС=P╢ Э╟Иь оx )╕фU'у_o▌А┐№╘═ш╤Иц2┤т d6GЎ╫═вg'▒sll╘┴▓╬ P╜зp▌ППЕQvnэсЯ■~p¤ПСЛQФ\ф`в ╓ в! ╨p└%чп╟o ╞;Ё▓УузY╣дbъ ├╖п▌КO¤╬НШkЎрВЖА"═bЧ^pVМv┌╜О┴o|Ї_▒╗a╣Йю"*и├YХ!HcX╞ОЕFПбьu1^Лnt?■ЁO▐Кїы╓@1╟дш■╒╝b5P√dфр_LэЮKрГъ╩√qu-┴wЩWшd=╠х▓,CСТ┤гх t[х╡а@;vяТ┌@!╧ ╤p┤╝цDЮa▓╩1Ц═aСй1I▄╛3Гjzz3Q:╨hщw╙ы╤qN╡рв*·╕c@СB4┌m│╘t9N?k-VЯ8*ююБо{░▀╤№s ╗w╬КыBME°Ъ╚ !X[;|├=√ШЕeў╘Б▀■сЭтЧ6DШ─░╣Г╔k╘yЕЭ{─╤7Ф┌╠кe┼фиГ SXе6"╕иЖю%P6АU9тЗ °ц7"@М8РЖ1F╤F┌UhVMиоF\╡╫-DUЙEфЩ 1ZОCя╬qю∙ы░·╚уЁ°fЛ╖┐хS╕х·█СЖуs8ЕAhА8╙hdMд∙(вrQ8Жып╗_°ч╧Б0,TЕ*ыЛепМ |їы╫аО ╥н БJ2╟╕ю;╖вFSФ6Дэ╓hгНСj ёЮ&lH▌┌XКд7Кf5Ж4KбўфhыY╛УЛ"\zсy^PлJ<q&Є╪■`W{┐є╢m▀!хеоaUИ RPY!ж╛о║HгўY╞╩╥Н▓(kГ┬T(ЙN0kЖb-:▌ =╞"e ║6~у+▒|bЩ+пj╪@ Тб╗=,k╪М╩0┼иPY&Ў"D6F>7ЕF[├┼{╨╩╟PdЇXfёб gIкS%█ЯK┘╗wy╢l▐ m"ЄВИ╪~ЙИ▐kс║Ыя╞Хя╛DЦЙБ7Л,┐■э█Б8Ж╬rБUM$Н~YДй╙8r|Ь2p╢фi╨═к Б2D>╗ УG╓шOaдZО╥їаRГK/YП3NY B QAх3И╚02>Йщ'жб'╟6b8V&LыIL$ЛP╓FЧh|°╫▐(▀я ┴ч▒∙╤╢щ▌Ск7Н▒┼)ТЦA╘H▒wк+┬l]А▐▄╜ц№ц╟оДЦ░╣B╘lБЙи*щaєц6▄Гм╔дчбаЩ 2_·чясЭo>WE╒AsYН╜nмОС╢ кдЙ▐Tq{Б `Є н▒╬╬uБxeИW┐ъ,м\▄ЁаJ╘Ф`╔x▓█ПйЯїrAо╘ЇЮnU5о(2и.Й¤0щgсЯйдW╚Т·╜5д4Т╠ff╨┴O╖oE│▌F▐ЩЕ-╔4Ч]p.∙ЩЭGY╚GyЧПF0╩ы√Ё╧Ъ╦╛╖d@╧щ╠╩zДfty┐√бwрхп]Г▒▓ЙВcш╨nk,╒И@WПх ■~╓ГA#░cы ┤'Гїy┘A8╥F=[сОMOp %qШв;[у╬{ЮD]жHужЄ(ЬСЭР!жvvА5+Ya)Гh^GбBЪZЬu┴)°єO]БEН6J&╤ВеЩ├СK╟аъ.В0└я;\╛ L┬╕ yс?¤П╪╕i3Є*ГЭ`)7|ч/╤Ы7 ┤В╟?ЙG╢Mужя▐Ы,БkЕ(╦FЦ[№ї▀|чЯsДTЮd9░щ'[ёO╫▄Ко╜ °▀KG5┴ t,╣╣·_nCнRФtы*┼$+*хЁЁ▌█ЁфVЛгЧЦx╔╤г°ЄW~U3Bh5в▓┬ЧozЯ√лпIЬH┐:tя∙╡╫уЄW┐ kQX`эZ║йЇы·k╔єTИ\B|ПЪhХ$3Y&░ЪеЎВBйB)SpeНТ┴│л╜▀Gд┬I>1┘WЪ UYA╟╢ю╪БFлЕм*aлоштМ5лёо7Ь s`оDЇ)Сжl·X╝LЇ└и]ЮaкQФ"pLoVМм]1Ва*А0Р _ы2─ Кэ╕"┘№▀1Rв█;╜3У╥AI╚м╚б ]╗{wх╪╕щ Ьy·`-╒6lBw╞!╥ ╦iu╪&Шpмa▒kк'ЛLЧм.,\R╞!ъ╝Г─┼8їш&┤aВМ0o .С\┤p#ЦНжHG┤° СnвBНf SЎ$╧!Tb═1cОбЎЩED┤Ю┌╝FЗш5шкё зЮ▒ыO;-ц]lQ`q┴┘Л▒■▄7# фы1╓К% Z>&я╕v ш"┴Ч╛rГp)┴▒h/I╤▌Ы┴jЛl┌тжяn└пX╟Ї?╬zщ2а╗I@ ─[╢гм║PHбcФ%VЯ░gмЩD╚-╥Бч╔Зи╨ч┤R╧ъ╦Ёц░рБ▓и╤+j╤■м}Т:з╩ ╦+Б{eНвиСў╧╦кZ ∙;&¤К║Ца)ыцш╬╠┬Х^▓l >Ё╓7cФиK]·=ТФвVд╞ї┼{мeЪяpеУ╠М6s)l╕Xа.¤5(Д+у▒|a┐\СдЯї`¤y█ЎiqiA)дУ╟L┬ft ▓!о┐∙n╓ер\w╙OыA└d]4ЧдилЖ╣`╫ЎY┼╥ НB0▒LЬVЩ╕Wi▄Аб·TЇ═ЛўДY┐Bц╧а└╕к╨`EА╪wа╩╘╢╨╥ИVu╔nБ─ t┘╚╔БMСў\┴╝ЙFмту▀╗q3n°Ў#╪3┬щ1шp░ ┤3М╖TщЕY┤ ы╡FА╓r [Ю╪ ЗHъугзп;RP║Ъnx#┴UWХ У шРШ╩E@/ВлjдeAС┬ЎT∙Ь(r╔OQR┘J6Ю 8б@L*К+{ |░ЇМK▒▄гиJш E`2ц|├┘VЯgА═║%╨л╘єPєI1a_а╩ ╝д╡| >Є■+░D й═[■~5-Х;╜TC№ ёаВЇ#zцE╗╚а-РDMzW}ы.▄ё╘vа(4Фy'п^Йў╛хbaв2╧╤ ▐№3м г╛}jє6Я│QFr!ы╧YЗы┐q l╓A ЎПю╟'■ы@^7▀■иoХgHSЕ╡gЮА█n╝ЦЙQD╪╢}П@е─ўЩcл]ХJZ╡Ёрc№┴Я}6g@ё╣Ю┼∙э╖aм Б,╔а┌08щ╫eа`2▒╨░│шХXC┼фb─╤Р╟RС{▄qKО[еБ-;И┬║╗~ыcЙxд─Й'н└║╙^ЖЛ/║gЯ9.s!L*кИAджzгaЁ┼/▌ т·:╥h╬е8√╥уЁК╫ЮЖ ▀┐9cє░ЕM=ЕMПm├╟мР*г6╔A░тдtИm"ё-sЛ|РядвБиK═№U"▒-╖O╟:Жf┼/└в═Гр·Г8х╣\╥|1╤D$КИK▌п#2*МEZB▌IF╓8Л╥║н$1╞,05тXлН_} {▒дM▀з4E A Х╚б$йXN@nИ91┌у∙ьл*мC╥H╤ы╒0.DQ5Ё╜ЫFvч}hШ6╩вЗ(58g▌KЁО╖^ ЄШdl>щsз}╨Я *_wю╪-К┴▒·6╓8їЇ╡╕ёЪ█dm"╕√Ю╟0╫Юzъ)<№ш6М╕ШXc╤У8єьS▒ёG#C]ь┌1▌/▌bЦЛ-З*╕╪въ╒Г[этп ■;И│QdiIнб╙i╝єгп╞Hбб[n&'▒╨√┘╠шт╘IА╩e╪a kйъ" VЬ}╘(╬║шd▄|├у╨эЮ└┤Q:К^`f╞af╙▄rч7ёчw NX╓─п~рЧЁоw]И╡$eн5rkg*▄Ї═█Qs;B╒├H╤─┼чн├ygSU░К0~В^ ▄t√Э8си╦СFTнмAуР{x ╩.lиfKиА)G╤╠f╩Z▒]нkfr╔IЙ0c■е\Р`,M%G1Ухe∙G9Г$ ╨3Д╫"д╡CЪРёЩи─Ч╧нF╖╓иY╘W√ ╦М;▌.~уў T{Г2СЮ╨и+┤UИЮu0НD╗&ъ■чя■7мZ╕p@Ъ╨[0жЖС┬┼HЁ▐fтCя3▐°▐ 0Rf c╟1QУ УT,┌╤┬РМSг7`еЦ█"N╔╢*Бнj)oлё╔▄JY╦ъ▌-ГWь;wLCЄJRRO╘.├шxИ╦^y&■т a▄Ж*C№x├&l}j+╞еГJ╥╥8єЬcpыэ╘КvCr!{w╧╔&пV┬zдQшjnzщ▌┬О=u╛ЄўЯВFUа1X- м\NMm$WРp-юf╕?╧╤/3ЧШFрЄaеpьТ№'чууЇ №р{рюНПр╬ wу╬{╒▄(Ъ╔┤щ└N:Їfc|уKwруx+tФуз█+▄▓ёqдIД╣щI:Ж╓╪*№у Sg`й !¤╚еиУZ,▐u ·cЬ■╤╫#рn>╓жIхё∙Й+цъ╘╢Р-пa!Кй╚Z╕·ъ █IsфI╗$C5СгWЦ╨═Qй┘кm.є2╠С1Ю|tю╝g;Ь-╓пШg¤_/H0иvVМжx═ЕganчУY,XPI"-rX╪┼Ао7╗Й*▒д|ь╩wу▄╙╓`Фf┘0А %Рe0√ьG└ДT?#DИ7╘,аP╨═Щ▀GНhЩО╔╢NцtЛ]Ц]╟dn·i°а▄ЯоСш&@Н╪0ИЪ>╗Ly█╬▄u Ї$цiбЛ?║k+Юxrзь╤а36╟Q╟,эяG0╡}╖дгjmQ┌Jv─Н&M(cёЪ╦╬@U╠╔.3X║oДО;ИВчп?t▄F ┬▐!O"qvLM√║#G╘о Х▒┘@$┼ЧЕ 0║╖ PgQcОuВ ╪C╨c░│b>s╤O╦╛ л┤╛H┼m■╙╧~їЕ[1▌5`%J-e─▄Б[█[ЯТ└╪╓й╬a╒ЪQD рО{╢сЙGзQ5┼r[#4sЛdoнMйX[└Г┬Zb╓╩SШ┐г╫·ёДq√I&F>ерEх┤sЭ┴4╕=u'М╥▓1&Au`Дх%5ZИ╩&итsf6$PKA4X╖╛Н▀√╠╗1╣иBnw╚^Г┬Ж╚ЪХе█4 П╔>j╒▌ГгПiуo>¤!Ьw|елQ└}[v jд│mш<┬тE)f╪е#Ю%№ъ╫Ь;╫ГоЪ╨ХЦЛ^s"║d╔`/fL.Oс▓)Ц└ЩПlc║╪еАд╡ К∙Щ╝-┼Вж9уЩЩ:Е■╣ОQ╗Ek; ▌`оF╬@14╓Ш▒pQО:▄%╒┐ХrИ▓╢fлlШ╬А╗є^┤Ц▓t`╡AC%hх▄╧╥D╜EЎ6зРПьFаfЁ╢wЭВп¤пПбaАo▌°8▐; ╗$DЬЕhЎ №Є█_Г▌%╣bLD░эТ^nщz√/A╪ьв(z0Н│qИ/|¤┌Q(L#7+Pк]H4БгчРЫ░_l╩=Я?√▒ Л┴^▄╦!z∙N;ёx|ф╩ўтя╛°Ut З╖╛э]mу┴й.ЬafЦ°│ТАЦ┴▄р╡ Я╪*ИнfЬя вєiм\╣qв( i т√═/╝V жw9Ь║цXLўLDнk█Qэ6ZшХ╛ы x+YЖ╒╦Ag`¤в`яyч:м=єH\¤═Н°Ўїё─}█ЫTкu│цу`fc┘кХx╙ы▐Д╖┐х╡x╔Q бь╗`▐ШМcм\ъ`WF0eНУО\МQ╟J╨IЮ]r╬щ╕~эн╚YEл5╞╟с╘уY╩╝IНvЬ╛fюмvHYМуйA┬К╝t┼j╘S;аг1#╦P╫sТяИ]Щ▐fеIывш`м╜ fh.бУ2Ў2└qKЦcч╩=▓Ш╣╟-lk─=цUvY╘Ёх· n╗ыI| {╖уцЫ┴он;Счв ёНрЬ├q'ЯА3╓ЯЖ7┐{ N?j9"tP╫ ║ыЬz▄╤Ш┘^г╜tсшЬsЎ▒eо╫ЇР▓╚yQ"Ic╝ю▓гЁ┘Uу(╘╩В▄в░эбeЪoь┬┌ЦвGd╧жh6[Ш╨▄lLFъ7гоZ°Я5\глB~.╦L0~о!Y|ю ■ ~░qУьgv▄jщ┘╜╟Eb ,u▓¤╛C▄$аЙO3╚д┴JЙЄп╝цм_┐ЛM°·Аь╢с|╫щК~А9;ьБ┬(ff─г▄└я]хБyд;FqdЖTтK╓щю'l╒ЕVУТ[б'Q ь+{r─СF═ЄСзKnдб6░uО !P·▐╝ ╚,Р7(+4┘Єдd-Xyfї╟@ў2ъ╗Р╥ЪCkщ┬╖▒Ъи┼)═ЮBзСДУтq>RЦ╥░▒@▀·К$╕kFИЩKЖЬзїfПм┘Ю╠фЫ┐■АFТ-F│и║9вf[ИEгOЛ(CЕ&х`DTдГ ╟╚=0R╝_╧▒A║&BбB42а■сy∙/!G┴Ёmw*KEJlР╣┘F!чТ6!П█╪ьA6)Ёf■ЪЬKЁe├X_Ї│  йл'G╤ g V▓Ї░FыоG╖сж▐ВНЫA╫▒Ф9Сь1┐P+d,й(sDбBвнььП\x╬z╝ЄвЛqь╨h°HД╒┤lцПБ┼,▀ M╛т╞b┐[М\г Tьв+╔;v!dОЫД╘Є▀и~WЛ}1)╣YvЎР┌╥7OтоTp├сW▐Ыьaa╪ЮЗЭKT|·В7ы▒Wг╘ r▌пЙЫ┤Нм№>$ЮejтC2i┴Х93ЬКUЕ$╔J╠k!]RO6? ├A[&3╔°ДQqедm╤ ▓FмB?ю>∙(ф"щ(┌ОЭ J╘I Т.4Q WеJСТP░Oс╬╒вк╣Ч╛-Ь;╩ ┼ДЙ╔Z`ъ2b9}Йx L╓°╣░щп┬d!h_ыK╠А╖сг{В&К0 XВ╗ Т~б"5с╧x,H0╚╥╜П╙к╩╩·RqйrЇZс╔йю╝ i╚╢e╦6dY╩╠Еf3┼фXлV.├║У_К3╓о┴"v╬и!┘mоSmJiкр{qpж¤Ў4╥┬цЕgNvн╚Г╢МГl)59 IfаdЁDб8 ╔пб╝g═╧м┤Сqь:B╞,┬@(Ji╝+^Ио╠a3■ЪоўZ╚&|ЛлР╞▒)╗э╔┴ДўЮ╓▀╫─ХСy╦ўф^.4╟╞6::v╜р4╚$RГф+7ВъЬA3V _┘j█$~U* Gs┬FТх'AXmP"e;E░DЕ$Йд Od╤! е7оМл?vrРMUt[KPHс_Км╥ЇPeC;ш└╚xТ¤tiIe╫%I\!d▒#Хо2(Л9─iKrd!;┼HgB_╜mrnЙ&)fTЄN╣л╤Шз=РLrЮ?  [∙ЦЦ╝6УWм╒ё╗J░╛╟УЫ( [эp∙`ЛбЭшQ╧4нв╜Л└№j│Vh.+∙▀Ш╕<еп#╟р~¤╖╧z*еsэ/рўСa$╣ Ўе%sx^у яЮ \╚$]JЯaf╧еЪdП│`6:Ц╓,ЮQ№═∙эри0+╣▒HP╚Лi╥ш╖╟д}еЎdЎ├g█Y D"╨Ў╓тD╨кqk┤oG#уўеF┴2j╫Рё√√УhL7ТКь9╦=ХX8& ┘{Чп╟╛L<╪UKJqd;чЕCТАВZ∙k▒╗Л┤ъ╗4№5╧iИeу┴╒хў~@4,Ц=о─║B║▓ v (йЕаVM|,■ТF╘;BS^Я▓UxYїG┤3╛▀07+▒ШС │ыt╜їgп-:Q№Ю▒Ж╖@~` √╗ ┴РQP{p4Фtge#N,=Я╪╚Щy2/R6╓bЩ│'6[шД▓'Ь^Шgз}ыx╜кЖУЎР\╤uЮ╜%░їэwцН1·J╓3╗J▐RМуf┐0z)}╧fЁ∙АД,ечN║╛\ №ыш╛єЯ╙бЇехеэ │фв■ЎM║t!╕ ┴╦Ъ╨ДфРFЗ╩·▀│бZ_Hyя┴ыAci╛чГўцXд}gЯ╦°Ъэ,┘ Э#%%╜C┼nш╛-еиz]}=BЛ($▀яЪ№ПD);'T┌ yYрГ╜лrщчхЩM<.Z"i╤:а╟╞┼є▌═Зp╠<Ч╛?╗─°f═МBШвFH7С╫я%╦+Q∙ЙRхеxЇiH▌·DVbUЗаЇєл@р▀─чЄ√Тa4╡? ╤lrМ] __+V9°{ IaЪ╖(д_qПOв╪БЛ П╒╥¤ оn?R-фхc!╖■fHБ├З}q<|<щРЗВC┴8T▐у░г└P0╗%°PP`(ЗВ╩├{v ╞a╖d├ уPPyxП├ОC┴8ьЦl8рCAБб` *яq╪Q`(З▌Т |((0МCAхс=; у░[▓сАЖВq(и<╝╟aGБб`vK6Ёба└P0ХЗў8ь(0М├n╔Ж>° g▌╔╢є{├МIENDоB`Вfcidecomp-2.1.1/documentation/available-software-and-documents/index.rst000066400000000000000000000007571473255640600265120ustar00rootroot00000000000000.. available software analysis documentation master file, created by sphinx-quickstart on Thu Oct 14 13:00:51 2021. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. EUMETSAT WP FCIDECOMP - Available software and documents analysis ================================================================= .. toctree:: :maxdepth: 2 :caption: Contents document_info introduction repositories software_references fcidecomp-2.1.1/documentation/available-software-and-documents/introduction.rst000066400000000000000000000010401473255640600301060ustar00rootroot00000000000000Introduction ------------ Purpose ~~~~~~~ The document reports an analysis of the software repositories, links and documents related to the current implementations of the FCIDECOMP software, for which updates will be needed. Reference Documents ~~~~~~~~~~~~~~~~~~~ .. list-table:: Reference documents :header-rows: 1 :class: longtable :widths: 30 30 40 * - # - Title - Reference * - [FCIDECOMP_DESIGN] .. _[FCIDECOMP_DESIGN]: - EUMETSAT WP FCIDECOMP - Solution design - fcidecomp/documents/solution-designfcidecomp-2.1.1/documentation/available-software-and-documents/repositories.rst000066400000000000000000000043311473255640600301220ustar00rootroot00000000000000Repositories ------------ Here a list of the different repositories containing a version of the FCIDECOMP software is reported. Details on the actions taken can be found in :ref:`EUMETSAT WP FCIDECOMP - Solution design <[FCIDECOMP_DESIGN]>` FCIDECOMP v1.0.2 (latest) ~~~~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: FCIDECOMP source code repositories - v1.0.2 :header-rows: 1 :class: longtable :widths: 15 15 30 40 * - Usage - Contact person / organization - Proposed action - URL * - EUMETSAT sFTP - EUMETSAT - Replace with / redirect to canonical repository - `link `_ * - EUMETSAT FTP - EUMETSAT - Replace with / redirect to canonical repository - `link `_ * - EUMETSAT Data Tailor - EUMETSAT - Use Conda package to install FCIDECOMP - `link `_ * - Embedded in ``hdf5plugin`` - silx project (silx@esrf.fr) - Interact with maintainers to reduce risk of potential conflicts - `link `_ Older versions ~~~~~~~~~~~~~~ .. list-table:: FCIDECOMP source code repositories - v1.0.1 :header-rows: 1 :class: longtable :widths: 15 15 30 40 * - Usage - Contact person / organization - Proposed action - URL * - EUMETSAT FTP - EUMETSAT - Remove / redirect to canonical repository - `link `_ * - EUMETSAT Data Tailor - EUMETSAT - Use Conda package to install FCIDECOMP - `link `_ fcidecomp-2.1.1/documentation/available-software-and-documents/software_references.rst000066400000000000000000000041521473255640600314270ustar00rootroot00000000000000Software references ------------------- This section contains a list of all the references found on the web to the FCIDECOMP software, either as part of other software or in documentation, and more in general of all documentation which needs updates regarding the FCIDECOMP software. Other software ~~~~~~~~~~~~~~ .. list-table:: FCIDECOMP references in other software :header-rows: 1 :class: longtable :widths: 15 15 30 40 * - Usage - Contact person / organization - Proposed action - URL * - FCIDECOMP Conda recipe - Martin Raspaud (martin.raspaud@smhi.se) - Interact with maintainers to inform about the availability of the official EUMETSAT conda package and recipe. - `link `_ Documentation ~~~~~~~~~~~~~ .. list-table:: FCIDECOMP references in external documentation :header-rows: 1 :class: longtable :widths: 15 15 30 40 * - Usage - Contact person / organization - Proposed action - URL * - MTG FCI L1 Product User Guide - EUMETSAT - Interact with documentation maintainers at EUMETSAT to update information related to the FCIDECOMP software - `link `_ * - HDF filters documentation - HDF Group - Interact with site maintainers to update information on the FCIDECOMP software - https://support.hdfgroup.org/services/filters.html * - EUMETSAT Data Tailor documentation - Ben Loveday (EUMETSAT) - Interact with documentation maintainers to add information and instructions on FCIDECOMP plugin installation and usage, in a child of the referenced page - https://eumetsatspace.atlassian.net/wiki/spaces/DSDT/pages/378273985/Installing+or+removing+customisation+plugins * - EUMETSAT Data Tailor news feed - EUMETSAT - Interact with news feed maintainers to communicate publication of the new FCIDECOMP software - https://www.eumetsat.int/data-tailor * - EUMETSAT Data Tailor open-source repository - B-Open Solutions - Update README - https://gitlab.eumetsat.int/open-source/data-tailor/ fcidecomp-2.1.1/documentation/installation-manual/000077500000000000000000000000001473255640600223055ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/installation-manual/Makefile000066400000000000000000000011041473255640600237410ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)fcidecomp-2.1.1/documentation/installation-manual/_static/000077500000000000000000000000001473255640600237335ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/installation-manual/_static/Barlow-Regular.ttf000066400000000000000000003000441473255640600273000ustar00rootroot00000000000000GDEF7╟8м9шЄGPOS<(пд:▄6МGSUB▀▓╨╤qh║OS/2T╬бэ `cmap_4=│ x.cvt Ъ0!ШаfpgmЮ6╥иgasp9рglyf╛╝W·Шhead6▒(6hheaЎ═ Ї$hmtx Lg` Тlocaш╨)√╘Rmaxpё|√┤ nameNZye"8|post(й"Ъ%┤,prepnРF └╓г╝ 1=U@RА~i i Y _O22 2=2<86 1 /%#  +03!254#!"6554676654&#"#'"554632##&54632#Ы■e░-&&0  L=6Lg g_L@'AL¤╚^m╝3=@: Li_;;424#424# +##"##"54#!"##"54##"5543325543323!255433233554#!"3!p / 3 ■┴ 3 / / 3 ? 3 /z■┴?0 ■ 3■═ ю ~ ~~ ~▒uu  ^3">Бщ├▒░├░5+^е╝ @L LBQQBщ ■>_4   °<"LБ`├▒░├░5+^H╝'&@#!L * ьLjk ■═й┼э^n╝)(@%% LА1K(jHRrШM ■╘ N;ЛA2/<GUbR10 C4<0(  6?PG■П=3493?+╝!@_ГЧ▒░░5+  . °╗N"нб┐▒░░5+  . °╗y"нв┐▒░░5+  . °╗1"нг┐▒░░5+  . °╗║"нВв ■ ▒╕ ■░5+  . °╗╝"нБЯ  . °·"нд┤  . H╗╝"н#Л>БЯ  . °╗0"не╢  . °╠Y"нж╢  . °╗:"нз╢  . °╗╔"н|Н  . H╗"нЛ>  . °╗╝"н~  . °╗с"нЗA  . °╗Е"нЬy. F╨CPЗ@&8<LK░&PX@(gaEMaCMaAN@%geaEMaCNY@DDDPDOKGB@53*(#!' +2#"&'&5476&##"554&#"&546332554&#"''&76632327&6554##"3─1; P1G`mat9<0< 6  gMZb! вViBP=1К 6. )HJKW&3;%!  7D\L■ж.└;2N60,-  . °╗"нДf  . °╗║"нЕЪ. °BQ^Т@  <LK░PX@&  g aEM a CN@1  g aEMa CM a CNY@ RRECR^R]YUMKCQEQBA(&&&)%$ +&546332554&#"''&7663276632#!"3276#"&'&"#33254'&&#"6554##"3Тdlbt;=.> 3  gJ;UU4Di ■╟M9[" #cC9We?▐∙ D01BЭUjCN>2DHJT+4?&  7D1'%4K?99 &26I 1@.'(.*++76,-ї96B/-*/P °с╝":zK░PX@ L K@ L KYK░PX@H + и ь I@р5/17!()"6105#**$@ °┘14@1LАaEMaCN10($(( +&'&5476632#"''&&#"3267576#╟g hHIk 2 F22C C21G  1 lIK@,PH2>KJ7  &55,&?B$-53(  :H  @ °┘╝"╞д  @ °┘╝"╞Хp@ F┘No@ 6" LK░&PX@$А~aEMbAN@!А~faENY@LJB@<:20 +%76"#"'&77663267654&'&#&&'&5476632#"''&&#"3267Р 1 ]A31 8P hHIk 2 F22C C21G Х  5F,2  . G7,PH2>KJ7  &55,&?B$-53(  @ °┘╝"╞Бо  @ °┘╞"╞}JA °╤╝":]@  LK░PX@-RS)@Iы¤х6007")(!71/5$**#@ °╨╝EY\@@<5.(LK░PX@-RS)@Ir  B B■+6007")(!71/5$**#A ў╪%4/@,gaEMaCN&&&4&37))&# +#!"32676#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'dAG`gI[b ·A  C36* 7-4&#  07B;0Z*5AN\Tr3+/--5  A ў╪╝"╨а  A ў╪║"╨Вм ■ ▒╕ ■░5+A E╪?Nq╡LK░(PX@&АgaEMbAN@#АgfaENY@@@@N@MGD=;+)!&# +#!"32676#"'&776632654'&#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'S531  7:PgI[b ·A  C36* 7-4&#  *5+2  *,@40Z*5AN\Tr3+/--5  A ў╪╝"╨Бк  A ў"╨д┐  A ?╪╝"╨'ЛM ўБк ▒╕ ў░5+  A ў╪0"╨е┴  A ў╪Y"╨ж┴  A ў╪:"╨з┴  A ў╪╔"╨|Ш  A ў╪╞"╨}F  A ?╪"╨ЛM ў ▒╕ ў░5+  A ў╪╝"╨~(  A ў╪с"╨ЗK  A ў╪б"╨ЖСA F╪@Ov@ 0$LK░&PX@&АgaEMbAN@#АgfaENY@AAAOANHE><*(&# +#!"32676"32772#"&'&5476'&&'&54676632&3!25&'&&#╪ ■╜ H8*@'T76  .3:OgI[b ·A  C36* 7-4&#  *6,) 1,@40Z*5AN\Tr3+/--5  A ў╪║"╨Ее= °╘%4/@,gaEMaCN&&&4&37)&&& +#"&'&5543!25&'&&#"''&766367674#!"3╘gI[b  C H8*@'dAG`ЗA ■¤ C3UZ*5AN\T* 7-4&#  07B;■▒3+/--5> <┌·63@03Li_?MaAN3[%(&  +32#"'&574632654&&#"#"''&54776&##"5543!2╓Vr5GzLEBB?Ym(T>0<эї V ╩ @g?Kj5 +TS/Q1┬ - -ж  > <┌║"уВз ■ ▒╕ ■░5+"9╝,5@2!La ~1; - ■U л - >G! * = 9╧+A┐@+' LK░ PX@ a?MaFMaANK░ PX@ a?Ma=MaANK░PX@ a?MaFMaAN@$?MaEMaFMaANYYY@ (-)'6$0 +332#"'&574626554&#"&'&54676632655654&'&&#"3267И 3 Бq ]T.UAe ^BY.?0/A C01?· ■!ph .IO%╤╝9;@84Li  P╤|"ьВл└▒░└░5+  P╤m"ьБ┤▒▒░▒░5+H╕╞ LK░2PX@a45? 3 3 E*4JP3ZN■▒ A7A@6■╜ A7A@6■╜ ц (*())P╤!L╡LK░"PX@a?M=N@?MaEM=NY@ ! 34$4 +##"54&#"##"54332763r_ 3 C57D 3 3 ,[^O■╢ <7FD7■┬ ц +>  P╤╝" е  P╤╝" ХqP S╙-[@$ LK░"PX@ea?M=N@e?MaEM=NY@ &34(#$ +%3"5543655'&54&#"##"543327632╥GU UC57D 3 3 +[P_╬╓RQ ' b<7FD7■┬ ц +>^OВ  P╤║" Ек? °с',@)aEMaCN'&( +&'&5476632#667654'&&#"3╔hhJGggH0D  E11D  E2JA.MM-@JJ?+PQ*AJ>5-$AB#-55-#BB#-5  ? °с╝"в  ? °с▓"Гд▒░░5+  ? °с╝"Бм  ? °"д┴  ? Hс╝"#ЛKБм  ? °с0"е├  ? °сY"ж├  ? °с:"з├  ? °с╔"|Щ  ? Hс"ЛK  ? °с╝"~*  ? °сс"ЗM? °сK#71@.LЕaEMaCN(.7(% +#"&'&54766323667433254'&&#"3267сgHHhhJ!'  39 E11D  E20D NPQ*AJJA.MM-@J$ 0$@╜AB#-55-#BB#-55-  ? °с╝"в  ? HсK"ЛK  ? °с╝"~*  ? °сс"ЗM  ? °с╛"ЕЪ▒░░5+  ? °с╝"А▄  ? °сЕ"ЬЖ6 р█ +;K4@1DA0'LaEMaCNIG53% +#"'&''&776'&'&5476632776276'&#"$54'&'&3267█ gHE1 $&  hJ=. $# ■╛┴ '1D  ╞"/0E MOP+AJ!/ 7.MP*@J/ 3&щ5-!DD!FH■▌5-  6 р█╝"$Я  ? °с║"Ез@ °6JYJ@G! Lg aEM aCNKKKYKXROHF><65&&*&) +$676#"&'&#"&'&&5467663276632#!"3&54'&&#"32673325&'&&#ИC !^>7VW4FefF4VU3Gh ■─ F6╪ B0/A  A/0B вA · C05)" 19.)(/K?8,.7>K/((/M=88 9.5|ML,66,KI,66,,6,46,6W >ш":]@  LK░PX@a?MaCMAN@?MaEMaCMANY@ **'37% +#"&'&##"5433276632654&'&&#"3267ш _H'B 3 3 A(F_D  =*(6  7&(; LOP,@Iы и * H>ч71/5$**#6007")(!P 8▄╝#>3@05 L  >/0Dd:./4?L$ ∙ p ЄCJ;╫&12&*63'┴)56*A >╤":^@ " LK░PX@a?MaCMAN@?MaEMaCMANY@ *.('30 +332##"554&#"&'&5476632655654&'&&#"3267К 3 3 B'G` _F(A  6(*=  :(&7 · ¤X ыI@)SR->H *■ж7006#**$5/17!()"P] L╡LK░.PX@a?M=N@?MaEM=NY@ 34 +'&###"543327663=   4D 3 3 A+   1 I8■┘ ц =%)  P]╝"+n  P]╝"+Х:8 √░ 66@3А~aEMaFN65$5,$5 +&&55433232654&&'.54632##"554&#"#╛W/ 0 E44@!-/8H1dR7U. / A73> DCLE<; ::@D>;J 3 Ї]jeV5K\?]h ) JDBJ % >7■ $  3|,+@(Еa?Ma=NB4#C!5  +##"332##"&54##"5543325543323323 q+. HJ= = 1 q ┐■┘0' ) 6I= ' t t '$  3|D<@9 Еi a  ?Ma=NB><953C#C!5#C +##"332##"332##"&554##"554332554##"5543325543323323 qn n+. HJ7 7= = 1 q ┐[  Х0' ) 6Iл  [ ' t t '  $  l╝"4ЙrH ∙╔·"D╡ LK░"PX@?Ma=N@?M=MaCNY╖$5&30 +332##"554&#"&&543323265В 3 3 *[0Q/ 3 @79C· ■ +>'J4R ■├9CD8=  H ∙╔╝"7г  H ∙╔▓"7Ге▒░░5+  H ∙╔║"7В░ ■ ▒╕ ■░5+  H ∙╔╝"7Бн  H ∙╔╔"7|Ы  H H╔·"7ЛE  H ∙╔╝"7~+  H ∙╔с"7ЗOH ∙(K-a@* LK░"PX@Е?Ma=N@Е?M=MaCNY@-+4$5&8 +##"554&#"&&543323265433267433(2& 3 *[0Q/ 3 @79C / K +7 ■: +>'J4R ■├9CD8= $#   H ∙(╝"@г  H H(K"@ЛE  H ∙(╝"@~+  H ∙(с"@ЗO  H ∙(║"@Еи  H ∙╔╝"7А▌  H ∙╔Е"7ЬЗ= 9╧╕ 9Oї@95#LK░ PX@-А'J4R ■├9CD8= ■ +'  H ∙╔"7Дt  H ∙╔║"7Еи ╛·!@ L?M=N74 +2''433227632##╚д 9 }} 9 д :ч■xИ ■▓·+!@$ L?M=N(%'74 +2''433227633227632##"'&"##▒О 4 jl 0 mm 4Р5mj6ч ■vК ■vЙ ■v■К  ▓╝"S№  ▓╝"SБ  ▓╔"S|є  ▓╝"S~Д├·, @%L?M=N(() +2&776''&543322776332##"''&"##зз 6ГВ;зз7ВД9юю╜╜юю╜╜ 8╢·"(@% L?MaAN" 783 +55433>76''4332276332##2 '+й 5 ВА 4 ╣*?9╚ ( 9:ь■lФ ¤хC@   8╢└"Y|▒░░5+   8╢└"YБЖ▒░░5+   8╢═"Y|t▒░░5+   8╢·"YЛП   8╢└"Y~▒░░5+   8╢х"YЗ(▒░░5+   8╢╛"YЕБ▒░░5+"Щ·/@,L_?M_=NU3U +255476&#!"5543!23!2#!"■Ё _ ■с ■Э 0n - 0■Т -   "Щ╝"ar  "Щ╝"aХ>  "Щ╞"a}  "╞"хЁd  "√╝"хd  ^ °ц╝"AL"d╞ 7coт╢c*LK░PX@5 a 6Lg g_(Ma)N311:3:5$23C#C +#!"332##"3!2#!"554##"##"&763!233254"я ■р└ └ ■Ю ╠4 90 Ж ¤╫лм╣ * ╜ * ^b. +■Ъ?■┴L▀A -/@,g_(M_)N!!!-!*%$G36+##"54332&332654&##654&##"33~-/eS╤ ╠UaUЁП1;;1П┼<=2ТХ*F1KR - OKX#╓╡4)+5■=7..8├: °╙H&<@9 LА~a*Ma+N&%4%$4%+&554632#"554&#"32655432#кpp]\p3 M@9EJ<<2ш3;■DLA3=@: Li_(M_)N1-*(%!#5 +##"54##"554332554334&##"332##"33265нhgW╦ ( ( ╦w?5Н^ ^О4?AYJ√KX   Ё н3;╖  ╦<2  L▀"~ВлI▒░I░5+  LAL╘@#)@&g_(M_)N33C#C +#!"332##"3!2#!"543!2╘ ■═╒ ╒3 ■М t ╣ * ╜ * , *  L╘"Вк]▒░]░5+  L╘"ВВ╖Z▒░Z░5+L N╘@?4@1ge_(M_)N3D()#C#C +#!"332##"3!2##"#"'&776632654'&##"543!2╘ ■═╒ ╒3 к11 6Л t ╣ * ╜ * +2   ), , *  L╘"ВБ┤]▒░]░5+  L╘&"В|в]▒░]░5+  L╘#"В}Q]▒░]░5+  L╘"В~3]▒░]░5+  L╘■"ВЖЫ]▒░]░5+L N╘@@:@7'Lge_(M_)N3V)&#C#C +#!"332##"3!2##"32772#"&'&5476&##"543!2╘ ■═╒ ╒3 п6  /1Е t ╣ * ╜ * ,) 0* , *L╙A#@ g_(M)N34#C +#!"332##"##"543!2╙ ■╬╘ ╘ 3 s ╣ * ї - +@ ∙ЁH-8@5Аga*Ma+N-,3C%$4%+&554632##"554&#"326554##"554332#╢vvdau 2 NBDPPDCM| ╝ uama│aml^ CILF▓EJJE ) T`n  @ ∙Ё"НГЮO▒░O░5+  @ ∙Ё"Н}BN▒░N░5+LфA#!@g(M)N234230+332##"554#!"##"543323!255Э 3 3 ■■ 3 3 A ¤╙ її - ЄЄ ё@A;G;@8   g  g(M)NGDA>;8424#B424# +##"##"554#!"##"54##"5543325543323!255433233554#!"3!@ N 3 ■■ 3 M M 3  3 NЩ■■╫ ■k її Х \ \\ \ЦZZLУ@ @(M)N 3+254332##L 3 3 , ¤╘   D┼"ТL▒░L░5+   Ёы"ТБL▒░L░5+   т¤"Т|¤L▒░L░5+  7з"Т}лL▒░L░5+   У"Т~НL▒░L░5+  L ∙ЕA"ТЫ▀   щЎэ"ТЖЎL▒░L░5+   Fй"Т#Ол}лL▒░L░5+ ∙жA(@%А(Ma+N4$4+&55433232654332#Дm 3 F::G 3 nZjX  * к;W6 ■з┬лLA)(@%% LА(M)N#8'30+332##"54&##"''&##"54332277╘4 3 ВГ 3 4ЪЩA ¤╙ ╜╞╟■B - ыыLЎ@@ L(M)N#8#0+332##"'&##"5433265п 3 5■ь 3 5@ ¤╘ │■Q , ■Mп  LЎ "г┤P▒░P░5+  LЎ "гВ┴N▒░N░5+L xЎ@-3@0)&"Le(M)N-+#:#&+'"55432674'&##"54332655655433ЎBR *#■ъ 3 5 3@ ¤╤H> ) #&╢■Q , ■P6m   LЎ "гЕ╣P▒░P░5+: ∙рH,@)a*Ma+N %+&554632#66554&#"3нss`?_5t_?MM?@LL@r`к`s4_@к`r=ODнDOODнDO  : ∙р "игN▒░N░5+  : ∙р "иБнN▒░N░5+  : ∙р"и|ЫN▒░N░5+  : ∙р "и~+N▒░N░5+  : ∙р "иА▌N▒░N░5+  : ∙ря"иЖФN▒░N░5+0 щьW'5C5@2 ;7-) La*Ma+N@>20)+#"'&''&776'&5546327766276'&#"$'&&32655ь&t_K5%% s`J6&■Э▌$7@L▄#8?M492Fк`r$.82Gк`s%.■wMODн╟■▓ODн  : ∙р"иЕиN▒░N░5+: ∙цH8F▐K░PX@ 2/LK░"PX@ 2/ L@ 2/ LYYK░PX@"ga*M a)NK░"PX@,ga*Ma)M  a)N@2ga*M_(M_)M  a+NYY@999F9E(6''3C#C +#!"332##"3!2#!"554&#"&&55466325543!26554&#"3ц ■э╡ ╡ ■м G)3R//R3)H T ■RFF:8EE8╣ * ╜ * #0W8╨8W1$ +■*F9╘:FF:╘9FF▌B0@-g_(M)N4$+##"##"5433654&##"33~_`NЮ 3 т*;;/ЬЬB[JIZь . ■Є9./:╚F╔A%4@1gg(M)N%"34$+##"##"5433233654&##"33l]_NЛ 3 3 Н,88-ММ├ZJIXp - p■ї8..9┼0 е┴H&+@(Lea*N$":+##"554'&&554634&#"3265SnVJ 3 KWn[БG:;GG;:GHo]╝Pi H H hQ╝]o╚?JJ?┐?KK?LсB,3@0Lg_(M)N,*&"342+ ''&##"##"54332##332654&##ЪzВ 3 ▌L\@6~6■ЁХ/::/Хїё . ZI;R Ї─8-.9  Lс"╡ФG▒░G░5+  Lс"╡ВбE▒░E░5+. ∙╠H46@3А~a*Ma+N43$4+$4+&55433232654&'.54632##"554&#"#Эo 1 LE>BBQEG.f]ak 2 GC:?19EP3lbSJ -82+%2 ";/IPWK -9-+#(?0IU  . ∙╠ "╕ОN▒░N░5+  . ∙╠"╕ВЪL▒░L░5+. G╠HO;@8LА~~fa*N$4+$<(*+$"#"'&776632654&'&#&&55433232654&'.54632##"554&#"╠[T30  T] 1 LE>BBQEG.f]ak 2 GC:?19EP3UT+2  .RC -82+%2 ";/IPWK -9-+#(?0"╠A!@_(M)NB4#+##"##"54##"5543!╠ ж 3 б ЦA + ■ Ї + "╠A/)@&g_(M)N3C#B4#C +##"332##"##"54##"554332554##"5543!2╠ жq q 3 j jб Ц Р  ■╙ -  Р + +  "╠"╝ВЧE▒░E░5+  " B╠A"╝М[E ∙у@!@(Ma+N4$4+&5433232654332#╖r 3 J?=J 3 q]m[u ■К?JJ?v ■Л[m  E ∙у "└лP▒░P░5+  E ∙у "└Б╡P▒░P░5+  E ∙у"└|вP▒░P░5+  E ∙у "└~3P▒░P░5+  E ∙у "└АхP▒░P░5+  E ∙уё"└ЖЬP▒░P░5+E Nу@6,@)# LАf(N$=)-0+332"32772#"&'&5476'&&543323265Ь 3 eT. 1,N[ 3 J?=J@ ■ЛVk'' ,+ iQu ■К?JJ?v  E ∙уk"└Д{P▒░P░5+ тA!@ L(M)N74+2''4332276332##┌╢ 6 УУ 4 ╕ 8.■-╙ ¤╥▄A+!@$ L(M)N'5'74+2''4332276332276332##"'&"##├а 6 vq 7 tx 3Ь 3 ws 1. ■H╕ ■H╕ ¤╥ ╡■K   ▄"╩G▒░G░5+  ▄"╩БG▒░G░5+  ▄"╩| G▒░G░5+  ▄"╩~ЪG▒░G░5+"тA) @" L(M)N()((+2&76''43322776332##"''&"##&╡╡ 7РР7╡╡ 7РР7сс■ю■я▀▀"╥A#@  L(M)N'8+6554'&543322776332##╒░ 6 ЙЙ 7▓ 3 ш=№№■├ш   "╥"╨ПF▒░F░5+  "╥"╨БШF▒░F░5+  "╥"╨|ЖF▒░F░5+  "╥"╨~F▒░F░5+$мA/@,L_(M_)NU3U+255476&#!"5543!23!2#!$2■╫ t ■╬) ■М 0╢ + 0■I *   $м"╒|R▒░R░5+  $м "╒ВИP▒░P░5+  $м"╒}"R▒░R░5+°#─&3?Y@VLKАi g iW_O''=:74'3'2.*&%&4)% +2554&#"''&76632##"554&#"&54636554##"3332##"55ъ)()  C0:C  D1>J?9F,4(!v ° ° 4#*  #,=2┌ '/.2:д(#0"!d  °=─'3@@=iiW_O(((3(1.+'&( +&'&5476632#667654'&&#"35543!2#!БA B/-A A-))(*П  ■ўo0+11*00*35*1+"/.!!++!в " "  ^╝0@- LM_N&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤шH9─=/@,%LaM_N=;+3W*#+25543326'&&5546632332##"5547>554&#"##H S(-;lGGm;-)T ╗ 6!\LK\!6 ║ * Y9ьEi::iEь9Y * ,-F+°L\\L°+F-,   P 8╨·d'_·+%@"_MaN3B44#& +##"2#"&&54##"##"54##"5543!2_ I  ):%э 3 P $ ╜■р%& ) 54?■Q п ) )G Ўю┼ ,@)aJ>C=JJ=■╜>J:╝@ L * *(Ф\wB5@A5 (M^.Q3Ux?й2 °┬╝;:@736LА~_0 ,3P!1<&H #╬ * 1└^1ъ╝.7@4+LjD@A5 LА~i_ E>&:@D>(68Ra^M 3@C7У<83Я-4%*+&2,&.+)$├╝O@  LK░PX@r_ 68#749 °╚├(<>@;LАia-+> <,6■╚Ra_L 3@C7Т;83*H=':@E=√+&4+&.+)03$+> Ў╨┼ ,@)aJ>C=JJ=■╜=KRu╝@ L 0 E7╪─+8@5 LАa * *7ЛUwC5@A5 (M^.Q3TyFА<4 °╦╝?:@769LА~_1 (,3('',<'#$ #╬ * 1└4-)┌╝.7@4+LjD ∙█─(<7@4 KАiaGG=$89Qa^M 3@C8Х"БЖ+/(33**'(5/.2ю╝O@  LK░PX@r_ °╤╞&:L\╢"LK░2PX@ia@;LАiaБ@<>GG=∙3*.+(5///.)3  °$з *@'iaCN % +&554632#66554&#"3fFF;;HH;%++%#,,#D9╖8CC8╖9D-)#╜#*+"╜"*Лд"@ LАa=N%3! +332##"54##"55477W#  2 3д ■p f  #&й)2@/LАi_=N)'F$4+ +25547677654&#"##"556632332##$,H9)! (  E48D6?:░ ю 3WD'$$ /9>/2GQA  % ∙в<j@58LK░ PX@!r~gaCN@"А~gaCNY@ 3Z&%5% +$#"&'&'4332327654'&#"#"''&4776&##"5543329'*=   %+ * eа ▄ Z8о.)!,&  #!'#p  i1.д.7@4+LЕja=N..4D&B4# +$##"##"554##"55477633233255433233.   п u p{  Я  c c  ЇX X  °б:B@?3 LА~giaCN!&%6% +$#"&'&'54332327654'&#"##"554332##"7632 :(+=  $- ,%" ╥ ж.$5з($!#+%  '& с  А" % °ж';6@3LАiiaCN(('#4'% +$#"&'&554632##"54&#"763254'&&#"3267 @+*< B82A  % '.'< ,$$%#г$!$,,$$╖3<:. $&"K+#N  дK@  LK░PX@rg=N@Аg=NY╢&34C +2&76&##"##"554332##PЕХ  ъ Ж"g! G ■Ц  °з'=Q7@4='LiiaCNOMEC97-+) +6#"&'&547676'&'&5476632&326765654'&&#"54'&&#"3267с  >,*=   ;*+=  У#%%#С&#$%▄!#*)$#"#%!P  ╥  °ж(>6@3LАiiaCN*(('$4$ +#"&554332326554&#"&'&547663254'&&#"3267B82A  %!'.'<  ?+*< ,%"%#B$╖4;9/ $&!L+##%#-,$P   $─є ▒╕░5+  Л╝Ї ▒╕░5+  #&─ї ▒╕░5+  %┬Ў ▒╕ ░5+  .╝ў ▒╕░5+   ╗° ▒╕░5+  %─∙ ▒╕░5+    ╝· ▒╕░5+   ─√ ▒╕░5+  ─№ ▒╕░5+  ║Л^Ї║ ▒╕║░5+  #║&cї║ ▒╕║░5+  %│\Ў║ ▒╕║░5+  ║.^ў║ ▒╕║░5+   ▓[°║ ▒╕║░5+  %▓`∙║ ▒╕║░5+   ║ ^·║ ▒╕║░5+   ▓a√║ ▒╕║░5+  ▓`№║ ▒╕║░5+ Йl╝ @54&#"#'"554632##&54632#░*+"@56A 3 jVTf(!"" 4  ╚ ;+6"!.2=>2  Ob`P,@((7 ╞  * /еЄ 3mK░2PX@&А~a?MbAN@#А~fa?NY@ 3 1&$  $ +#"&546332655432#"&546676655433 #+*!?56B 3 jVUf(!"" 4Є  ╞ ;+7! .2=>2  Ob`P,@((7   2▐вN р▄▒░▄░5+'Ч~ @YaQ $ +6&54632#kDD0/DD/ЧE/0CC0/E ЙmыC*@'=1$LYaQCA" +574#"''&547764''&&77665'433277632''&##пo nn o  o oo o Й z@==@z z@==@z HKдWcнK░PX@'  Еg _  ?M=NK░"PX@'  ЕЖg _  ?N@.  ЕЖ   hW_OYY@c`]ZUQMKGD@>:8C#D$4$#C  +##"332##"#'"&774##"#'"&774##"574332574##"5543325763233257632332574##"33J LC  K 3Я 3@  I? I 3Ю 3C ║ЯЯнЯ * л зл з * Я + л зл з +▒ЯЯG╝ @ +%76"##"574'&&'&54766765'43323#"''&&#"3267Р 1 ]@ , 8M N7 , A\ 2 F22C C21G я  5EG I G5,PH24F I FG2  &55,&?B$-53(IЇEU=@:71)A$L.J Iea?NRPJH64 +$#"''&#"'&''&776'&5476''&547763276327766326654&&#"╚$A >2@=1; ='$@=2AA5A E!■░%?%%>&&?$%?%ю1A>$!;<3B@2@=$(AD1=$>%$>%%?%%?%5 г°KB@?1( LА~iYaQA?;8/,$96 +$"##"574#&&55433232654&&'.546725'43323##"554&#"°cY , [f - [PHL#HCHM1^S + Xd / VLCH#ADEU3db H H cM :GA6#2,-G6M[N O dN :J:7$/#4K6H ў:─VS@P-LА g   ga_3F FF Fr^Up 3I8>KЄ  ц╨  ─K>6>4  KZ2\D└ └-> * ,@*u ' Н\hE@ ,)DAО ' sO+J  <╝W7@4NA>2) QLА~7ї 3 >uP52 bpbp 3 КШКШDe8 ?mH  +;╙ ╛'*;'*■°6W4^Ч╜8E=@:  gg _#C#B4#C#S +332##"332##"##"554##"554332554##"5543326'&5433227633M╛u ЖЖ Ж 3 Л ЛЛ z╛ 6 ий6╝■и  R  У У  R  X■╧1'├к @YaQ $+6&54632#kDD0/DD/├E/0CC0/E!├╝ @Еv%$+2&76332##%^ -■г .й¤W'j═#MK░PX@gaEN@YgaQY@# 4#B4# +##"##"554##"55433255433233═ ж * ж ж * жX * в в * к к'═X @W_O 3+5543!2#!' Т ■n * * +Ш{ш+│!2+"''&"''&4776''&477627762{ussuvxxv┬ussuvxxv'{═ #@@=igYaQ #"   $ +&54632#5543!2#!&54632#у ╥ Т ■n▓ ╕С ) ) м  '╡═─&OlOЫ▒░l░5+▒╕ Ы░5+'_═3AK░ PX@)pq hW_OK░ PX@/pqX hg_OK░ PX@)pq hW_OK░PX@(Еq hW_O@'ЕЖ hW_OYYYY@?:$#S#T$#S +##"332##"##"&776&##"554332776&##"554332776332332═ ХC┘ °' $b БC┼ ф- *v НМ ) SL ) М ) _X )'.═я│2+7"5547%6'%&5546/Q■пУ■m. 1ШШ1╝0╝'-═ю│ 2+$'%&5547%72═■mУ■пQ2╝0╝ 1ШШ1  '═6'O■цTG▒╕■ц░5+▒░G░5+'═6" @ JW_O +$'%&5547%72#!"5543!2═■mУ■пQ ■n Т y╝0╜ 2ШШ1~ ) )  '═7&N'O■ц▒░'░5+▒╕■ц░5+  'Т╬ц'[Д[л▒░Д░5+▒╕ л░5+'в═X>K░ PX@qW_O@ЖW_OY╡B30 +3!2##"554#!"55' Т + ■з X в j *'ч╬b"0▒dD@%YiaQ"!%)$ +▒D$&'&&#"''&7663232676#;*#1@(%#$ 9%ч )")  !'*3Ч╝!▒dD@LЕv(&$ +▒D&76332##"'&"##.Т/У*vv*3u■Л4■╠'а╣▐-;J@G6" Li  Y  aQ.. .;.:42 - ,(&&&& +#"&'&#"&&5466327663676'&&#"3 654&#"3HH))I05O&%M2+G*)I-4K#*Q0■╧:""6'-89)Г98,(?%"<*▐*I-,H*5418*J,,H*6252■√314.9,,;9,-:1230" 8t╝(@%iYaQ3&3+5'433265>72##"# 7( ON  7)!NN╚ * 1;4FE * 1;¤╠FE  H9─▄ ^╝6@3 LЕW_O&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤ш^ 81 '@$ЖW_O423+##"54#!"##"543!1 3 ■├ 3 ┐ №, Ь№d ╘ ^ 9*┘%2@/LgW_O%#W#<+55476'&5543!2#!"3!2#!^Ёю ╖ ■ОЁёs ■H╟ ,пd- * ■Я■T )   8С*@' LЖW_O#?+''4?2276332##"##еБ/_ш ╬ Ьў 6╚b■∙\ ) №k P 8╨·)V@ " LK░"PX@?Ma=MAN@?M=MaCMANY@ $36&30 +332##"554&#"'&##"543323265Й 3 3 *Z8, 3 3 ?29C· ■ +>═ о ■░18D8=@ °¤├#2A@>&LiiYaQ$$$2$1(*'%$+#"&5466325&'&#"#"/47632674'&&#"3┘$gЖ^r:b;,N 1,O219Dr>ONN0+F)N?;ШSУ┼udDf6 ДE>,%S¤╞ql(4(I0FW^ ўЇ┼)9EТK░PX@+  i ja*9*820)($"& +&&546632#&76332##654&#"3&&546632#6654&#"3╟B''B''B&&B'{ ■Ж !?77((88(QB''B'&B&&A'(78')88)й&A''A&&A''A&■Wй¤W╫8((87)(8■ &B'&A&&A&'B&.8)(77()8    °Z─"¤#(#є°є6' ╥─ъ@LЕv'&+'&76332##6276'&"┘мн%он'ЗЗЗЗ.}}■Г■ГM::■╞■╞? г√iWoпK░.PX@ *  JEL@ *  JELYK░.PX@, i  i iYaQ@3  А i  i iYaQY@mk`^WV-&'('*&' +#"&'&#"&'&54767663225763323267654&&#"3267632#"&&54663676'&&#"3267!НM ZD#57 6D J., &*; BuLVЩ_*Xv1*6>&B)'0¤│##*!a'L005$ 8х╝*@'L_╝ №Р A№┐ ┤=d=?g;4 1О├L]Z@WCLА~ ~~a+,6 )@:(H3-H)Y,(.&!'-H °─Fh▒dD@]А~ii   i Y b R  F EB?;942.+'%& +▒D&&546632#>54&&#"3&&554632#'"554&#"326554372#Kе^^еggж]]жgXНPPНXYНOOНY1<<22<  %$$%  =1]дeeд]]дeeд]3PМVWНPPНWVМPА8/Щ/76-  !!в!!  -7Dж╩>Kд▒dD@ A/$LK░ PX@2Аp ii Y bR@3А~ ii Y bRY@KIED<963)'& +▒D#"&&546636654&&#"36##"''&##"##"554332&332654&##Z44Z66[45Z6,I**I,,I**I,?   5T  ╩4Y56Z44Z65Y4■Я*I,+H**H+,I*▓?@= Я - ]b╝AE@B=-#LАДY_ O:852*(!4#3 +554332##"##"54##$332##"54&##"''&##"54332277 ч \  W  EE  RSХ   ■╓ *' ■╡ hh■№ K }}ч`(8▒dD@-iYaQ& +▒D&&546632#6654&#"3ТJ++J,-J++J-/@@/.AA.ч+I-,J**J,-J*2@//@A./@хК╝ @Ж<N%$ +##"&77633ЕK&< 5╝├─х'╝ $@!Ж<N   # +##"&776332##"&77633бF #83СG #93╝ ── ──/ ░v° @Еv 3 +54332##/ 3 3P 4 №╠ / ░v° /@,iYaQ   3 +54332##54332##/ 3 3 3 3О V ■к ■" V ■к ' 8Д╝#'@$g6@33,LiYaQ<:21'%++$67632#"&5'4&#"''&5476765'&6632376654&#"E,A'@H% !&E-2Ak`++WDL!&4/ RIb║3_;K8LГHЙ85?7d5#0YH' 8Д╝;0@- ggFE=  яЙ╝8яЙ╝▒dD@Еv$2 +▒D54332##"''5 ; &J▓║╣И ╗ &▒dD@W_O 3 +▒D554332## ∙ ∙И     ■хY╔&}} Y▒░░5+▒░░5+ МV №╞ &▒dD@YaQ $ +▒D&54632#U V   А<  ╝▒dD@Еv6" +▒D##"''&54332 $D- <Dmm ?< └╝ ▒dD@Еv%$ +▒D&776332##╜< -D$<mm■╛< ▀╝ ▒dD@Еv%%%$ +▒D&776332##2&776332##■┬8 .< *Ю; +=(<mmmm■с> ▄╝!▒dD@LЕv''4 +▒D&776332##"''&"##■хP : Q( <= (>llRR  ■у> ▐╝Х■┐■эD у▒5▒dD@*LЕYaQ3#4 +▒D&'5433232676332#╩D  *+  F2D9* "! +9 ,C 8▒dD@-iYaQ   $ +▒D&54632#6654&#"3Х?@..??.''''C>.-??-.>+%&&%■╓[║!0▒dD@%YiaQ! &($ +▒D&'&&#"''&76323276#o  !5!/[   1   ■єmб &▒dD@W_O 3 +▒D554332##■є ∙ ∙m ■e% с! ▒dD@YaQ)* +▒D&76676654&#"''&76632''■▓ & %/ +  *" _< ▀╝ ▒dD@Еv%$ +▒D##"&77633&; -D#╝mm   y< ·╝: p╨ яK%▒dD@LЕv8 +▒D55476674332Р (  C-╨  $ 1: Н H ў ▓ &▒dD@YaQ $ +▒D&54632#U╕   X B ┘ ┬У 8¤ ▒╕¤░5+ u FO▒dD╖ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"'Л 2<1▓ &-/7  t F ■S▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772 /;2 м 4/+' ■├=l ▒dD@W_O30 +▒D3!2#!"55■├ ) ■╫ l  ¤▒7 &▒dD@W_O 3 +▒D5543!2#!¤▒ ; ¤┼   ■U$;в│ 2+$#"''&547632■{╗■F$N■▓■V ┘ №щ ▒dD@Еv%$ +▒D&76332##■Zj %■Х $'¤¤   <б╝с2б5▒dD@*LЕYaQ3#3 +▒D&'433232676332#gE  ))  F229, !! ,:$>╝!▒dD@LЕv5'$ +▒D5463322776332##"''$( =< (Q : P▓RRll FМN▒dD╢ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"' 2;1▓ '+05   ">╝БA  Y8╔|8  VН╞}С  #<в╝~г DJ─ ▒dD@Еv%%%$ +▒D&776332##2&776332##%; -D#г; -D$DmmmmR Е &▒dD@W_O 3 +▒D554332## ∙ ∙R    FКS▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772К /;3 м 4/+'   C°Дё  [G║ЕG  ¤╞D■╝M#Г■┘■уС▒░С░5+  ¤╞D■╝M#Г■┘~■^С▒░С░5+  ¤╞D■╝x#Г■┘З ВЧ▒░Ч░5+¤╗D■╓0!8y╢5$LK░,PX@ ii e<N@+АiiYa QY@"""8"741.,)&! &(# +'&&#"''&763232676#&'5433232676332#■b  5  ,pE  *+  F2╓  /   Т9* "! +9  ¤╠> F#Б■ыЖL▒░L░5+  ¤╩>■я0#Б■щ~■Ёt▒░t░5+  ¤╩> Y#Б■щЗ x▒░x░5+  ¤║>■ф:#Б■щЕ■фА▒░А░5+иpЭ(TНГ}}}}╬▀Ё'8IZk|Св│─╒сЄ 1B▒gxЙ%6GЖч°EVgЁ'8IZk|ИЩк╗M^ЩЇ'hсЄ  $ 5 F W c t Е Ц в │ я O z Л Ч г  Q Т г ┤   Y j { М б ▓ ├ ╘ х ё   $ 5 A R c t Е Ц.·AРр9J[╜╬▀ДХ¤0Р╔┌ы№ *;L]izЛЬн╛8IZСхЎ)}┐╨сЄ■ 1xЙЪл╜╔╒сэ  ПЫж╖╠▌ю )9EQ]iuБНШIUa-╛".9уя√~.:цMYk".DP\htАТЮк╢ d p ╪!=!O!б"_"j"|"И"Ф#Х#█$@$Q$b$н$╬$┌$ы$ў%%%%'%3%?%J%Z%f%╛%щ%ї&C&T&u&Ж&Т&Ю&░&■'v'╠'╪'у(N(Z(н(╣(╩(╓(т(Є(■) ))").):)F)▒)╜)╔)╒)с)Є)■* *Ъ*ж*▓+Y+█,M,╤-(-4-?-в-о-╣.[.g.╔//Д/Р/у/я0000*060B0N0╛0╩0╓0т0ю0·111■2 22"2Щ2л2╝3f3r3~3╡4 44"4.4:4М4╒4ц4ў555%565G5О5Ъ5е5▒5╜5╔5╒6╬7Z8╢9>9О9Я9░9┴9╥9у9Ї:::":3:в:∙;K;\;m;ч;°<6<Х<ж<о<Є===Б=Т=г=┤=┼=╓>F>А>╓>ч>°?7?к?╦?▄?э?■@@ @,@=@R@Л@┘AAAZAfA├BBSBdBuB╤BтC#C4CECVCgCxCЙD DDщE.E{E╚FF0FAFбF▓F├GKG~G═G▐GъH H1HBHSHdHuHЖHщH·I1IЕIЦIзI╕I╔JJYJjJ{JМJЭJфJїKKKШLLLL│L╗MMHMzM╙NDNЭOOЗO┘PvPъQ+Q[Q┤R+RДR·SjS╝T[T╬U U>UРVVpV▀WMWЬX.XаXпX╛X═X▄XыX·Y YY'Y6YEYTYcYrYБYРYЯYоY╜YтYЄZZZ"Z2ZBZRZaZЗZЮZ▌Zэ[([А[х\c\q\Ц] ]с^^(^X^И^р_8_m_Я_├_╦_я```B`J`Y`Т`╦`эaadapaеa┌bb1b>boboccеd'd╜eereчfyfэgggМg░hh'hph─h┘i│i▌jjjdjzjРj╩kkTk╘lllflЭlяm3mЧnn│n╟o pp╡pўqеr8rёsis▒s╒tt1tmtоu%uГuєu√v!vHv]vЖvнv╘wwJwSwТw╘x#xKxТx╣x┴xЁyy(yy╪y■z'zNzwzАz╛zў{M{V{_{h{q{н{╘|-|6|?|Q|c|u}}})}:}Lhr=┼h║_<їш╪№Ч╪┐¤▒ /Z<г╚╚_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!Щ$s^_H_H_H_H_H_Hj^л^j^л^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^8^eHeHeHeHО^О!О^^V ЇIM( №ы$ ЄAAc^8^8V8^8^W ъ╦^д^д^д^д^д^nHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHn2nHШHPW7W@:d^d^d^H4H4H4H4H4KA9+9+9+ИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVM#nААААM%7%7%7%7%7%7%7%7%%-%-%-%-eHc^д^d^9+H49+ .■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.@."P@@@@@@"A@"A"AAAAAAAAAAAAAAAAAAA=>>d"=====/=PPP H╘F╘?╘ я╘ ы╘ ▌╘2 H╘╘ьH╘ фH╘ █ї ▌ё ▌ё ▌їPїPцPцIiPц QV;PPPPPP!?????????????????????66?Z@(WP(AlPlPlPс8ф8ф8ф8ф8-Pl$l$l$HHHHHHHHHHHHHHHHH=їPPl l$ф8l$HHH█ ╤╤╤╤╤▌════════╜"╜"╜"╜"d"J"D^л"Ч" =ЇH L:::::LGLLGLLLLLLLLLLLфL)@@@,L, ё▀L▀D▀ Ё▀ т▀7▀ ╤L▀ щ▀Є LцLцDцLцL√dLBLBLBLBLBL:::::::0::√FцFё0LLL°.°.°.°.я"я"я"я"(E(E(E(E(E(E(E(E(E №№№№№"Ї"Ї"Ї"Ї"Ї"╫$╫$╫$╫$D] ~ БH"PЖ'5G^:92'1BA┘$ ; 9>R74)DD2>;> ╕F#B%Q. 7% : 7> ╕F#B%Q. 7% : 7╕F#B%Q. 7% : 7ы Й&Е%{%R  RBSq7`R?f?f═(═*╥25'Н УHРРK √U. . | |ЖК'К'┬'н'К'фXB  ММVdkAЙdДн'~_╚@ /5|H#"Й^^^}J╗^░c5'!Ї'Ї'ж+Ї'Ї'Ї'Ї'Ї'Ї'Ї'Ї'ї'Ї'ї'┬*р'Я"БH~ Н^d^с "PN@P^t ъ';?Т4A$┼4eH├Т}XDж/ж/л'ЇSл'kHММ ■х М А ?■╛■с■у■э ,■╓■є■e _ y p Н X u t■├¤▒■U■V├ 1A$М"Uк├#k  Мc¤╞¤╞¤╞¤╗¤╠¤╩¤╩¤║ш 8t¤▒ ZбРКXKКX^2/ TRBY└√ш 8X∙ У·╝ дА$ /9~+17>HM~ПТб░╬╘хчщя )7YТ╝╟╔▌ #(8Фй╝└Е∙     " & 0 3 : D y г м ║ ╜!!"!&!.!^""""""""+"H"`"e%╩'щ√   0:а-39@JOПТап═╘хчщя (7YТ╗╞╔╪#&5Фй╝└Аа     & 0 2 9 D t г м ║ ╜!!"!&!.![""""""""+"H"`"d%╩'щ√   їп■э┤ f   ■ї &■╧■╚■Й■Q ▓ v o h f Z■G■3■!■т!тсЎт7т?тс╠сЦсдсЩсПсНсcсMс9сJр╣рcрZрRр8р?р3р▀є▄Ю┌Wdа╝D*T\dn~Д▐рт╪▄╪┌┌фьцЁЮвжЖЖА=$Dfj>'(#N-%URTi#'9:>ALNOTUZqstw}АУФЩЪв+&,\2Ън┼╞╠╨хцьЁ■  (*+.47RSXYa)s*[ABHCKtlШm┘9Z.nЬpX Уdk!Ц┌:   4(+1GBCD$Yd[\obPnЖБГДЫr3╛о╢├╝┬─╔▌╤╘┌°ЄЇї═&Q$>8;<Z)\└п┴╟!╩"╦╚%╬&╧6▀2█7р)╥<щ;ч=ъжH@я?эK¤I√єJ№Eё·MзIPRQSV иJW X m#l"p'u,йKv-x/{2z1y0кL6~5ТQПGВ9СPОFРOЦUЬ[ЭгbеdдcfИ@ ╡лMмN*╙zyЧХФЩЮЭЯЫ~БЕЖГ}|ЗДАВШWХTЧV╜┐╖╣║╗╕░ ▓ │ ┤▒3▄5▐8с,╒.╫/╪0┘-╓H∙Fўce]_`a^gij k!hЕ=З?ЙAЛCМDНEКBЯ^Ю]а_б`783564uw"bOLcWV░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╢E5!*▒B@ J:.& *▒B@ NB4* *▒ B╛└└ └ └@ *▒B╛@@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ L<0(*╕ Е░Н▒D│dDD─· 8─· 8GG>>AH ∙GG>>AA ∙AH ∙GG>>╝╝· 9╝ °╝  √ 9\║\║ в Т  Т Ю 2м ▐ ·  0 F &` &`  Ж 4жCopyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)BarlowRegular1.408;TRBY;Barlow-RegularBarlow RegularVersion 1.408Barlow-RegularTribby TypeJeremy Tribbyhttps://tribby.com/This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFL ╡2и$╔ ╟    bнcоР%&¤ d'щ(e╚╩╦ !"#)*°$%+&',╠═╬·(╧)*+,--././0т01123f2╨╤45678g9╙:;<=>?@ABСп░3э45CD6Eф√FG7HI8╘J╒hK╓LMNOPQRSTUVW9:XYZ[;<ы\╗]^_`=aцbcdefghiDijklmnopkqrstulvjwxynmаEF■oz{Gъ|Hp}~rАБВГsДЕqЖЗИЙКЛМIJ∙НОПРKСТУL╫tФvwХЦuЧШЩЪЫMЬЭNЮOЯабвуPQгдеxRyж{зийкл|мzноп░▒▓│┤╡б╢}▒SюTU╖╕V╣х№║ЙW╗╝X~╜╛АБ┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥YZ╙╘╒╓[\ь╫║╪┘┌█]▄ч▌└┴▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOЭЮPQRЫSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy╝ЇїЎz{|}лг"в├З ? ^`>@~▓│B─┼┤╡╢╖йк╛┐ АБВД╜ГжўЕДЕЦЖЗяЁ╕ П!ХФУздaAТЬИЙЪЩеКШ╞╣# ИЖЛКМГЛМ_шВН┬ОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзиН█с▐╪О▄C▀┌р▌┘йклмноп░NULLAbreveuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni01CDuni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2AmacronAogonek Ccircumflex CdotaccentDcaronDcroatEcaronuni0228uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4 Edotaccentuni1EB8uni1EBAEmacronEogonekuni1EBC Gcircumflex GdotaccentHbar Hcircumflexuni1ECAuni1EC8ImacronIogonekItilde JcircumflexLacuteLcaronuni013BNacuteNcaronEnguni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0 OhungarumlautOmacronRacuteRcaronSacute Scircumflexuni018FTbarTcaronUbreveuni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEE UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave Ycircumflexuni1EF4Ygraveuni1EF6uni1EF8Zacute Zdotaccentuni0122uni0136uni0145uni0156uni0162uni0218uni021Aabreveuni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni01CEuni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3amacronaogonek ccircumflex cdotaccentdcaronecaronuni0229uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5 edotaccentuni1EB9uni1EBBemacroneogonekuni1EBDuni0259uni0292uni01EFgcaron gcircumflex gdotaccentuni01E5hbaruni021F hcircumflexibreve i.loclTRKuni1ECBuni1EC9ijimacroniogonekitildeuni0237 jcircumflexuni01E9lacutelcaronuni013Cldotnacutencaronengobreveuni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1 ohungarumlautomacron oslashacuteracutercaronsacute scircumflextbartcaronubreveuni01D4uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEF uhungarumlautumacronuni0123uni0137uni0146uni0157uni0163uni0219uni021Buogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexuni1EF5ygraveuni1EF7uni1EF9zacute zdotaccentI_J.liga f_f_i.liga f_f_l.ligag_j.ligai_j.ligaa.sc aacute.sc abreve.sc uni01CE.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc atilde.scae.scb.scc.sc cacute.sc ccaron.sc ccedilla.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ecaron.sc uni0229.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.sc gdotaccent.sch.schbar.sci.sc iacute.scicircumflex.sc idieresis.sc i.sc.loclTRK igrave.scij.sc imacron.sc iogonek.scj.sck.scl.sc lacute.sc lcaron.sc uni013C.sc lslash.scm.scn.sc nacute.sc ncaron.sceng.sc ntilde.sco.sc oacute.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.scs.sc sacute.sc scaron.sc scedilla.sct.sctbar.sc tcaron.sc uni021B.scu.sc uacute.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.scuni0394uni03A9uni03BCzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tf zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079 oneeighth threeeighths fiveeighths seveneighthsuni00ADuni2010hyphen_hyphen.ligauni27E9uni00A0Eurouni20BAuni20BDuni2219uni2215uni2126uni2206uni00B5minuteseconduni2113 estimateduni02BCuni02BBuni02C9uni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni0313uni031B dotbelowcombuni0326uni0327uni0328uni0335uni0336uni0337uni0338 uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303   ╓!8:SUptТФШЪ├╞╦╬╬╨фц &+24QSWYdeklvyЛНЪЬбг▒╡╚╩╬╨╪▌▌??BBDEKKdd|Таз|ЙККЛОаз 8|DFLTlatn    kern&kern&mark.mark.mkmk8mkmk8 ▓╓BЇ3╕4$4╢4р╥X,ВRXbhВrxВИОФЪажм║▀рстуфхцчшї¤■рр Єт ·р ∙р дц тр юр% ┼р фр ьЎ № ы& ∙ ╥є ф° √6 8 *4 ▐ ў=>М=▀$, ё ╙уцц=>ММ (0 х ¤ ёMNNссMMNN>▄z╪РCтттттттттттттттттттттттшшшшшЇш Jddjш|тшшшшшюЇ· &C #$%&ANqrstuvwxyzЪзйн═х3Xlx~АБТЬ▓┤╡╢╖╕╣║╗╨ > ∙J ї ї ї ї ї  ї  ї  ї  ї  ї ї ї ї ї ї ї ї ї ї ї ї ї ї ї} ·~ · ·У ёФ ёХ ёЦ ёЧ ёШ ёЩ ёЪ ┘Ы ┘Ь ┘Э ┘Ю ┘Я ┘а ┘б ┘к ·м ·l їm ёn ёo ёp ёq ёr ёs ёt ёu ёv ёw ё╝ ·╜ ·╛ ·┐ ·╔ ё╩ ё╦ ё╠ ё═ ё╬ ё╨ ┘╤ ┘╥ ┘╙ ┘╘ ┘ ∙ ∙М ∙ п п п п п  п  п  п  п  п п п п п п п п п п п п п п п Є ц ц ц  ц" ц# Є% Є' Є( Є) Є* Є+ Є, Є- Є. Є/ Є0 Є1 Є2 Є3 Є4 Є5 Є6 Є7 Є8 Є9 Є: ц; ц= цL фU ЄY ЄZ ц[ ц\ ц] ц^ ц_ ц` цa цb цc цd цe цf цg цh цi цj цk цl цm цo цp цq Єs цw Їx Їy Їz Ї| ┬ж цн ╙о ╙п ╙░ ╙▒ ╙▓ ╙│ ╙┤ ╙╡ ╙╢ ╙╖ ╙╕ ╙╣ ╙║ ╙╗ ╙╝ ╙╜ ╙╛ ╙┐ ╙└ ╙┴ ╙┬ ╙├ ╙─ ╙╞ ┬╟ ┬╚ ┬╔ ┬╦ ┬╠ ┬═ ┬╬ ┬╧ ┬╨ ┬╤ ┬╥ ┬╙ ┬╘ ┬╒ ┬╓ ┬╫ ┬╪ ┬┘ ┬┌ ┬█ ┬▄ ┬▌ ┬▐ ┬▀ ┬р ┬с ┬х уц ╝ч ╝  ╥  ╥  ╥  ╥  ╥ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬  ┬! ┬" ┬# ┬$ ┬& ┬' ┬( ╥) ╥* ╝+ ╥, ╥- ╥. щ/ щ0 щ1 щ3 Є4 у5 у6 у7 у8 у; у< у= у> у? у@ уA уB уC уD уE уF уG уH ╝J ╥K ╥L уM щN уO уP уQ уR ▀S ▀T ▀U ▀V ▀W ▀X уY ▀Z ▀[ ▀\ ▀] ▀^ ▀_ ▀` ▀a Їb Їc Їd Їh уi уj ╝l пy цz ц{ ц| ц} ц~ ЄН цО цП ци цй цк цл цм цн цо ц░ ц▒ ц┤ ц╕ Ї╣ Ї║ Ї╗ Ї к к ╨ ╨% х- ┬r ▀ ╙М кi √% ·68Y| ыноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─╞ ы╟ ы╚ ы╔ ы╦ ы╠ ы═ ы╬ ы╧ ы╨ ы╤ ы╥ ы╙ ы╘ ы╒ ы╓ ы╫ ы╪ ы┘ ы┌ ы█ ы▄ ы▌ ы▐ ы▀ ыр ыс ыц Їч Ї ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы  ы! ы" ы# ы$ ы& ы' ы* Ї. ¤/ ¤0 ¤1 ¤H ЇM ¤j Ї ў ў- ыА ·Щ ЇР ∙Щ Є╧ ЄЩ Щ ъx єВ єМ єЫ хг є▓ єА ¤ъЦ▐ Ї ▄ ┐ ╨ ╕ ы є ║ ф ╧ ╩ Ї ■ ° ы я я ∙ Є щ · Є ь Є ┌ № э ╪ ▌ ш ╬ р ╝ ф ё · Ї щ Ї Є ў Ї ў Ї ё ь · ¤ е т ы ╫ Ї ъ ч є* ў ∙ ї Ў     ∙ ∙ Ї ° Є ў ю щ ¤ ▌ °   ў Ї ¤% ы ў Ї ■ Є ы ╨ ■ ╚ ║ ▌ ∙ ╚ ё т ╧ ╒ ╦ ╥ Є Є ф ° Є ы ъ ў ╓ ╧ ў х г ╨ ─ ь ° ╙ ў Є ф · Ї щ я ь ё ў ¤ ¤ ∙ ю є Ї ∙ √ ь ў Є ∙ "'9;"=>%LL'NS(UU.Ym/ooDqzE|БOГЩUжзlйкnммp──q╨сrД''Е33ЖlБЗНПЭЬбаиож░░н▓▓о┤╧п6 ""#&''99:;==>>LL NNOSUUYYZmooqqrrsstvwz ||} АБ ГТ УШ ЩЩ жжззййкк мм ──╨с ''33mw xxy}~БНПЬЬЭбио░░▓▓┤┤╡╖╕╗ ╝┐ └╚ ╔╬ ╧╧ P ""##%%'9:;==LLNNUUYYZmopqqsswz|| }УШЪбвежжккммн─╞╔ ╦с ххцчЁЁ   $ &' ()**+-.1334678;GHHJKLLMMNNOQRW XXY` adhijjllmwy}~~НПио░▒┤┤╕╗╝┐╔╬╨╘╒╪%%-- 66 88 => rr ММfЇ╛  х я ё ю № · ў Ї √ ў х ¤ ў Є ∙ у ў · ы ∙   ¤ Ї ы ╩ · ь щ ў Ї ¤ р6 ▐ √ ¤ Ї ■ ф   с Ї · ё ∙ ё ·? ╘ я с т ъ ї1 ў ╥ ╤ я ╒ ю э № Є ў ·н├┼╔╦╦══хчьэ!ЁЁ#$%'  (-$/&&B(1C46MHNPRWWY`]jje--frrgh!о├┼┼╞╔╦╦хх цчьэЁЁ      $&&()**+-.146HHII JJKKLLMMNNRWY`jj--rr/|| }Ъбккммн─┼┼ ╞╔ ╦с ххцчьь ■■   $ &' **.146HHII LLMMNNRWXX Y`ad hijj╝┐╨╘цц%%-- 667788=>rrММ■> ы ы Є є ╪ т ё т █ ╬ ─ ы х ц · ў ў ы ш ╫ Є Ї ╓ ├ ╚ ы ¤ ▐ ы ╢ ╩ ф ╠ ы ┴ ▌ ы ╞ ╝ · ў ╔ ╔ ф · ┐ ╛ є у н Ї ы Є ╢ ў  %578=>М  %%557788=>:  "":;==LL Zmopsswz||}УШЪбжжккммн─ ╞╔╦сххцч  $&'() **+- .1 4678;GHHJK LLMM NNOQRWXXY`hijjll mwy}НПио░▒┤┤╕╗╝┐╔╬╨╘--rr ",6 р Ї єМвгвxxВВММЫЫгг▓▓ ыM||╞╔╦с$&'--x ОBDEKd &║,2║║8║>D║ъЁЎRT °─l─ZY╗ "Р|Оаз▌№ &,28>DJnЖМТШPPPPV\\\·№· ░2|Раз8:S3UpMtТiФШИЪ├Н╞╦╖╬╬╜╨ф╛ц╙ &Ў+24QSW9Yd>lvJyЛUНЪhЬбvг▒|╡╚Л╩╬Я╨╪д╝┬╚╬╘┌рцьЄ°■ .FLRXv| a8■┘н&ДДДдДДД&ДДД─ДДД╩ДДД╨ДДД╓ДДД▄ДДД&ДДДшДДДтДДДшДДДюДДДЇДДД·ДДД&ДДД&ДДДДДД ДДД&ДДД&ДДД&ДДДДДД*0ДДД*ДДД*0ДДД*ДДДД*$ДДД*0ДДДД6ДДДД<ДДДД6ДДДД<ДДД~xДДД~BДДД~xДДД~ДДДД~NДДД~HДДДfNДДД~TДДД~ZДДД~`ДДД~xДДД~xДДДfxДДД~lДДД~rДДД~xДДД~ДДДД~ДДДД ДДД ДДДКДДД ДДДДРЬДДДРЬДДДЦЬДД└ъДДД└╪ДДД└вДДД└ъДДД└ъДДДиъДДД└оДДД└┤ДДД└ъДДД║xДДД└╞ДДДД╠ДДДД╥ДДДДДДДфъДДДф╪ДДДф▐ДДДфъДДДЁЎДДДДДД№ДДДДДДДДДДДДJDДVДJ&ДVДJДVДJДVД,ДVДJДVДJДVДJ ДVДJDДVД,DДVДJ2ДVДJ8ДVДJDДVДJ&ДVД,DДVДJ2ДVДJ8ДVДJ>ДVДJDДVДJDДVДJDДVДJPДVДД\ДДД"(ДДД"zДДД"(ДДД.4ДДД.bДДД.4ДДД.ДДДД.hДДДДnДДД:@ДДД:@ДДД:@ДДДЮШДкДЮАДкДЮtДкДЮzДкДЮШДкДЖШДкДЮМДкДЮТДкДЮШДкДЮАДкДЖШДкДЮМДкДЮТДкДЮдДкДЮШДкДЮШДкДЮДДкДЮШДкДЮдДкДД╝ДДДД░ДДДД╢ДДДД╝ДДДД┬ДДДь┌ДДДь╚ДДДь╬ДДДь┌ДДД╘┌ДДДьрДДДьцДДДьЄДДДДДДДД°ДДД■ДДДДДДД ДДДДДДДДДД"(ДДД:@ДДД.4ДДД:@ДДДЪФДДДЪ@ДДДЪФДДДЪFДДДВLДДДЪRДДДЪXДДДЪ^ДДДЪФДДДЪjДДДЪdДДДВjДДДЪpДДДЪvДДДЪ|ДДДЪФДДДВФДДДЪИДДДЪОДДДЪФДДДЪДДДДЪФДДДЪаДДД▓╕ДДД▓жДДД▓╕ДДД▓ДДДД▓мДДД▓╕ДДДД╛ДДД·ДДД─ДДД·ДДДДДДД╨ДДД╩ДДДш╨ДДД╓ДДД▄ДДДтДДД·ДДД·ДДДш·ДДДюДДДЇДДД·ДДДДДДД2ДДД ДДДДДДДДДДДДVДДДДVДДДДVДДДДвДДДДVДДДДVДДДДДДД$ДДДД$ДДД$ДДД$*HДДДД`ДДДД0ДДДД6ДДДД<ДДДД`ДДДД`ДДДBHДДДДNДДДДTДДДДZДДДД`ДДДДfДДДДlДДДДrДДДДrДДДДxДДД\ДДДД\ДДДДДКДДДД~ДДДДДДДДДКДДДДРДДДДЦДДДbhДДДbЬДДДbhДДДbhДДДbвДДДФЁДДФ╠ДДФиДДФ┤ДДФоДД╥┤ДДФ║ДДФ└ДДФ╞ДДФЁДД╥ЁДДФ╪ДДФ▐ДДФЁДъДФ╠ДъД╥ЁДъДФ╪ДъДФ▐ДъДФфДъДФЁДДФЁДДЎТДДЎ№ДДФДДntДДДnДДДntДДДzАДДДzДДДzАДДДzДДДДz ДДДЖМДДДЖМДДДЖ&ДДДШТДдДШ8ДдДШ,ДдДШТДдДШ2ДдДШТДдД>ТДдДШDДдДШJДдДШТДPДШ8ДPД>ТДPДШDДPДШJДPДШЮДPДШТДдДШТДдДДVДДД\ДДДДbhДДДntДДДЖДДДДzАДДДЖМДДДШДДдДШТДдДШЮДдДД╢ДДДДкДДДД░ДДДД╢ДДДД╝ДДДц╘ДДДц┬ДДДц╚ДДДц╘ДДД╬╘ДДДц┌ДДДцрДДДцьДДДД■ДДДДЄДДД°■ДДДД■ДДДДДДДДДДДД ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД"ДДД.4ДДД.(ДДД.4ДДД.ДДДД.4ДДДД:ДДДД@ДДДД:ДДДД@ДДД^XДДД^FДДД^XДДД^ДДДД^LДДД^XДДД^XДДД^RДДД^XДДД^ДДДДjpДДДjdДДДjpДДДДДvДДДДvДДДОДДДД|ДДДДВДДДДОДДДДОДДДДИДДДДОДДДДОДДДДОДДДФДДДДжмДДДжЪДДДДаДДДжмДДД▓╕ДДД╩─ДДД╩╛ДДД╩─ДДД╩─ДДД╩╨ДДДДшДДДД╓ДДДД▄ДДДДшДДДДтДДДДшДДДДшДДДДшДДДДюДДДДЇДДДДДД·ДДДДДДДДД ДДДДДДДДДД$ДДД$ДДД$ДДД$ДДД<BДДД<*ДДД<0ДДД<BДДД<6ДДД<BДДД<BДДД<ДДДД<BДДДДTДДДДHДДДДNДДДДTДДДДZДДДДlДДДД`ДДДДfДДДДlДДДДrДДДД~ДДДДxДДДД~ДДДД~ДДДT.q.94їь╩.~МЄг1■/ H~.б/2~L~3~ ў3╝7╝x╝U~√╩<~ЪЄ▒?■A H~<б<╝A@~2АI╜IH№Б~Б HV~БбvБЕ~└╜└Ъ~B╝Б╝=а╝i~T~Ї╩6~ФЄл9■O~7 H ~6б1З6╝79~6╝█╝7~~5DqC~]~F H~DбD╝FG~t╝╪~┐~╢╝У~4}} H╗Ё}а~%~2 °2╝@UP╝8*╝# °╝╝%O п╙O w3╜ ╝]0tW<  H╙╝ ▀¤  ╝'╝╝ °·@╝#╝╚ ╝h0W < @▐╝ ▀ · ў · ╝mз"АГ╝jпi╝А HА·>╝j▀l·j·Ъ·m╝v·v╝Н~╝t╝И╝ж╝(╝╝ п╩ ╝j0АW<$╝  Hр╝ ▀└Ж·· !╝r·╝x·ё╝ ╝Є╝.╝ п ╝&╝ Hс╝ ▀щ·· ·p┘·Ў √ё·шУ| ·№╝ї·╝e╝f·:╝ └ц└Q Hц■║└цтPъ└ї╝▐>▄·Ў┌A   ю °H E?E-щV■¤ ∙HгИoDoFИ"AїoA'бA7 J#" &   с  H ШA ■A °H№ ∙ЎЇA.  щ JХ||AQ°∙@═ цL  JЛОИЛХ$ ┴ б о ° ┼ ° Ь< ┴ Hб>╚ т( ~БГЕЗЙУЧЪЫЯ  &,28>DJPV\ ╢╝ Г╝ `╝ hо i╝■╛▀ ╝╝d╝б╝Y╝ ─п╝ К  п· &ц|ЙазазZ`flrx~ДКРЦЬвиоооо┤║║║ r· ─· т· j· 0· `· ^№ h° Щ· e· y·■╛· }· г·■@°■K·■I·$*06<■fM■M■@u■F2  ■з0■╛W■L< @DFLTlatn0    (6>FNV^(AZE FCAT fCRT ЖKAZ жTAT ╞TRK ц    !)7?GOW_    "*08@HPX`    #+19AIQYa    $,2:BJRZb    %-3;CKS[c   &.4<DLT\d   '/5=EMU]efaaltfaaltfaaltfaaltfaaltfaaltfaaltfaaltfc2scnc2scnc2scnc2scnc2scnc2scnc2scnc2scnccmptccmptccmptccmptccmptccmptccmptccmptdnom|dnom|dnom|dnom|dnom|dnom|dnom|dnom|fracВfracВfracВfracВfracВfracВfracВfracВligaМligaМligaМligaМligaМligaМligaМligaМloclТloclШloclЮloclдloclкlocl░numr╢numr╢numr╢numr╢numr╢numr╢numr╢numr╢ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚sups╬sups╬sups╬sups╬sups╬sups╬sups╬sups╬tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘     4zО╪XXX6XXlжДТж┤№:RjЎ м 6 V└▌mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСУФХЦЧШЩЪЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪єЇїЎў°∙·√№?  "+1244679;=?"AE%GG*IJ+LL-NY.[\:bb<dd=lz>}БMГДRЖЖTОСUУЭYЯЯdвеeммiопj╡╢l╝╝n╛╛o└╔p╦╘z┌█Д▌▌Ж▀рЗхчЙъъМьэНЄЄПЇЎР°°У·№ФЧШЬгдеж"$з&1к48╢;<╗>>╜FG╛OP└R\┬^^═ad╬¤╥%%▄▐:N:@HNT\fpzДОШвм╢║╛┬╞╩╬╥╓┌┘lёЎТ Ы┌и¤єщ■Їъ їы Ўь ўэ °ю ∙я ·Ё√ё№Є▀рстуфхцчшZZннЁЁ■■▀Є Ц6Д$КЛНТ|ЙN , е~дзЕжЗ б~агЕвЗБГ!Ё'рш╘ ы%▓ "4є№¤ $Zн@Z ЎщЄ ▀ш▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐  "+1244679; =?#AE&GG+IJ,LL.N\/bb>dd?lz@}БOГДTЖЖVОСWУЭ[ЯЯfвеgммk▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪"нп╡╢╝╝╛╛└╔╦╘┌█▌▌▀рхч ъъ#ьэ$ЁЁ&ЄЄ'ЇЎ(°°+·№,■■/015>?@"$A&1D48P;<U>>WFGXOPZR\\^^gadh^@JTgL  hхЁiхeЁfj■k■?-AхцЁ-Ё■!"┘┌┘┌єЇїЎў°∙·√№Zн¤■ fcidecomp-2.1.1/documentation/installation-manual/_static/Dosis-ExtraLight.ttf000066400000000000000000002650601473255640600276150ustar00rootroot00000000000000GDEF!*!┐¤L└GPOSа6Р9■ iдGSUBWq╖g░~OS/2Воa_╘а`cmapд,▄╒Аcvt бшщdvfpgmЮ6╨┌Аgasp¤DglyfVь╫ъ┼рhead╬Т╩╦А6hheaY╟╘|$hmtxЙd:╦╕─loca*■[б╟dmaxpД^╞№ namerуЩнщ▄МpostфсS╣юh┌preppШU/шШ╦<_z'$@!%LЕv''--+w"&54677'&&546327632#"''N JJ  BB  JI  AB_ rs ff sr ddЁс/@,LgM N +s"&&5476632#"&''!7!+ ┘  ╫  3■╓2 IЙ╜¤Cдд╒└  Ё╣&┬ ▒╕░5+  Ё╔&Ш ▒╕░5+  Ё╣&Г ▒╕░5+  ЁЦ&░ ▒╕░5+  Ё╣&┬ ▒╕░5+  Ён&Е ▒╕░5+   >Ёс&"А▒░░5+  Ё&л ▒╕░5+  Ё╡&q ▒╕░5+OМ█*1@@=g _Ma  N/-,+'&"  ** +s"&54663!2##32##32##"&5#3#"a 4Y7h  эа  аэ    ўўWKU ЎKZ)  ■╔  ■╚  J■╗ А7SW  OМ╣&  ▒╕░5+S┌█",9@6Lg_M_ N,*%#" 6+s"&546332#'326554&##532654&&##e Ц:]6/&.4Y7ЯЯKUUKЯЛSO+K1Ж ╕ HF@W +D4KY'$PWWG$?W88L ·╙█-;@8А~aMa&N(&  --+E"&&546632#"&5.#"32>766325Z57Z6@U+  !=1OSTR2:  ,W)ZKEKZ).H' -)SW■╗XR(. &H.  L ·╙╣&╠ ▒╕░5+  L ·╙▐&Г ▒╕░5+  L 1╙█&!ч  L ·╙╣&Н ▒╕░5+  L ·╙Я&б ▒╕░5+S┌█-@*L_M_ N6+s"&546332#'32654&##e ▒7Y44Y7ЯЯKUUKЯ ╣ )ZK■┴KZ)$SW?WSф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█    S┌▐&З ▒╕░5+ф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█  S┌█ /@,g_M_ N %$6+s"&5463!2#!32##!2#e d  ■оа  аR  ╖  ■╔  ■╚    S┌╣&╒ ▒╕░5+  S┌╔&л ▒╕░5+  S┌▐&М ▒╕░5+  S┌╣&Ц ▒╕░5+  S┌Ц&├ ▒╕░5+  S┌Я&к ▒╕░5+  S┌╣&╒ ▒╕░5+  S┌н&Ш ▒╕░5+  S =┌█&"kS┌█-@*g_M N +s"&5463!2#!32##e d  ■оа  а  ╕  ■╔  ■╡ L ·╙█1>@;АgaMa&N*(#" 11+E"&&546632#"&'.#"32655#"&5463327X44X7>W/  *D,KTTKKUЯ ▓ 4Y)ZKEKZ),K. -:SW■╗WSSWФ  еKZ)  L ·╙╔&#е ▒╕░5+  L ·╙╣&#Р ▒╕░5+  L s╙█&# л  L ·╙Я&#д ▒╕░5+S┌█,@)gM N +s"&54632!4632#"&5!e  ?   ■┴ ╕  ■├=  ¤H W■й █15D@A  g gM  N5432.-*(%# 11 +s"&5#"&5463354632!5463232###"&5!!5!e - -  ?  , ,  ■┴ ?■┴   И  ИИ  И  ¤є W■й НТ  S┌╣&(Х ▒╕░5+Sw█ @M N  +s"&54632e  ╕  ¤H   S ·k█&+6╩  "з╣&+" ▒╕░5+   °╥╔&+ ° ▒╕░5+   уч╣&+ у ▒╕░5+  ║Ц&+ ▒╕░5+  CЖЯ&+ ў ▒╕░5+  "з╣&+" ▒╕░5+   хфн&+ х ▒╕░5+   B|█&+"▒░░5+   ╤°╡&+ ╤ ▒╕░5+ ·б█!2@/А_Ma&N !!+W"&&546323265#"&546332▐=X/  +I,KTЯ  ▒ 4X,K. ,;SWя  ¤ KZ)   ·б╣&6v ▒╕░5+SЇ█%)@&"! LM N %%+s"&54632632#"&'e  C ч √` ╕  ■xУ ■с■|xxў   S sЇ█&8 ЯS╢█@M_ N&+s"&54632!2#e  0 ╕  ¤Z    S╢╣&:├ ▒╕░5+  S╢х&:%   S s╢█&: ЮS╢█WK░!PX@Ma"M_ N@iM_ NY@&+s"&54632!2#"&54632e  0e ╕  ¤Z  Б╝█(,@) LM_ N('"!+s"&5#"&5467746327632!2#k 9 J  s Д0 ! +s  ■бC L■р  S:█'2@/$ LАM N!''+s"&54632>32#"&5#"&'e  ┬├   ╜  ╝ ╕ ■В~ ¤H q■Ф l¤П S┌█'@$ LM N+s"&546324632#"&'e  2   ■╠ ╕ ¤вq  ¤H  _¤П   S┌╣&A╘ ▒╕░5+  S┌▐&AЛ ▒╕░5+  S s┌█&A ╕S ┌█*3@0L KM Ma$N**'%+%+E"&5463266554&'#"&546324632` '% ■╠   2  5э  (F,0 _¤П ╕ ¤вq  ¤7V0  S┌╡&AГ ▒╕░5+L ·╙█-@*aMa&N +E"&&546632'2654&#"7X44X77Y44Y7KUUKKTT)ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS  L ·╙╣&G═ ▒╕░5+  L ·╙╔&Gг ▒╕░5+  L ·╙╣&GО ▒╕░5+  L ·╙Ц&G╗ ▒╕░5+  L ·╙╣&G═ ▒╕░5+  L ·╙╣&GХ ▒╕░5+  L ·╙н&GР ▒╕░5+  ; ьу&G┤%  ; ьу╣&O═ ▒╕░5+  L ·╙╡&G| ▒╕░5+L ·5█0>З@ .LK░'PX@#g aM a &N@+g aM_ M a &NY@21971>2>*(#"! 00 +E"&&5466325463!2#!32##!2#!"&55'2654&#"7X44X72U b  ■оа  аR  ■Ю U2KUUKKTT)ZKEKZ)"&6  ■╔  ■╚  0&"$SWEWSSW■╗WSS┌█3@0Lg_M N +s"&546732##326554&##e ▒7Y44Y7Я ЯKUUKЯ ╕ )ZK K[)■р VTW WSS░█0F@C LiiM N )'0 0 +s"&546326632#"&&'7266554&&#"e  G7,N12L(>. Ы!>''="&C(&A ╣ м- A0└0A"#┬ й2&└&01!└3"L У╙█/6@3"LeaM&N*( +E"&55.546632'546326654&#" 3Q.4X77Y4.P3   BKUKKTKm V*YGEKZ))ZK■╗GY*V ЛT  SRREWSSW■╗RSS┌█ ):@7 Lg_M N)'#!   +a"&'##"&54673232654&##╚ аФ  з7^9-L/е■кХK__KХ 8■╢ ╕ #SI@P(■┐АISSH  S┌╣&V╨ ▒╕░5+  S┌▐&VЗ ▒╕░5+  S s┌█&V У* ·▒█:E@B#LА~aMa&N,*(& ::+W"&&546632326654.54>32#"&&#"ы@V+"=37J&%&G╞ ▒╕░5+  L ·╙╣&Ь═ ▒╕░5+  L |╙>&Ь┐  L ·╙╣&Ь═ ▒╕░5+  L ·╙┴&Ьf ▒╕░5+  L ·╙╡&Ь| ▒╕░5+  O |╓█&d┬  O ·╓┴&di ▒╕░5+  O ·H>&d_ ▒╕░5+  O ·H╣&д╨ ▒╕░5+  O |H>&д┬  O ·H╣&д╨ ▒╕░5+  O ·H┴&дi ▒╕░5+  O ·H╡&д ▒╕░5+   |ц█&vо  ц┴&vU ▒╕░5+  ц╡&vk ▒╕░5+# ·g▐&3ЬK░'PX@ $L@ $LYK░'PX@(Аia(M a&N@,Аia(M M a&NY@('.,'3(3! && +W"&54663354&&#"#"&546632#"&55'26655#"о:Q;iE8:0* %9>H  K3&E,73[9<AC59&H/   7W2■Ї 4/#%4T ),2/  # ·g╢&нС  # ·g╞&нg  # ·g╢&нR  # ·gУ&н  # ·g╢&нС  # ·gк&нT  # @i▐&н"√▒░░5+  # ·g&нz  # ·g▓&н@# ·з▀>KXi@f<LАА  i a(M a &N@?USNLFD?K@K:810.,)'  >>+W"&&54663354&&#"#"&5466326632##326632#"&''26655#"732654&&#"л$>&:hE8;2* %9>IT4>6" $#ы_F)- 0E!7__+*D(75Z6;ш▀(#@+(@%;,69&H/   9,+9.J6 /DO62:.#&4T *-/0х&D,'@&  # ·з╢&╖%E ·в/МK░'PX@ L@ LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&'#"&546326632'266554&&#"Ё.I   C21R11Q.&@''@'"?($?-4 ▌ ■г/1Q2z/T3#*D%z%B*#@.Я4)4 ·t▐'A@> LА~a(Ma&N  ''+W"&&5546632#"&&#"326632ы>Q('R>(; *(HLLI*- !=0R4x3S0 ODxDO   4 ·t╢&║Ж  4 ·t█&║=  4 1t▐&║!и  4 ·t╢&║G  4 ·tЬ&║[2 ·П/МK░'PX@  L@  LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&&55466324632#"&55'266554&&#"ф/R11R12D   J0(>$(?"'@''@3T/z2Q1/] ¤# 4-#)4Я.@#*B%z%D*2 ·Х7IN@K0'L*Ka!Ma(Ma&N98B@8I9I%# 77+W".5546632&&'#"&5477&&#"&5466327632'266554&&#"у$?20Q0;/-b \ H! #T&P J&11Q0(@''A'(@&&A4A$z0R2&Sz)8  5"  *+.  +2Т_╜/T3#*D%$@(*B%z%D*  2 ·&└%╬2 ·┌/AиK░'PX@-  &L@-  &LYK░'PX@'i!M a(M a &N@+i!M a(M M a &NY@10:80A1A*(%# // +W"&&55466325#"&546335463232###"&55'266554&&#"ф/R11R12DК К  9 9  J0(>$(?"'@''@3T/z2Q1/╡  Е Е  ¤╦ 4-#)4Я.@#*B%z%D*3 ·Ц▐!.>@;Аga(Ma&N+)$" !!+W"&&5546632##32663232654&&#"¤;[41Q0/Q1%э`I*, !>╥с%#@+(A&.Q7}0Q0/Q4$ /DO $D,(@&  3 ·Ц╢&─Ь  3 ·Ц╞&─r  3 ·Ц█&─S  3 ·Ц╢&─]  3 ·ЦУ&─К  3 ·ЦЬ&─q  3 ·Ц╢&─Ь  3 ·Цк&─_  3 WЦ▐&─" ▒░░5+' ·К▐!.C@@Аga(Ma&N#")'".#. !! +W"&&54663354&#"#"&&546632'26655#"╪/Q1&э_J*,  !>+;[41P1)@&с%#@/Q4%/DO .Q7}0P1#(A%+$D,E 5@2La!M_"M N   +s"&5466332##"32##U 1Q0   (A%Щ Щ =0Q1  )A%v  ■\   │ы;IWТ@$ .DLK░'PX@* ia(Ma(M a$N@(i ia(M a$NY@KJ=<RPJWKW  | |  ╛/1Q2■ш %B*#@.■ш    ╘в╘&╒ ╘ ▒╕░5+5t│ 2@/ Li"M N  +s"&54632"&54632U     ╡ ■K t  Dg╪ !@ L"M N  +s"&54632U  ╡ ■K   Ш╢&┘   щ├╞&┘щ   ╘╪╢&┘╘  лУ&┘  Ш╢&┘  5  │&╪ул   ╓╒к&┘╓     CwЬ&┘&ш" ▒░░5+   ┬щ▓&┘┬ ▄ u│!6@3 Li"Ma$N!!&%+G"&546326654632"&54632 '%  5:  э  (F,ў ■ 7V0a   ▄ h╪%@" L"Ma$N&%+G"&546326654632 '%  5э  (F,ў ■ 7V0   ╒ ┘╢&ф╒Eи$2@/"!  L!M"M N $$+s"&54632%632#"'V  б╣╕i ▌ ¤·ыМ■я   \и   E sи&ц |Dз╪$+@("!  L"M N $$+s"&54632%632#"'U  б╣╕i ╡ ▐ыМ■я   \и Mp !@ L!M N  +s"&54632^  ▌ ¤#   бЗ&щ╤▒░╤░5+  M№&щ%╡   sб&щ M 5@2 Li!M N  +s"&54632"&54632^  И ▌ ¤# #'@$! L!M N##+s"&5#"&5467746327632О O `  ^ o )- 7М ■И7 @■┬ D┐▐;d@ 9 LK░'PX@a"M N@"Ma(M NY@53-+%# ;; +s"&5463266326632#"&54&&#"#"&54&&#"U  C24OS+*K/  '<"=(  #:$!?( ╡ 5/8,31*P:■ш 0@!#>*■с  (?%#@.■ш Dб▐%V@ # LK░'PX@a"M N@"Ma(M NY@ %%+s"&546326632#"&54&&#"U  C21R1  '@'"?( ╡ 5/1Q2■ш %B*#@.■ш   Dб╢&Ёо  Dб█&Ёe  D sб▐&Ё ТD б▐-e@ "LK░'PX@a"M Ma$N@ "Ma(M Ma$NY@--%%&'%+E"&546326654&&#"#"&546326632' '% '@'"?(   C21R15э  (F,Z%B*#@.■ш ╡ 5/1Q2■ж7V0  Dб▓&Ё]2 ·Х▐#-@*a(Ma&N## +W"&&5546632'266554&&#"у/Q10Q00Q11Q0(@'&A((@&&A3S0z0R21Q2z/T3#*D%z%B**B%z%D*  2 ·Х╢&Ўб  2 ·Х╞&Ўw  2 ·Х╢&Ўb  2 ·ХУ&ЎП  2 ·Х╢&Ўб  2 ·Х╢&Ўi  2 ·Хк&Ўd  2 рХ¤&Ў╢  2 рХ╢&■б  2 ·Х▓&ЎP2 ·╒▐-?LY@V  +LА  g a(M a &N/.IGB@86.?/?)'  -- +W"&&55466326632##326632#"&''266554&&#"732654&&#"у/Q10Q03WW5/Q1%э`L)) $>)AaV3(@'&A((@&&A┘с%#@+(A&3S0z0R29.-:/P3%!/DO  80-;#*D%z%B**B%z%D*х$D,'>%E в▐/t@ LK░'PX@a"Ma&M$N@!"Ma(Ma&M$NY@(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э в 5/1Q2z/T3-■▀  *D%z%B*#@.Я4)E в/J@G L!Ma(Ma&M$N(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э ╩ ■г/1Q2z/T3-■▀  *D%z%B*#@.Я4)2 П▐/МK░'PX@L@LYK░'PX@a(Ma&M$N@!"Ma(Ma&M$NY@(&//+E"&5#"&&554663254632266554&&#"~ J./R11R12D  д(>$(?"'@''@э !-3T/z2Q1/5 ¤^  )4Я.@#*B%z%D*D(▐R@  LK░'PX@a"M N@"Ma(M NY@+s"&54632>332##"U  &6#% %#@( ╡ 5"  #@.■ш   D(╢&W  (█&   ∙ s(▐& ▌& ·O▐3E@BLА~a(Ma&N'%#! 33+W"&&54663232654.546632#"&&#"╕-A$ 2/?6$:@:$A48$**2$:@:$P 1"'+/)<(    +!$5.7A  & ·O╢& x  & ·O█& /  & 1O▐& !В  & ·O╢& 9  & sO▐&  a ьфKЭ@ C'LK░#PX@5Аi a !M_"M Ma &N@2Аi e a !M_"M NY@<:64/.+)#! KK +E".546632326554&&'&&5467>54&#"#"&5#"&54633546632? $& $&ANIA &=>,4  Q QD6-H) !@+0L ^[#O; .2IS)A%¤├ д  v0Q1&O>$I8 8U3K_.B¤┐5@2LЕ_"Ma N +s"&5463232##332#╘GK  З З2= BI# ╓  ■╓9/  B¤┐'A@>LЕg_"Ma N! '&+s"&5463232##32##332#╘GK  З ЗЗ З2= BI# ╓  s  Ф9/    B¤х&%░  B s¤┐& )@ ·г╪+@(L"Ma&N +W"&&54632326654632Є1Q0  &A((@&  0Q2S/ ■ш%B*)C% ■ч0R2  @ ·г╢&п  @ ·г╞&Е  @ ·г╢&p  @ ·гУ&Э  @ ·г╢&п  @ ·г╢&w  @ ·гк&r  @ =г╪&"┐  @ ·г&Ш  @ ·г▓&^ ·u╪#@ L"M&N +W"&'&&5466326632─Ь ОН Ь ▓ ■wГ  ■N ·{╪,2@/)LА"M&N&$ ,,+W"&'&&5466326632632#"&'─Ь Нs  oР Эus о ■yj■СМ  ■Mw■П    ·{╢&    ·{╢& ┼   ·{У& Є   ·{╢&  ·c▐-)@&*L(M&N'%--+W"&&5477'&&54663276632#"&''-ЛЛГДММДГ┘╒╚╚╒┘╦╦ x▐%(@% L(Ma$N%%&*%+W"&54632>7&5466326632$ +# а  СР а "+7э  'AK$║■pР■F%WM1   x╢&&Г   x╢&&D   xУ&&q   x╢&&Гg╪%@"_"M_ N%+s"&5467#"&5463!2!2#,  є  ■Ї  Щ  ■g    g╢&+~  g█&+5  gЬ&+S" ·в▐-:O@L+LАia(M a &N/.53.:/:)'"! -- +W"&&54663354&&#"#"&&54663232#"&''26655#"л%>&:iF8:0* %9>H 'L6(F,75[7;:,6:&H/    7W2─"  *"-#%4T *-/0B ·Я*>@; L!Ma(Ma&N$"** +W"&&546326632'2>554&&#"ъ(N2  C21R1+E/+8 '@'"?(PC8^ ■г/1Q2z@7"#.3z%B*#@.ПA=3 Р▐+>@;La(Ma&M$N#!+++E"&5#"&&554>32266554&&#" D21R1)D2)O4 ж$@('?&+7 '?э "/1R1z@7" RK■  %4Н=G.3z$C*2 П▐+=кK░'PX@! L@! LYK░'PX@*Аa(M a&Ma$N@.А"Ma(M a&Ma$NY@-,64,=-=%# ++ +W"&&5463232>55#"&&554663254632266554&&#"▐'E,  6-/9 J./R11R12D  "M>(>$(?"'@''@э 2@"_-3T/z2Q1/5 ■6^9 )4Я.@#*B%z%D*@╗▐55@23 La(M N/-'% 55+s"&5466326632#"&54&&#"#"&54&&#"Q .I),UT,*K/  '< ">&  '>#;' :P*3553*P:■ш 0@!%A+■ч  +A% @1■ч @г▐+@( La(M N +s"&546632#"&54&&#"Q 0Q01Q0  &A('A& 0R22R0■ш %B*)B&■ч ?#▐'@$La(M N +s"&554>332##"P ,;#2 2'9  (J:"  2O*  @ ·Э╪%jK░'PX@ #L@ #LYK░'PX@"Ma&N@"M Ma&NY@  %%+W"&&54632326654632#"&55Ї1R1  '@'"?(   D1R1 ■ш$C*#A- ■K 5/  # ·g&н&  # |g╞&н'Гg  # ·g&н'∙  # ·g&н(  # ·g°&н)▄  # ·gЇ&н*   # |g╢&н'ГR  # ·gЄ&н+   # ·|ю&н,   # ·g╫&н-▄  # |g▐&нГ  # ·g╛&н*  3 ·ЦЇ&─*  3 |Ц╢&─'О]  3 ·ЦЄ&─+  3 ·Цю&─,  3 ·Ц╫&─-ч  3 |Ц▐&─О  3 ·Ц╛&─5  3 ·Ц▓&─K  2 |y│&╪  Ь╛&┘м  2 ·ХЇ&Ў*  2 |Х╢&Ў'Уb  2 ·ХЄ&Ў+  2 ·Хю&Ў,  2 ·Х╫&Ў-ь  2 |Х▐&ЎУ  2 ·Х╛&Ў:  2 ·Ц;&Ўн  2 ·Ц╢&Tб  2 |Ц;&TУ  2 ·Ц╢&Tб  2 ·Ц╛&T:  2 ·Ц▓&TP  @ |г╪&б  @ ·г╛&H  @ ·;&,  @ ·╢&\п  @ |;&\б  @ ·╢&\п  @ ·╛&\H  @ ·▓&\^   x▐&&╕   x╛&&   x▓&&2EЪ%3S@P *1#LАa!Ma"M  N'&.,&3'3"  %% +s"&546632#"&&#"32##!"&54632U +T?#B,1*/>#Л Л +  =*R6 .0v  ■\ ╡ ■K EЪ'>@; % La!M_"M N$" ''+s"&546632#"&5&&#"32##U 8Y060  <(H.Л Л =7P+¤X г%C.v  ■\ 'п№█'4M@J%LАi ea7N)(/-(4)4"  '' +S""'&&5463354&#"#"&546632#"&55'26655#"В &Q@ ")&)0  +'3!п&%2" 8  "7в *,о█*@'ea7N  +S"&&5546632'26554&#"а5 5 5 5!/.""..о!5F4 4 F5!!4F22F4DП╪$@!_MN+s"&5463!2#"&5!V '  ■¤  ╡ ■K  г■] A ·╚█+>@;iaMa&N! '% +!+  +E"&&546632'2654&#""&546327X44X77Y44Y7KUUKKTTL  )ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS,  Ж█*@'LАM N +s"&5#"&546776632t +  B  mP А  ¤H &н█/4@1LАaM_ N/.%$.+s"&554>54&&#"#"&546632!2#8 2NYN2"D4;N -O3:T.2NYN2R  a*F?=CM0%E.CA ,G*4U25VF=;?%O  ! ·и█CN@K<LААiaMa&N64-+%# CC +W".54632326554&#"&546326654&#"#"&&54>32ц1J2   ">1MUUI /??J.: 'I:3L+2",:4X.7 ,)SWKK  ?4HK(*  43""L@IQPDKZ) Т█*3@0iM"M N'%!**+a"&55!"&5467663235463232##3 ■√  °ш  ; ; а ¤■ъ  ъ  а   ·з█2D@ALАg_Ma&N+)(&! 22+W"&&54632326554&##"&5465663!2##32у=X.  +H,KUUJЗ   ∙|7X44Y-J. );SWSQ +  ■ь'XIKZ)A ·╚█'5I@FLАiaMa&N)(0.(5)5  '' +E"&&546632#"&54&&#"6632'26554&#"7Y44X7.I2  +I,KTT27X44X7KTTKIWU)ZKEKZ)/;! (:!SWо&$$UKKZ)$SWWIDS&WS!и█4@1 LА_M N%#+s"&&5475!#"&55463!2Y <■┴  c ■┬l1Г Х H¤С 1 ·╕█+7E@BLiaMa&N-,31,7-7&$++ +W"&&55467&&546632'26554&#"2654&#"ї7Y4:.&//P22P//&/84X6JTUJJVVJBKKBBKK)[J MZMACLLCAMZM J[)$TV VQQV WSВBKJ@@JKB0 ·╖█'5I@FLАiaMa&N)(0.(5)5  '' +W".5463232655#"&&554663226554&#"Ї.I2  +I,KTT27X44X77Y44X8IWUKKTT/;! (:!SWо%%$UKKZ))ZK■╗KZ)VER&WSSWWIt█!0@-LАM_ N! $%+s"&54633#"&54677663232## О+  E  Н   [P  Е  ¤Z    3 ¤n  gnА  % nБ  " ¤nВ  ¤nГ  ! ¤nД  2 ¤nЕ    nЖ  ) ¤nЗ  * ¤nИ3 ¤n-@*a/Ma2N +W"&554632'26554&#"ж1BB1!44!&,,&&++1:Ы:1/'Ы'/%'Ы'%%'Ы'%gn.@+LА/M0N +s"&5#"&54677632W -  (   ;■м% n,4@1LАa/M_0N,+%$, +s"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡0(%%** %, 1'""  " ¤n<R@O%5LААia/Ma2N0.)'"  << +W"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4&  $' #  %    &(0"+ '! &/¤n(=@:&Li/Ma0N%# (( +s"&55#"&5477663235463232##┐ РН  Гr   Iўу``  I! ¤n/>@;Аg_/Ma2N(&%# // +W"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!433 #( %$  Е  x-% &/2 ¤n$2M@J LАia/Ma2N&%-+%2&2 $$ +W"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+90Г'/'%'M,& :1%& (!%&%  nY@  LK░PX@r_/M0N@А_/M0NY@ %# +W"&5475##"&5546332L кг  ╞ й :L+■▀) ¤n'3E@BLia/Ma2N)(/-(3)3" ''  +W"&55467&&54632'26554&#"72654&#"Ь0C!<,-;!B0&+,&%,,%"%%"!&&07', ' 2&&2 ' ,'70&&&$$&&&╝ !! * ¤n$2I@FLАia/Ma2N&%-+%2&2 $$ +W"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++' %'L,& :1/'Ы'/│%'%%' '!3j█-@*a7Ma:N +S"&554632'26554&#"ж1BB1!44!&,,&&++j1:Ы:1/'Ы'/%'Ы'%%'Ы'%mg█.@+LА7M8N +S"&5#"&54677632W -  m(   ;■м%m █,4@1LАa7M_8N,+%$, +S"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡m0(%%** %, 1'""  "j█<R@O%5LААia7Ma:N0.)'"  << +S"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4j&  $' #  %    &(0"+ '! &/m¤█(=@:&Li7Ma8N%# (( +S"&55#"&5477663235463232##┐ РН  Гr   mIўу``  I!j█/>@;Аg_7Ma:N(&%# // +S"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!43j3 #( %$  Е  x-% &/2j█$2M@J LАia7Ma:N&%-+%2&2 $$ +S"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+j90Г'/'%'M,& :1%& (!%&%l█Y@  LK░PX@r_7M8N@А_7M8NY@ %# +S"&5475##"&5546332L кг  ╞ йl :L+■▀*j█'3E@BLia7Ma:N)(/-(3)3" ''  +S"&55467&&54632'26554&#"72654&#"Э0C!<,-;!B0&+,&%,,%"%%"!&&j07', ' 2&&2 ' ,'70&&&$$&&&╝ !! *j█$2I@FLАia7Ma:N&%-+%2&2 $$ +S"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++j' %'L,& :1/'Ы'/│%'%%' '!  3j█Й  mg█К  %m █Л  "j█М  m¤█Н  !j█О  2j█П  l█Р  *j█С  *j█Т q ь1K░#PX@ !M&N@ Ж!NY@ +G"&547632 З  ■| Ї ¤   ь)&К'ЭЮБ    ь(&К'ЭЮВ   % ь╡&Л'Э+Вн   ь&К'ЭЮГ   " ь▒&М'Э2Г┤   ь/&К'ЭЮЗ   " ь├&М'Э2З┤  ! ь╗&О'Э*Зм   ьА&Р'ЭяЗq- ·tB @a&N  +W"&54632Q- │tB&@#LYaQ +W"&5477&&54632E     M3  #= ·Дж +@(ia&N     +S"&54632"&54632a^■Ь= │Еж"7@4LiYaQ"" +W"&5477&&54632"&54632U     M3  #л- ·╒B #0@-a&N ##    +E"&54632!"&546323"&54632▓■Сг= ·ДьY╡LK░PX@АMa&N@ЕЕa&NY@ +w"&54&&54632"&54632`   У Z╗╗ZZ╗╗Z Щ= ·ДьZ╡LK░PX@АaM&N@Аi&NY@ +W"&546654632"&54632`    Z╗╗ZZ╗╗Zк ·Yь*6oK░PX@&А~aMa&N@$А~ia&NY@,+20+6,6**+w"&54667>54&#"#"&546632"&54632а  ,+KK* (?$>P' //  У 7>5463232>32"&54632█>P' //    -+KK ) '@ 1S23I7++<)  32#"32ё'@./?' ,> ,@  *=&└#?2  *A#■@48   ь╙CK░#PX@a!Ma&N@ea!NY@ %%+W"&546326654&&#"&54632%  ?, >, '?/.@  84└#A*  2?#■@&=*" ь Cf@ 0LK░#PX@ia!Ma&N@iea!NY@=<%# CC+W"&&54>54.54>54.54>32#"32°1O/ 0@$ )?#   -/ %D, .:9)   2>7 :-  %;! 5=1 ;IA!+   ь√Ci@:LK░#PX@ia!Ma&N@iea!NY@CC8732'% &+W"&546632>54.5467&&54>54&&#"&54632% /-   #?) $@0 /O  +!AI; 1=5 !;%  -: 7>2   )9:. ,D%J ы J╡LK░PX@_!M_ N@c_!NY@ %&+W"&546332##32#\ Ь КК  є  ¤1   ы╙J╡LK░PX@_!M_ N@c_!NY@ %%+W"&54633#"&546332#% КК Ь   ╧  ¤  2▀Y @W_O %+w"&5463!2#C  ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀н @W_O %+w"&5463!2#C X ▀    № ▌_ &▒dD@W_O %+▒DW"&5463!2#  @ #   - │tB&@#LYaQ +W"&5477&&54632E   M3  - │·B-4@1&LYaQ$"-- +W"&5477&&54632#"&5477&&54632╦   К   M3  3  'VЇх-P@ (LK░1PX@aN@YaQY@#!-- +S"&54>76632#"&54>76632╨   Ц   V 3  3 )VЎх-P@ &LK░1PX@aN@YaQY@$"-- +S"&5477&&54632#"&5477&&54632╟   К   V3  3  'Vnх>╢LK░1PX@ aN@YaQY@  +S"&54>76632J   V 3 )Vpх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632A   V3  (J@с3.@+0-LЖ(N&%33 +e"''&&54677632#"''&&54677632. `` ``Ч `` ``J ▒ ▓ ▓▒ ▒ ▓ ▓▒)JAс3-@*$! LЖ(N33)'-+w"&&5477'&546632#"&&5477'&546632═ `` ``Ь `` ``J▒▓ ▓ ▒ ▒▓ ▓ ▒ (Jос!@LЖ(N +w"''&&54677632Ь `` ``J ▒ ▓ ▓▒)Jпс @ LЖ(N-+w"&&5477'&546632; `` ``J▒▓ ▓ ▒ +E╘ .@+ La!N  +S"&5'4632#"&5'4632╗  А  E Ш Ш Ш Ш +E\ !@ La!N  +S"&5'4632C  E Ш Ш % ·█R`@]А   А g   gaM a&NMKFD?=8764/.+)#! RR+E"&&55#"&546335#"&54633546632#"&54.#"32##32##326654632?7X4F FF F4X7>W/  ,:!KT╠ ╠╠ ╠*;%,I+  /W)ZK@  l  SKZ),K. "1 SWS  l  @+A):- .K,)(i╢/7g@d  10-LЕА~ЖiYaQ,+%$"! // +w"&55&&554667546322#"&&#26632#'╔ GG?1  &A' /,-.  *A# 655( x cE-K3z w ■╞ u н2 K9:JD"иМ;KU@R90*! LYi Yi aQ=<EC:;LK░)PX@1А~ Ж!M aMa N@/А~ Ж i!Ma NY@HG10.,%$! == +E"&55"&&5466323.54>754632#"&&'76654&&'' @V,#@5!>3 4>  3(3':.ZG >?#8"$#@)'@4 ''1  "O &>0/=$   ■ц -F4Z[) _ L@5@( 44./8 │ w^*,@)gea!N*)%475+G"&546332667>332##"32###= #L332##"32##!2#+ ?.V [;X1 (G.ги/  K  ╝0Q1  )A%╝  ■╡  ┼█@K@H!>Lg  gM  N=;6542-,&$ @@ +s"&55#"&546335#"&54633&&546632663232##32##ь | || s┤  о╕ ╛z ГГ Г ┤  N  j■жZ■Ц  N  ┤ $?Зв;@8 LYgaQ +w"&55#"&546335463232##╓ П П  О О ? П  О О  П ? в. @W_O %+S"&5463!2#P @    BСGЦ%/@,#LYaQ! %%+w"&&5477'&546327632#"''See de eefeСee ee eeee5%Ш╝ %@@=igYaQ!%% % +w"&5463!2#"&54632"&54632F @ г▀   ║AIЯfН /@,gW_O %+S"&546332#"&546332#Z · · · j   ╦   ; ыФJ5=@:Е  ЖhW_O55%%#%% +W"&54677#"&546337#"&546337663232##32##i DS cJн ╜P GT cKо ╛JЫ  и  ╡ Я  и  и 4Jmс@ I(N++w"&547%%&54632G ■■ ■эJ  лм  ╢  ╢JWс@Jv+e"'%&&5467%632D■э ■■ J╢  ╢  мл  ?Dx ),@)LЕW_O)(#!/+w"&&5467%%&&546632"&5463!2#R ■■ ■э  иСТ Ь  Ьd   :Ds )/@,JЕW_O)(#!+e"'%&&5467%632"&5463!2#`■э■■■ч  иЬ  Ь ТСd   =Dа -L@I LgiW_ O  - ,'%  +w"&55#"&546335463232##"&5463!2#я П П  О О й @ и П  О О  П d   IМpЬ!Cb@_А  Аi  i  i  Y a  Q#"<:8642+)'%"C#C !!+A"&&#"#"&&54>32326632"&&#"#"&&54>32326632%( &'  %( &' U   ╔   5▀\&!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒De"&&#"#"&&54>32326632%( &' ▀   =?Ц,@)LЖW_O +e"&55!"&5463!2Е ■█ 6 ? П  а X╢)▒dD@LЕv +▒DS"&54677632#"&'' h h hhX 87  78AO Й'3M@J1 Li  Y  aQ)(/-(3)3#!''  +w"&&5466326632#"&''267&&#"!2654&#"р)I--I)7l"#l7)I--I*7k#"l6/ee/2JJ╗2JJ2/ddO#F45E#@77@#E54F#?77?$<=>;;>>;;>>;;>=<  8<ь(@%iYaQ%%+W"&5463266546632#"  6%'F- &5)8╚  *(Э'C)  !4¤c2!<┌█16@30"LiW_O11'%(%+s"&546335&&54663232##56654&#"M k2>4X77X4>2k О69TKKT96  (]RKZ))ZK■ R](  g QHWSSW■ HQ g╚с+@(LЕW_O(+s"&5476632#%!* ┼  ├ ■МZм╜¤C$qS┌█)@&ЖW_O+s"&5463!2#"&5!e c  ■┴  ╕ ¤H  ж¤Z  д█%.@+LgW_O%$($=+W"&5467&&5463!2#!!2#/ хх c ■║╬╬F у ┬┬  ■l■m   ▌@8@5LЖgY_O +W"&'#"&54633266332##щ О& 2 В█ Z Mч #н  ■x╠  ¤M к╪&6@3#$L"Ma&M$N!&&+W"&54632326654632#"&'^  )3$>%  -N12K э в ■╨*&*C$ ■ш1R1/■▐ 7 ·Ъх(:M@JLАiiYaQ*)31):*: (( +W".55466324&&#"#"&&546632'266554&&#"ш$?20P0LбK░#PX@4   i  i!MaMa  M &N@4 Ж   i  i!MaMa  NY@+@?0/"!GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%. ьт .>L\j╜K░#PX@: i    i!MaM a  M&N@:Ж i    i!MaM a  NY@;^]NM@?0/"!ec]j^jUSM\N\GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Q1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%1:Ы:1/'Ы'/%'Ы'%%'Ы'%Х ╡n,-@*LЕЕv+E"&5#"&&5477632#"''Б ╜ ╓  ╓╜ K +╛╫ ╫╛¤╒ F╜▌ -@*ЕЖW_O   +e"&&5477!"&5463!'&546632╨╛¤╒ +╛╫ ╫ ╜  ╜╓  ╓Х ╡n,*@'  LЕЕv%%(+E"''&54663246327632Б ╓ ╜  ╜╓ K ╫╛+ ¤╒╛╫ F╜▌-@*ЕЖW_O +e"''&5477632!2#!3╫ ╫╛+ ¤╒╛╓  ╓╜  ╜   д█ @LЕv +W"&'&&54676632'р ХФ ФХ  ггг#   "■▐   ■▌1>>■┬= жУ(Ub{@x5 LА   А  ii  i  i i Y a QWV][VbWbNMKIA?971/)'%#  UU+E".546632#"&'#"&&54663354&#"#"&&54663232>54&#"326632'26655#"F3_K,=Еl`ДD.+#43,#:!.W=138!"%7,;)ГЖKe>7ZA.9"  /;'50-H+4Z$KvQ[ЧZHНi0Y8&.(-//,    7(д07ГЧ0Ti95cN.  п&C $'!) Ў@ь=IЗ@BA;0#LK░PX@'А~aMa&N@%А~ia&NY@?>>I?I86)(== +E"&&54667&&546632#".#"6674632#"&'''267'Fb3*A"7.L-4A ,$=D)▀ a Z`C@Pч:*,T :_86M5%X=5J&#*  K=%=6ў5r& K],j a.=#7*∙ )@2.R2&н█.@+А_M N +a"&5#"&&55466332#"&5#, 07Y44Y7▒  K  )[K KZ) ¤H  ж¤[ 4 ╛У█?M?@32#"&54&&#"54.'ц5Q,   5*DK 5?@5 192D"  0.<( 5@?5 0?e'>HA'>HBB,K. -*IF(0$<1Д8H((G/ 8*@:(0#=0В/E,!/6 /69#Ян#Ii▒dD@^  А  ~ii i Y a Q%$EC><9720,*$I%I##  +▒De".54>32'26654&&#"7"&554632#"&54&&#"326676632i5kZ69\m45kZ69\m4P|GCyQO}GCzS(9:(/3 ?@   4#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb4?з?56%  RзR  %79#Ян#AJr▒dD@g1 <?*L Аi  ig Y a Q%$JHDB63.,)($A%A##  +▒De".54>32'26654&&#"7"&''##"&546732'32654&##i5kZ69\m45kZ69\m4P|GCyQO}GCzмI4  T-(E Ц=$$=#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb вжo.)20Я ╘#()""╪%<G@D:#" L ЖY_O'&9720+*&<'<%% +A"&5463276632#"&55#"&''#"&55#"&546332##'  KL   HH б K╗K ╪  ▒▒  ■°╦ик═ў   ў%ЦИ9▒dD@.iYaQ +▒DS"&&546632'26654&&#"╓/Q10Q00Q11Q0'?&%@''?%%@Ц3S00R21Q2/T3&)B%$A))A$%B)J ыn 9╢ LK░!PX@ !M&N@ Ж!NY@   +W"&54632\   є ¤  K ыo Z@ LK░!PX@a!Ma&N@ea!NY@  +S"&54632"&54632]    ─  ■ц ■'  ■ц  ы{█]@ LK░!PX@M_"M&N@ЖM_"NY@ +W"&5"&54635463272#'╔ О О  О О  ┐  ° °  ■A ) ыМ█1y@ /LK░!PX@" gM_"M &N@" Ж gM_"NY@.,'&%# 11 +W"&55"&54635"&54635463272#'72#'┌ О ОО О  О ОО О  щ  ┐  ° °  ┐  щ ; ·ф▐#0A@>АigYaQ-+&$ ##+E"&&5546632#!32>3232654&&#"-Gm> ++ ?Y6& (( &6  H┤k'▓!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒DS"&&#"#"&&54>32326632╙%( &' k     З к c%Ё╛$F▒dDK░ PX@qYaQ@ЖYaQY╡*+"+▒DS6632#"&54676654&#"'&&j"   б       ЭY"╢▒dD@Jv+▒DS"&5477632░ f _Y  <  6d╕щ; ,▒dD@!ЕYaQ $+▒DS52654632d22 :╕ %  .  - |t ─зВ ▒╕ В░5+ sб ╨▒dD@Jv+▒DW"&5477632/ f _Н  <  6 1Ь d▒dDK░PX@pjYaQ@ЕjYaQY@ +▒DW"&&54663232654&''73J # &  3+%╧   cJ+! =n,▒dD@!JYaQ +▒DW"&&546732W(*!*# ├ ,G<'  2▀Y╜Xц╢"@ LЕv +S"&5477632#"&''0 J J JJX 87  78VGх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632   V3    c(=&c╧╕h▒╕ ╧░5+▒░h░5+  d)E&k╨da▒╕ ╨░5+▒░a░5+  c)=&c╨X▒╕ ╨░5+▒░X░5+  d*Л°'Л ╤dF▒╕ ╤░5+▒░F░5+  d),Ї&$F╤Й>▒╕ ╤░5+▒░>░5+  d+,Є&$F╙Р<▒╕ ╙░5+▒░<░5+  d*rю&$F╥В0▒╕ ╥░5+▒░0░5+  d)Л╫&$v╤d%▒╕ ╤░5+▒░%░5+рр@Еv+Q!!р■ р■  sб ╨│ 2+W477632#"&f _ { < 6 1kВ*WНМNЪм╛╨тЇ);а▓ l~РЬо└_q╧(:L^pВФж▓ЄVhzЖШ▌HZЛЭп┴╙хў +uЗ╓т".:Фх ;  С г п  c u З Щ л ╜ ╧ с ь ■  л Ї \ ╝  + = I ║ ╠ ▐ ъ №=Рвоэ #5GYkwЙЫ▌;M_qГ█#5GYkй╗═▀ё+=OewЙЫз╣╦сє#5GRdvМЮ░┬╬рЄ"4FRdvИФж╕╩╓ш·РЬз▓╜╔╘хЁ√з│=Цвн╣─╧YчєЯ #.:EQ\m╤█цё№Y╟┘CNYdozЖСдп¤2=ОЩц ,7z├ G и ┤ ┐ ╦!?!J!Ц!в!н!╕!─!╨!█!ц!ё!¤""Ю##З$$g$r$}$И$ё$№%%%%)%▌&#&x&Д&П&╘&р&ь&ў''''%'1'='H'Л'ь'°((((u(├(╧(┌(х(ё)0);)F)Q)╩*'*Ж+1+Ч+▄,,А,Л,Ъ,е,░,╗,╞,╒,р,ы,Ў-- --'-2-=-H-T-_-j-u-А-Л-Ъ-е-░-╗-╟-╥-▐-ъ-Ў.. ..$./.;.G.S._.j.u.Б.М.Ч//`/╨00L0н0щ1C1─22В2ё3:3м44d4l4t4|4Д4М4Ф4Ь4д4м4┤4ў525И66X6╕7$7}7ш8R8Х8╤9(9г9·:Z:╟; ;М;ў; <<<<<'C>Я>№?А@@*@U@│A^AЦA╙BBSBгC0C┐DDQDxDЯD╞DэEEPEнFFГF╟G GoG╥H HFHИH▓H▓H▓H▓IKI╠JbK"KuK┘LULЮL╞MMnMпNNHN|N╙O,OРPPДP╣P°QkQнR RHRВR╙S!StSьTйUЫUуV,VrV║WW┬XoX│Y8Y╤ZrZщ[7[l[┼\"\в] ]]]!])]1]9]A]I]Б]м]┤]№^^C^m^Ю^╩^╥__M_Р_Ш_¤``a`Н`╝`╩`ЎaSaКaТa╩bb$b9bNbdbzbРbжb╗b╗b╤bЁBН█ с_<їш╫їmt┘`р¤ q т!=<          иOиOSLLLLLL&S0&S0ЄSЄSЄSЄSЄSЄSЄSЄSЄSЄSщSLLLLL-S--S╩S║S╩"╩ °╩ у╩╩C╩"╩ х╩╩ ╤ЁЁ№S№S─S─S┼S─S┼S╩НS-S-S-S-S-S-SLLLLLLLL;;LMLSуSL¤S¤S¤S¤Sс*с*с*с*с*с*╟╦╟╟%O%O%O%O%O%O%O%O%O%O%Oууууу┐¤¤¤¤¤╨╨╨╨            ЄSЄSЄSЄSЄSЄSЄSЄS╩A╩LLLLLLLLLLLLL%O%O%O%O%O%O%O%O¤¤¤з#з#з#з#з#з#з#з#з#з#╧#╧#╘EТ4Т4Т4Т4Т4Т4╘2╘2╘2╘2╜3╜3╜3╜3╜3╜3╜3╜3╜3╜3╜'!E╛ ╛ ╛ ╛ ╛ тEтт ╘л5лDлл щл ╘ллX5л ╓л  л ┬н ▄н ▄н ╒╡E╡E┤D╜M╜╜M╜M) DсDсDсDсDсDсD╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2№2╘E╘E╘24D4D44 ∙u&u&u&u&u&u&BBBBу@у@у@у@у@у@у@у@у@у@у@ИООООО}ЛЛЛЛЛББББп"╥B╤3╘2√@у@/?с@з#з#з#з#з#з#з#з#з#з#з#з#╜3╜3╜3╜3╜3╜3╜3╜3л2л╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2у@у@у@у@у@у@у@у@ЛЛЛ▌EчE2'@,╙D A╤═&┘!б ╦ °A║!щ1°0БL3Ю+%1"*!B28)C*L3Ю+%1"*!B28)C*L3Ю+%2"*!B2:*C*L3Ю+%2"*!B2:*C*В qKQ▐%2╞"Xь"ф!йб-в-┴=├=-┴=┴=&░508а'# ╘T╘NC"JЛ2╟2╟2▀2Y №в-(-')Ц'Ф)i(i)╫(╫) +З+╚╚╚7%Ц)щDф,D │═▀л$р?ЙB═5пI╧;Л4Л│?▓:▌=╣IР5▀=KAF <с-S┐H▌M▌7х. .ХFХF└├=S)&═4╪9╪9^"н%╕J║KУ╡);Е╪  Ьк█LЕ n┤'L cЭd-2Gcdcdddddр═   q■uт1│·КXKКX^2а P {IMPA└√ cэ У╪█ lx@8 /9~H~Тб░ 7Y╟▌  #(5└Е∙    " & 0 : D p y Й м!"!&!.!T!^!У"""""""+"H"`"e%╩рЎ├√   0:аJТап№7Y╞╪ #&5└Аа    & 0 9 D p t А м!"!&!.!S![!Р"""""""+"H"`"d%╩рЎ├√  .├:C■н■u     ■№■·■ю¤йсмсЕс┴сСсYс#с#рїс%р█р├р╒рLрH▀э▀ф▀▄▀╙▀╔▀╜▀Ы▀}▄,"/ mdtРh╬╨╥╪╓╪тшръЪЮвММД╬м╠│╘Ё°═╖╕▓╪и╜з┤йк▀▄▐оў "#(+68:@AGSUVZ`dopuv{╗╡╝ц┴ н╣║└─╧╨╒╪уцщяЁЎ  %&+╣ ║ф╧н╥╓╙╫· √g╚х╛№ ■тХЦю∙░Фh╔бЮвп  2-/0FLHJQK┌OieghwT▓о░╢▒╡╖╜╦┼╚╔▐┌▄▌┴ї√ў∙·█■')│п┤╗╛┐╝┬├ ╠╞╩!═╟%╥$╤'╘&╙*╫)╓5т3р.█4с1┘,▀7х9чш;ъ=ь<ы>э?юBёDєCЄEЇN¤I°M№RWYX[ ^ ] \ cbankfmjlr"x(y|,~.}-ЬTд\ ╕P _  t$q!s#ЙAКBД<Ж>З?И@Е=7Б9В:Г;А8РHСIТJЛCНEОFПGМDФLУKЪRЫSХMЧOШPЩQЦNЭUЯWаXбYЮVвZг[е]з_и`йaж^z*кbлcмd╞╟┬─┼├▒їЄєЇь┘ср░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╡(*▒B@ 5- *▒B@ 91% *▒ B╜ А ААА *▒B╜@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ 7/*╕ Е░Н▒D│dDD╪╪####█╪ █ ·▐ · !!nn ¤!!█m█j╞ |  | Ь 6к  | Fр  & ИF V╬ V╬ 0$ 0$  T 4t  и ▓Copyright 2011 The Dosis Project Authors (impallari@gmail.com)Dosis ExtraLightRegular3.001;IMPA;Dosis-ExtraLightVersion 3.001; ttfautohint (v1.8.2)Dosis-ExtraLightDosis is a trademark of EdgarTolentino, PabloImpallari, IginoMarini.EdgarTolentino, PabloImpallari, IginoMarinihttp://www.impallari.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLDosisExtraLight Ь21$╔╟bнcоР%&¤ d'щ (e  ╚╩ ╦ )*°+,╠═╬·╧-./т01 !"f2╨#╤g╙$%С&п░3э45'()6*ф√+,7-./8╘0╒h╓123459:6789;<ы:╗;=<ц=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkDilkljmnnmаoEF■opqGъrHpstrsuqvwxIJ∙yz{K|}L╫t~vwuАБВMГДNЕЖOЗИЙКуPQЛМНОxRyП{|zРСбТ}▒SюTUУФХVЦх№ЧШЙWЩЪЫX~ЬАБЭЮЯабYZвгде[\ьж║з]ичйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀└┴ЭЮЫрстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ╝Ї  їЎ   лг"в├З ? ^`>@▓│B─┼┤╡╢╖йк╛┐ Д╜жЕЦяЁ╕ П!ХФУзaдAТЬЪЩеШ╞╣# ИЖЛКМГ_шВ┬Н█с▐╪О▄C▀┌р▌┘ !"#$%&'()*+,-./0123456789:;AbreveAmacronAogonekAEacute Ccircumflex CdotaccentDcaronDcroatEbreveEcaron EdotaccentEmacronEogonek Gcircumflexuni0122 GdotaccentHbar HcircumflexIJIbreveImacronIogonekItilde Jcircumflexuni0136LacuteLcaronuni013BLdotNacuteNcaronuni0145EngObreve OhungarumlautOmacron OslashacuteRacuteRcaronuni0156Sacute Scircumflexuni0218TbarTcaronuni021AUbreve UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave YcircumflexYgraveZacute Zdotaccentuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4uni1EB8uni1EBAuni1EBCuni1ECAuni1EC8uni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0uni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEEuni1EF4uni1EF6uni1EF8abreveamacronaogonekaeacute ccircumflex cdotaccentdcaronebreveecaron edotaccentemacroneogonekuni0259 gcircumflexuni0123 gdotaccenthbar hcircumflexibreveijimacroniogonekitildeuni0237 jcircumflexuni0137 kgreenlandiclacutelcaronuni013Cldotnacutencaronuni0146engobreve ohungarumlautomacron oslashacuteracutercaronuni0157sacute scircumflexuni0219tbartcaronuni021Bubreve uhungarumlautumacronuogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexygravezacute zdotaccenta.ss01b.ss02q.ss02g.ss03m.ss04n.ss04r.ss04u.ss04uni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5uni1EB9uni1EBBuni1EBDuni1ECBuni1EC9uni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEFuni1EF5uni1EF7uni1EF9one.lnumuni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni2070uni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079uni2153uni2154 oneeighth threeeighths fiveeighths seveneighths slash.001uni00ADuni00A0CREurouni03A9uni0394uni03BCarrowup arrowright arrowdown arrowleft estimateduni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni031B dotbelowcombuni0326uni0327uni0328uni0335 uni0302.001 caron.alt uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303NULLuniE000uniF6C3  К(*=@DF`b└┬┬─═╧╒╫тфьяєїdщщ#0 !  "LDFLT  kernmarkmkmk  Rrh hfi, B▐>Ъ▄▄▄▄▄▄▄▄▄▄иbbbbbbZZZZД▐ $ $ $ $ $L FLL|LLLLLLLLL|| X X ( ( Ж ( ( (LLLLLLLZZZZZZZZZZZ n tZ╓╓╓╓ЁЁЁЁЁЁ|||||||||||мЄЄЄЄЄTТТТТТоооо▄▄▄▄▄▄▄▄▄▄▄▄LLZZZZZZZZZZZZZ||||||||ТТТ*,*,*,*,*,*,*,*,*,*,*B*B*T$$$$$$6<jX*B*B*B*B*B*B*B*B*B*B*TnHHHHH'░'░'░*╩*╩bАо╪*╩*╩ *╩D*╩*╩ 44*╨*╨N*╨P'░'░'░'░'░'░'░*T*T*T*T*T*T*T*T*T*T*T*B*T*Tz ╪ ╪ ╪ ╪!!!!!!!"D"D!v"D*~*~*~*~*~*~*~*~*~*~*~"V$p$p$p$p$p$Ц*д*д*д*д*д'8'8'8'8'J*T'░* '░'╞((* *,*,*,*,*,*,*,*,*,*,*,*,*B*B*B*B*B*B*B*B*╩*╩*T*T*T*T*T*T*T*T*T*T*T*T*T*~*~*~*~*~*~*~*~*д*д*д*╩*╨-f*┌*р++\+■, ,.-$-f-─/║=╝=╝/ф/ф/ъ/Ї0v0м1F1P4┬5\8 8:╞:╘=К=К=К=К=╝=ц>>B>Ф>▓>Ё>Ў>Ё>Ў??^?Ф?к?─?т?Ё@JAМBJB─B╬чщьчюfыjtdЭЭoзкpннtп░u▓╡w╖╗{╜└А┬═Д╓╓Р╪┘С▄▄Уў°Ф№ Ц.` чa чb чc чu °v ·w ·x ·y ·z ·{ ∙| ∙} ∙~ ∙к ·л ·м ·т  ·  ·  ·  ·  · · ·  ∙! ∙" ∙# ∙$ ∙% Ё& ·' ·( ·) ·* ·+ є, є- є. єb ·c ·d ·╕ э║ ю╝ ьu╓▄тх ф% Єn╬ э╓█▄▌▐ртух н& ▓' ▓( ▓) ▓* ▓b ▓c ▓d ▓n Ё° Ў№ ч Я Я Я Я Я Я Я Я  Я  Я  х  х ш ш ш ш ш ш# ш$ ш% ш& ш' ш6 }7 }G шH шI шJ шK шL шM шN шO шP шQ шR шU шZ ї[ ї\ ї] ї^ ї_ ї ЯА ЯБ ЯВ ЯГ ЯД ЯЕ ЯЖ ЯЗ ЯИ ЯЙ ЯК ЯХ шЦ шЧ шШ шЩ шЪ шЫ шЬ шЭ шЮ шЯ ша шб шн Jо Jп д░ J▒ J▓ J│ J┤ J╡ Х╢ J╖ J╕ J║ А╗ А╝ ╡╜ А╛ А┐ А└ А┴ А┬ А├ А─ А┼ А╞ П╟ е╚ А╔ А╩ А╦ А╠ А═ А╬ `╧ ч╨ А╤ И╥ А╙ А╘ А╓╪ у┘ к┌ ─█▄ у▌ у▐ у▀ ур ус ут уу уф ух уя ДЁ Дё ДЄ Ыє ДЇ Дї ДЎ Аў А° Р∙ А· А√ А№ А¤ А■ А  А А А Д А Д Д Ў Д  И  И  ╙  И  И И ч ч ч ч ч З З З З З З З З З З З О  О! О" О# О$ О% t& О' О( О) О* О+ S, S- ═. S/ J1 А2 А3 t4 t5 t6 З7 J8 J9 J: J; J< J= J> J? J@ JA JB JC АD АE АF АG АH АI АJ АK уL уM АN АO АP АQ АR АS АT АU АV АW АX АY АZ З[ З\ З] З^ З_ З` Зa Зb Оc Оd Оe чf чj ёkl їn ╦p ёqr Їs Ўt шз пи пй ═к ═л и▓ э┤ ╢╕║╝╜ м╛ м┐ м└ м┬ п├ и╚ ╚╔ ╟╩ ╚╦ ╟ў ┼° ы№ ╘u ·т √ ·% Ё╕ Є║ є╝ ёт √0 √▓ █ рт ╒lt╕║╝° ·№ Ї(` нa лb нc нo мp оq оr оs оt оv дw дx дy дz дк дл дм д╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚─ ╖┼ ╖╞ ╖╟ ╖╠ ╝═ ╝° °№ ╦¤ ╡o м╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚° °№ ╦¤ ╡┴ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒  ╒  ╒6 Д7 Д` √a √b √c √u °vwxyz{ ё| ё} ё~ ё ╒А ╒Б ╒В ╒Г ╒Д ╒Е ╒Ж ╒З ╒И ╒Й ╒К ╒клмн що щп щ░ щ▒ щ▓ щ│ щ┤ щ╡ щ╢ щ╖ щ╕ щ║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╬ ў╨ ц╤ ц╥ ц╙ ц╘ ц╓┘ ў▄тх я ўЁ ўё ўЄ ўє ўЇ ўї ўЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ў ц ў ў ў ў  Ї  Ї  Ї  Ї  Ї Ї ° ° ° ° ° ° ° ° ° ° °/ щ1 ц2 ц3 ╫4 ╫5 ╫6 °7 щ8 щ9 щ: щ; щ< щ= щ> щ? щ@ щA щB щC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цZ °[ °\ °] °^ °_ °` °a °n эз пи пл г▓┤ ╦╕ ш║ ъ╝ ш╜ ╞╛ ╞┐ ╞└ ╞┬ п├ г╚ ё╩ ёў ї° ·X ў ў ў ў ў ў ў ў  ў  ў6 ∙7 ∙` ┐a ┐b ┐c ┐o √pqrstu фv ыw ыx ыy ыz ы{ ▐| ▐} ▐~ ▐ ўА ўБ ўВ ўГ ўД ўЕ ўЖ ўЗ ўИ ўЙ ўК ўк ыл ым ын ·о ·п ·░ ·▒ ·▓ ·│ ·┤ ·╡ ·╢ ·╖ ·╕ ·/ ·3 √4 √5 √7 ·8 ·9 ·: ·; ·< ·= ·> ·? ·@ ·A ·B ·з ╧и ╧л ╧о я┤ ъ╕ ф║ ч╝ ф┬ ╧├ ╧┼ °╟ °¤╬ √╓▄т хn їт Ё% ыn▓ °)░ л│ л╢ л╝ ╢╛ й╬ з╥ д╓┘ к┌ ▌█▄ я▌ я▐ яр ят ях яї е й е ў  ╘  н д ▒% ┤- ╬e ъf ъj ёkn ┘p ёqr їt ъ▓ э┤ ╤ў ╥° э№ ╫╤ ┘ ┘ ┘ ┘ ┘ ┘ ┘ ┘  ┘  ┘  √  √6 ╗7 ╗ ┘А ┘Б ┘В ┘Г ┘Д ┘Е ┘Ж ┘З ┘И ┘Й ┘К ┘н ╦о ╦п ╦░ ╦▒ ╦▓ ╦│ ╦┤ ╦╡ ╦╢ ╦╖ ╦╕ ╦║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╬ ╘╧ ·╨ ╦╤ ╦╥ ╦╙ ╦╘ ╦╓┘ ╘█▄▌▐рт&х я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╙ ╦ ╘ ╘ э ╘  ╨  ╨  ╨  ╨  ╨ ╨ · ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ё  ё! ё" ё# ё$ ё% я& є' є( є) є* є+ ш, ш- ш. ш/ ╦1 ╦2 ╦3 ╦4 ╦5 ╦6 ╫7 ╦8 ╦9 ╦: ╦; ╦< ╦= ╦> ╦? ╦@ ╦A ╦B ╦C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╫[ ╫\ ╫] ╫^ ╫_ ╫` ╫a ╫b єc єd єe ·f ·n чqt Єз ╠и ╠й юк юл ╠┤ ╥║╜ ▄╛ ▄┐ ▄└ ▄┬ ╠├ ╠╚ ф╔ Ї╩ ф╦ Їў ч° °№ ї╬ ╪╓┘ ██▄▌▐рт&х  █ ь Ї% єkn ыqt є┤ ╫╕║╝ў ъ° ∙Ц ў ў ў ў ў ў# ў$ ў% ў& ў' ўG ўH ўI ўJ ўK ўL ўM ўN ўO ўP ўQ ўR ўU ўХ ўЦ ўЧ ўШ ўЩ ўЪ ўЫ ўЬ ўЭ ўЮ ўЯ ўа ўб ў║ ё╗ ё╝ ё╜ ё╛ ё┐ ё└ ё┴ ё┬ ё├ ё─ ё┼ ё╞ ё╟ ё╚ ё╔ ё╩ ё╦ ё╠ ё═ ё╬ ∙╨ ·╤ ·╥ ·╙ ·╘ ·╓█▄▌▐ртхЎ ёў ё° ё∙ ё· ё√ ё№ ё¤ ё■ ё  ё ё ё ё ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ▌  ▌! ▌" ▌# ▌$ ▌& ▄' ▄( ▄) ▄* ▄1 ё2 ё6 ъC ёD ёE ёF ёG ёH ёI ёJ ёM ёN ёO ёP ёQ ёR ёS ёT ёU ёV ёW ёX ёY ёZ ъ[ ъ\ ъ] ъ^ ъ_ ъ` ъa ъb ▄c ▄d ▄t╜ ю╛ ю┐ ю└ ю╚ Ё╩ Ё° ·№ ї ╬ ф█рт · ╩0 ∙n сt° °№ хo ┘ ъ0 ·kqtо ї▓ р╡ ▄╕║╝№ Ў¤ х ╬ э╓█▄▌▐ртх нn Ё° Ў№ чт √0 √u ў ∙% °0 √╕ ю║ я╝ ю¤╬ √т °%┤ Ў$│ й╢ й╝ м╛ в╟ в╠ в╬ и╓┘ ║█▄▌▐ртх¤ в в ║ я  ╠  л ╙% ╤e їf їjn ╫pqrt я┤ ╦ў ╒° є№ щo ▐о я╡ я° ют %+ №, №- №. №з ўи ўл ў┤ Ў┬ ў├ ў;о╣.╧╒.╓.╫.╪3┘3┌3█3▄3▌3▐3▀3р3с3т3у3ф3х3ц.ч.щ&ъ&ы&ь&э&ю&.-----801K3L3efм о>▓&╡O╕I║I╝I─ ┼4╞ ╟4╠<═<°№¤@ то▓ ─╞╢ ╤ ╤ ╤ ╤ ╤ ╤ ╤ ╤  ╤  ╤6 ж7 ж` їa їb їc їopqrstu Ўv ·w ·x ·y ·z ·{ х| х} х~ х ╤А ╤Б ╤В ╤Г ╤Д ╤Е ╤Ж ╤З ╤И ╤Й ╤К ╤к ·л ·м ·н ъо ъп ъ░ ъ▒ ъ▓ ъ│ ъ┤ ъ╡ ъ╢ ъ╖ ъ╕ ъ║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы╨ я╤ я╥ я╙ я╘ я╪┘┌█▄▌▐▀рстуфхщъыьэюЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы  №  №  №  №  № №/ ъ1 ы2 ы3 щ4 щ5 щ7 ъ8 ъ9 ъ: ъ; ъ< ъ= ъ> ъ? ъ@ ъA ъB ъC ыD ыE ыF ыG ыH ыI ыJ ыKLM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыз ┘и ┘л ┘┤ ┌╕║╝╜ ╥╛ ╥┐ ╥└ ╥┬ ┘├ ┘╚ Є╩ Єў Ў° щo ∙u хухо ф╡т ╡╕║╝┼╟ т о╡ ╕║╝┼╟╠═¤ т о▓/╝─┼╞╟╠ ═ т о▓╕║╝─┼╞╟╠═т мо▓╡╕║╝─┼╞╟╠ ═ 1╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLм о5▓╡#╕║╝─$┼╞$╟╠!═!¤  т о▓0╝─┼╞╟╠═o ч╬ °0о╡ ї° Є@о╣,╝╧╒,╓,╫,╪2┘2┌2█2▄2▌2▐2▀2р2с2т2у2ф2х2ц,ч,щ$ъ$ы$ь$э$ю$Є∙, <++++-60/K2L2efмо<░ ▐▓$╡N╕J║I╝I─┼3╞╟3╠;═;°№¤?  т&'()*bcd░ ▐Ч  √ ∙ ∙ ∙ ∙ ∙ ∙ √ √ √ √ √ √ √ √ √ √ √ √  √! √" √# ∙$ ∙% ∙& ∙' ∙( √) √* √+ √- √. √/ √0 √1 √2 √3 √4 √5 √8 √9 √: √; √< √= √? √@ √A √B √C √D √E √F √G ∙H ∙I ∙J ∙K ∙L ∙M ∙N ∙O ∙P ∙Q ∙R ∙S √T √U ∙V √W √X √Y √Z ·[ ·\ ·] ·^ ·_ ·` дa дb дc дd °e °f °g °h °i °j °k °l °m °n °o ╙p ┌q ┌r ┌s ┌t ┌v ╗w ╗x ╗y ╗z ╗{ √| √} √~ √Л √М √Н √О √П √Р √С √Т √У √Ф √Х ∙Ц ∙Ч ∙Ш ∙Щ ∙Ъ ∙Ы ∙Ь ∙Э ∙Ю ∙Я ∙а ∙б ∙в °г °д °е °ж °з °и °й °к ╗л ╗м ╗о щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Ї o °u ┘о ╥┤ ╓╡╕ ▀║ ф╝ ▀ў ї° чo ╪о ъ╡ ч Ў  ї! ї" ї# ї$ ї% Ї& Ї' Ї( Ї) Ї* Ї+ °, °- °. °b Їc Їd Їо Ї╡ Ё╕ Є║ є╝ Є3o є╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLмо▓╡ √╕║╝─┼╞╟╠═° є¤ o єо Ё╡ ї° єЖ щ щ щ щ щ щ щ щ  щ  щ6 ╘7 ╘Z √[ √\ √] √^ √_ √` ▒a ▒b ▒c ▒o ёp Їq Їr Їs Їt Їu ▌v ╒w ╒x ╒y ╒z ╒{ ╤| ╤} ╤~ ╤ щА щБ щВ щГ щД щЕ щЖ щЗ щИ щЙ щК щк ╒л ╒м ╒║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═Ўў°∙·√№¤■ 123 ∙4 ∙5 ∙CDEFGHIJMNOPQRSTUVWXYз ти тл то ▀┤ ч╡ Ї╕ т║ ц╝ т╜ Є╛ Є┐ Є└ Є┬ т├ т─ Ў┼ Ў╞ Ў╟ Ў╠ ў═ ў° ў o ёu ▌о ▐┤ ц╡ Ї╕ т║ ц╝ т° Ўи ° ° ° ° ° °# °$ °% °& °' °6 °7 °G °H °I °J °K °L °M °N °O °P °Q °R °U °` │a │b │c │defghijklmno юp Єq Єr Єs Єt Єv ╤w ╤x ╤y ╤z ╤Х °Ц °Ч °Ш °Щ °Ъ °Ы °Ь °Э °Ю °Я °а °б °вгдежзийк ╤л ╤м ╤║ ї╗ ї╝ ї╜ ї╛ ї┐ ї└ ї┴ ї┬ ї├ ї─ ї┼ ї╞ ї╟ ї╚ ї╔ ї╩ ї╦ ї╠ ї═ ї╨ √╤ √╥ √╙ √╘ √Ў їў ї° ї∙ ї· ї√ ї№ ї¤ ї■ ї  ї ї ї ї1 ї2 ї6C їD їE їF їG їH їI їJ їM їN їO їP їQ їR їS їT їU їV їW їX їY їZ[\]^_`aо Ё╡ Ї╜ с╛ с┐ с└ с╚ Ў╩ Ў╠═° Ёo фо э╡ ю° ё ∙  °! °" °# °$ °& ў' ў( ў) ў* ўb ўc ўd ўо ї╡ ▌╕║╝─ Є┼ Є╞ Є╟ Є╠ є═ єo ╩ ∙о ъ╡ ▄¤o ╩ ∙  ∙! ∙" ∙# ∙$ ∙& °' °( °) °* °b °c °d °о ъ╡ ▄─ ю┼ ю╞ ю╟ ю╠ я═ я¤xн уо уп у░ у▒ у▓ у│ у┤ у╡ у╢ у╖ у╕ у║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╨ ы╤ ы╥ ы╙ ы╘ ыЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ц  ·  ·  ·  ·  · ·/ у1 ц2 ц3 у4 у5 у7 у8 у9 у: у; у< у= у> у? у@ уA уB уC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цз ╙и ╙л ╙о ╥┤ ╓╡╕ ▀║ ф╝ ▀╜ ═╛ ═┐ ═└ ═┬ ╙├ ╙─ ў┼ ў╞ ў╟ ў╚ Ё╩ Ё╠ °═ °ў їо щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Їo ╠ ·о ъ╡ ▌¤o ╠о ъ╡ у¤ o ╩u Ё% їо ш╡ ▀╕ ъ║ ы╝ ъ¤ o ╫u ъ%о ц┤╡ ш╕ ш║ ъ╝ ш o Єu ▄о ▐┤ ц╡ ї╕ т║ ц╝ т° Ўт т░ ▐ЭU` Ўa Ўb Ўc Ўn ┌ЭА░ ┘╜ ╩╛ ╩┐ ╩└ ╩╪ └┘ ═▄ Ї` їa їb їc їvwxyzклмЭI╕ ш║ щ╝ ч(67` їa їb їc їo Ўp Ўq Ўr Ўs Ўt Ўv їw їx їy їz їк їл їм їkmnoq эЭMз Ўи Ўл Ў╡ я╕ ї║ Ў╝ Ї┬ Ў├ Ў╠ ї═ ї╪┘ ї■ яnЭO■ Ї` Ўa Ўb Ўc ЎЭJ╕ щ║ ъ╝ ш= ╪ ╪ ╪ ╪ ╪ ╪ ╪ ╪  ╪  ╪6 ╘7 ╘`abcopqrstvwxyz ╪А ╪Б ╪В ╪Г ╪Д ╪Е ╪Ж ╪З ╪И ╪Й ╪К ╪клмkn ├t ъз │и │л │░ ╒│ ц┤ Ы╜ ╩╛ ╩┐ ╩└ ╩┬ │├ │╥ щ╪ │┘ ╧▄ ф` їa їb їc їvwxyzклмЭI╕ ч║ щ╝ ц` ёa ёb ёc ёvwxyzклмt єЭ3з Єи Єл Є┤ Є╕ т║ ф╝ с┬ Є├ Є}  ї ї ї ї ї ї# ї$ ї% ї& ї' їG їH їI їJ їK їL їM їN їO їP їQ їR їU ї` чa чb чc чd їe їf їg їh їi їj їk їl їm їn їo чp шq шr шs шt шuv цw цx цy цz ц{|}~АБВГДЕЖЗИЙКХ їЦ їЧ їШ їЩ їЪ їЫ їЬ їЭ їЮ їЯ їа їб їв їг їд їе їж їз їи їй їк цл цм цj юkn уp юqtЭФ░ ▌│ ь╡ ╙╕║╝╜ █╛ █┐ █└ █╠ щ═ щ╥ ┌╪ ╥┘ ┌▄ ю■ ф j0kSlGmJoLp0qАr<sIto эрт ` їa їb їc їo їp їq їr їs їt їv їw їx їy їz їк їл їм ї Ё  Ё! Ё" Ё# Ё$ Ё& Ё' Ё( Ё) Ё* Ёb Ёc Ёd Ё щ ▐ъ ▐ы ▐ь ▐э ▐ю ▐k Їl цm цo ьq ╨s яt ▄& ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀)6 ▓7 ▓` эa эb эc э{ ф| ф} ф~ ф ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓▄.▌т3х.l Ёt ▀▄ ╧ ╧ ╧ ╧ ╧ ╧ ╧ ╧  ╧  ╧  є  є Ї Ї Ї Ї Ї Ї# Ї$ Ї% Ї& Ї' Ї6 ╬7 ╬G ЇH ЇI ЇJ ЇK ЇL ЇM ЇN ЇO ЇP ЇQ ЇR ЇU Ї ╧А ╧Б ╧В ╧Г ╧Д ╧Е ╧Ж ╧З ╧И ╧Й ╧К ╧Х ЇЦ ЇЧ ЇШ ЇЩ ЇЪ ЇЫ ЇЬ ЇЭ ЇЮ ЇЯ Їа Їб Їн ╧о ╧п ╧░ ╧▒ ╧▓ ╧│ ╧┤ ╧╡ ╧╢ ╧╖ ╧╕ ╧║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╨ ╠╤ ╠╥ ╠╙ ╠╘ ╠█рт я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╘ ╦ ╘ ╘ х ╘  ╨  ╨  ╨  ╨  ╨ ╨ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ф  ф! ф" ф# ф$ ф% ф& х' х( х) х* х+ ▐, ▐- ▐. ▐/ ╧1 ╦2 ╦3 ╔4 ╔5 ╔6 ╒7 ╧8 ╧9 ╧: ╧; ╧< ╧= ╧> ╧? ╧@ ╧A ╧B ╧C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╒[ ╒\ ╒] ╒^ ╒_ ╒` ╒a ╒b хc хd хj ьl їn ▓p ьr яst ┘┤ &` ┘a ┘b ┘c ┘o ▀p тq тr тs тt тv ╓w ╓x ╓y ╓z ╓к ╓л ╓м ╓ Є  ё! ё" ё# ё$ ё& ё' ё( ё) ё* ёb ёc ёd ёkq┼ ╤╟ ╤╠ ╙═ ╙л  я я я я я я# я$ я% я& я' яG яH яI яJ яK яL яM яN яO яP яQ яR яU яpqrstАБВГДЕЖЗИЙКХ яЦ яЧ яШ яЩ яЪ яЫ яЬ яЭ яЮ яЯ яа яб я║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ ї ї ї ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj тk їm Ёn ╥p тr чs щ╖ ю╣ ъ╕ ю║ я╝ эл  Ё Ё Ё Ё Ё Ё# Ё$ Ё% Ё& Ё' ЁG ЁH ЁI ЁJ ЁK ЁL ЁM ЁN ЁO ЁP ЁQ ЁR ЁU ЁpqrstАБВГДЕЖЗИЙКХ ЁЦ ЁЧ ЁШ ЁЩ ЁЪ ЁЫ ЁЬ ЁЭ ЁЮ ЁЯ Ёа Ёб Ё║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы█▐ртЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы ї ї ї ї щ щ щ щ щ щ щ щ щ щ щ ц  ц! ц" ц# ц$ ц& ч' ч( ч) ч* ч1 ы2 ы6 щC ыD ыE ыF ыG ыH ыI ыJ ыM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыZ щ[ щ\ щ] щ^ щ_ щ` щa щb чc чd чj фk Ўm Ёn ╒p фr шs ъ╖ я╣ ы╕ ъ║ ы╝ щн  ю ю ю ю ю ю# ю$ ю% ю& ю' ю6 Ў7 ЎG юH юI юJ юK юL юM юN юO юP юQ юR юU юpqrstАБВГДЕЖЗИЙКХ юЦ юЧ юШ юЩ юЪ юЫ юЬ юЭ юЮ юЯ юа юб ю║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ Ї Ї Ї Ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj сk їm юn ╥p сr цs ш╖ ю╣ щ o ▄u ю Є% сk ёl єm єo єq ╘s яt ┘╠ Ы o ╠ тj Єk Їn фp Єq─ п┼ п╠ п o ╠ тj Єk Їn фp Єq─ п┼ п╠ А ╓▄рт,х є Ўз пи пл п┬ п├ пo╓█ ▄▌▐ртх Є ї% °з пи пл п┤ ╢┬ п├ пў ╕№ э╓▄рт,х є Ўo╓█ ▄▌▐ртх Є ї% °┤ ╢ў ╕№ эo Їo фu Ё% Ў╓█▄рт!х Ї ў%n ╥з пи пл п┤ ╝╜ Ы╛ Ы┐ Ы└ Ы┬ п├ Аў ╔№ Ў ╓█▄рт!х Ї ў%n ╥┤ ╝ў ╔№ Ўj Їm Ўn ▌p Їr Єk яl Ўnq ╞s їt ╧k ёl фm фo шq ╬s уt ╪kq шt э` ╓a ╓b ╓c ╓o эp яq яr яs яt яv ▄w ▄x ▄y ▄z ▄к ▄л ▄м ▄┼ ┴╟ ┴╠ ╬═ ╬P` ╣a ╣b ╣c ╣d √e √f √g √h √i √j √k √l √m √n √o ┌p ▄q ▄r ▄s ▄t ▄v ┴w ┴x ┴y ┴z ┴в √г √д √е √ж √з √и √й √к ┴л ┴м ┴ · · · · ў ў ў ў ў ў ў ў ў ў ў ї  ї! ї" ї# ї$ ї& є' є( є) є* є0 ∙6 ўZ ў[ ў\ ў] ў^ ў_ ў` ўa ўb єc єd є┼ ▀╟ ▀╠ с═ с/ ї ї ї ї ї ї ї ї  ї  ї` ╫a ╫b ╫c ╫o Їp Ўq Ўr Ўs Ўt Ўu їv ъw ъx ъy ъz ъ{ щ| щ} щ~ щ їА їБ їВ їГ їД їЕ їЖ їЗ їИ їЙ їК їк ъл ъм ъ┼ Є╟ Є ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀6 ─7 ─ ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓█▄ртхkn ▌т  Ш  ╘)$ √ · · ∙ ў √ · є ° √ ш ° √ √ · ў √ · · в ° ╨ и ё ° Ё ю ю ° ╞ ш ▌ щ ╔ √ ┌ ┘ ╪ · ° · √ ° √ √ √ ° √ ∙ ў Ў Ы ∙ ∙ ╙ · в Ё ю ю с Ё ╥ л ў м ╥ · р √ ж ў ╓ з ° Ё я я · ∙ √ ° √ ° ∙ Є Ў · ∙ ї ° ∙ ° ° ╢ Ў ▄ ў в ш Ї є є √ ∙ √ ю ° ў ї Ш ° · ╥ ∙ в я ю ю в ў й ┼ ╡ ║ ╪ л ╔ б ╙ ╟ ї ╦ Ч ї м █ ╨ ч ш ╪ ї с √ ░ ╨ ё ° ╧ ў Ў Ў √ · ф ° ў у ° √ ъ ъ ▌ ч д Ч о Ш Ы ┐ є ╨ ё ╝ ╖ ╖ ю я · є ∙ Ї ╣ ° ф Щ ╒ ∙ ° ў ў √ √ √ · н ┌ о є є Є Є √ √ · Ў · є Ї √ ╤ ╘ ▌ ▄ █ Ў ╪ ╨ ╤ Ї с · э ╥ ╞ Ё ч ё ▀ √ Є № п ╪ · Є ў ў щ ╒ Ї т № ░ ╤ Є ∙ ╘ ў Ў Ў ї ° ∙ ї ° √ Є й щ л ╔ д я е ▓ ў н ╤ д ▒ ╧ ъ Ё л г ц о ╒ ╧ ╘ ╒ Ў · ╘ ∙ ╠ Ў ╔ ┐ · ° ╥ ю є ў Є ╔ с ╨ с ╤ ╝ ╡ ╢ ї ╟ ё ▀ Є р Є ╬ ш ┌ я ╝ ╢ ц у ╔ ▄ · ∙ ╙ ы м ╗ ═ у а Ё ° ў ў ї ╘ ў о ┌ ° Є Ў ∙ ° ─ ъ й ┘ ў ё Ў ї ї · ∙ √ ° √ ° ∙ Є Ў · ∙ ї √ √ ї Є Ё ╘ ╘ ю є ▄ Ё ╘ ф ч Ў ╘ ╥ ╠ ╤ ю ч ╧ ъ я ╝ ╢ Є Ў ╟ э · ╢ ф я Є ┌ Ї Ї ў ё ╝ Ё ў ╝ Ў я ╫ ╝ ╥ ю ё ╪ є є Ў Ё ╡ я Ў ї э ╒ э Ё ╓ Є Є ї я ╢ ю ї ╢ Ї ь ╪ ▐ ╢ ╔ ! #R UnPptjv└o┬╬║╨ч╟щь▀юу∙ $&.01 34"7f$зкT╜└X┬═\J   !#'(+,,-56789!:?@FRRVYZ_`cdnptvz {~КЛТУФвйкм н╢╖╕╣╣║┐└└ ┬├ ─═╬╬╨╘╒╫ ╪х цч%щьююяї Ў  $&* +.0011 34 7BCJKL MYZabd ee ffзийк"╜└┬├──'┼┼(╞╞'╟╟(╚╚#╔╔$╩╩#╦╦$╠═&H   "#'(+-5678=?FGRSTUUVYZ_ `cdnptvz {~КЛФХбвйкм н╕╣╣║═╧╧╨╘╒╫╪хцчщю яї Ў   $&* +.//1235667BCJKLMYZabd efзийклл╜└┬├──"┼┼#╞╞"╟╟#╚╚╔╔ ╩╩╦╦ ╠═! .Т▄ !"#(*=&@D:F`?b└Z┬┬╣─═║╧╒─╫т╦фь╫яєрїхdщщTм▓╕╕╛─╩╨╓F.4:>DN ╞ёU▓─╩Ъ─╩|─╩Ъ─╩ T─╩Ъ─╩ Z─╩▓─╩ `─╩ f─╩ l x r x ~^ К в Ц в Д в К Р Ц в Ь в~в и╢в ию ╓ о ┤ ╓ ║ ║ ╓ └ ю ╞ ╠ ▐╘ ╥╘ ╪╘ ▐┌ ф╘hz ъ\z ъ$** №$* Ё$* №$* Ў$* Ў$* №$*$*$*$*& &,>D8P2D8P>D8P>DJPV╛hz\zbzhntzHflrxTflrxАflrxTflrxЖflrxTflrxМflrxТflrxHflrxTflrx`flrxШЮдк░ЖHl~ЖКЖ╢Ж~╝ц╘╬╘┬╘ц╚╬╘ц┌цPЄрPЄцьЄ~ЬвиКЬви°ЬвиКЬви■ЬвиКЬвиЬви Ьви~ЬвиЬвиЦЬви"4.4.4(4.4:@о╞L╞L╞F╞L╞RjpXjp^jpdjpv─╩|╕╩В─╩И─╩О─╩Ф─╩Ъ╕╩а─╩ж─╩м─╩▓╕╩╛─╩╨ ╓Ї ▄ т ш юЇ ·  *$*0flrxTfNrx6flrx<flrxBflrxHfNrxZflrxHflrxTflrxHfNrxTflrxZflrx`flrx~ЬДиРЬви~ЬвиКЬви~ЬДиКЬвиРЬвиЦЬвио┤║╞└╞Ьо┤До┤fо┤До┤╠о┤До┤╥о┤Ьо┤╪о┤▐о┤фЁъЁ№Ў№ & &╪ЁЎ└ЁЎDЁЎ,ЁЎ└ЁЎJЁЎJЁЎ└ЁЎ2ЁЎ╪ЁЎ8>╪PDP└P╪PJPVTb\TbhtntАtzАЖМШТШдЮдк░╢┬╚ъ╬╝╚ъ╬┬╚ъ╬┬╚╬╘┌HTрTцTHьЄT,JPV\8JPV\°JPV\8JPV\■JPV\8JPV\JPV\ JPV\,JPV\8JPV\DJPV\06$$$("""(.LF@F4FL:@FLRX^jpd|jpd|jpv|bАЖМnАЖМВАЖМnАЖМИАЖМnАЖМОАЖМФАЖМbАЖМЪАЖМzАЖМажм╛╕╛╕╛▓╛╕╛─╩Тк╓к╓к╨к╓к▄Ї·тЇ·шЇ·юЇ· $*06bЖ<BHNTZ`о┤fв┤lо┤rо┤xо┤~о┤Дв┤Ко┤Ро┤Цо┤Ьв┤ио┤║ЁЎ└▐Ў╞ЁЎ╠ЁЎ╥ЁЎ╪▐ЎфЁЎъЁЎ№JPV\8J2V\JPV\ JPV\&JPV\,J2V\>JPV\,JPV\8JPV\,J2V\8JPV\>JPV\DJPV\bАhМtАЖМbАЖМnАЖМbАhМnАЖМtАЖМzАЖМТШЮкдк░Цн╡W█W╣T█▐█5 1╣Ц%n╔▐Цнї█ї╔╣█Цne╔eЦe╣eнe╡°█°╣°■■█■ s╣¤█░█¤ sтnG█╣▐█ s╡╔Ц╖нз█з█Є█▐Є sё▐ 1ё╣   sф▐ф█ф sфn╔Ц╖н█r█rЦr╣rр█р Ц ╣▐█▐╣▐▐▐Цшшn╔■∙,√ў╣їз┌█ |▄╬ ў╣їз┌█∙ |▄╡∙╣ e█e |e▄e\ўїз┌█ |╣▄╡m█щ n█ |╣▄╡█<  █  | ▄ ╡ ╘У╘к╘╘▓h╪h╢h╔█╔╪Ў 1╔╢╔Уцъ└╪ъь▀█▀кСС▀╞▀У▀ VЎV╘ёАV╪V╞V╢VкVУV▓W╪W╢W ██╪█ s┌╪┌_З_йй_АА╪Аё╢ё█ё sё▓ф╞фУч┤фкъЪ╢Ъ█<Ъ╪< s╗█╨ 1╗╢└╗╪└ s╪ИИ╪№╪И sИьЄ╞ЄУї┤ЄкЄ─╪─G╪GУG╢G┐╪┐╞У╞╢┴╪┴╢┴█┴У┴┴ь╪╪╪Д щщ╪щъ╪ъ ~╪~Ш╪Шё╪═╪ё▒ ╘¤╘╞═Ў╘)╘°╘Ї╘╢╘Є╙д╘╫╘╪╘ |╘┘╘I ▀Ї▀╢▀Є▐д▀╫▀╪▀ |▀┘▀▓▀Y$V |V┘VMфЇфЄудф╫ф╪ф |ф╢ф┘ф▓T╪фЩ фьЄ╪Є |Є╢Є┘Є▓╙╪Є ╞╪  |╞┘╞▓    6 !Q_>Q |_ sN 1  "x  &,228>DJPU╪n╪C╪В╪М╪m╪Ф╪к╪  &,28>UУnУC╢В╢М█m╞Ф▓к┘   з╪ 0кDFLT    aalt>fracDligaJlnumPsaltVss01\ss02bss03hss04nss05t  Ltж║╘ш. /0234156t н╣╨яЁk e╪fщ╧/0234156н╣╨яЁВн 01╣b╨ 345яЁ" kО*T`vВё┤jjЁ┤j "г┤rб┤nЯ┤mЮ┤lа┤mд┤rв┤nе┤rж┤rjklmoqfcidecomp-2.1.1/documentation/installation-manual/_static/custom.css000066400000000000000000000004061473255640600257570ustar00rootroot00000000000000 div.admonition p.admonition-title { font-size: 14px; } p.last { font-size: 12px; } @font-face { font-family: "Dosis ExtraLight"; src: url("./Dosis-ExtraLight.ttf"); } @font-face { font-family: "Barlow"; src: url("./Barlow-Regular.ttf"); }fcidecomp-2.1.1/documentation/installation-manual/conf.py000066400000000000000000000176021473255640600236120ustar00rootroot00000000000000# Copyright 2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # # This file does only contain a selection of the most common options. For a # full list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- import re project = "EUMETSAT WP FCIDECOMP - Installation Manual" copyright = ( "2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)" ) author = "B-Open Solutions srl" # The full version, including alpha/beta/rc tags. release = re.sub("^v", "", os.popen("git describe").read().strip()) if "CI_COMMIT_SHORT_SHA" in os.environ: release = os.environ.get("CI_COMMIT_SHORT_SHA") if "CI_COMMIT_TAG" in os.environ: release = os.environ.get("CI_COMMIT_TAG") version = release # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", ] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = ".rst" # The master toctree document. master_doc = "index" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = None # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = "alabaster" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {"font_family": "Barlow", "head_font_family": "Dosis ExtraLight"} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # The default sidebars (for documents that don't match any pattern) are # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. # # html_sidebars = {} html_logo = "images/eumetsat.png" # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. htmlhelp_basename = "user_guidedoc" # -- Options for LaTeX output ------------------------------------------------ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', "papersize": "a4paper", "maketitle": r""" \pagenumbering{Roman} %%% to avoid page 1 conflict with actual page 1 \sphinxmaketitle \clearpage \pagenumbering{roman} \listoftables \clearpage \pagenumbering{arabic} """, "preamble": r""" \usepackage{graphicx} \usepackage{background} \backgroundsetup{ scale=1, color=black, opacity=1, angle=0, position=current page.north, contents={% \small\sffamily% \begin{minipage}{.22\textwidth} \vspace{1.65cm} \hspace{-0.175cm} \includegraphics[width=\linewidth,height=70pt,keepaspectratio]{../../images/eumetsat.png} \end{minipage}% \begin{minipage}{.8\textwidth} \vspace{2cm} \parbox[b]{.6\textwidth}{}\hfill \\ \end{minipage}% } } \usepackage{fancyhdr} \pagestyle{fancy} \fancypagestyle{normal}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/installation-manual \\ version, \today \\ EUMETSAT WP FCIDECOMP - Installation Manual}} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot{} \fancyfoot[C]{\thepage} } \fancypagestyle{plain}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/installation-manual \\ version, \today \\ EUMETSAT WP FCIDECOMP - Installation Manual}} \fancyfoot[CO,CE]{\thepage} } """.replace("version", version), } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ( master_doc, "fcidecomp-installation-manual.tex", "EUMETSAT WP FCIDECOMP - Installation manual", "EUMETSAT", "manual", ), ] # -- Options for manual page output ------------------------------------------ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ( master_doc, "fcidecomp-installation-manual", "EUMETSAT WP FCIDECOMP - Installation manual", [author], 1, ) ] # -- Options for Texinfo output ---------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( master_doc, "fcidecomp-installtion-manual", "EUMETSAT WP FCIDECOMP - Installation manual", author, "fcidecomp-installation-manual", "One line description of project.", "Miscellaneous", ), ] # -- Options for Epub output ------------------------------------------------- # Bibliographic Dublin Core info. epub_title = project # The unique identifier of the text. This can be a ISBN number # or the project homepage. # # epub_identifier = '' # A unique identification for the text. # # epub_uid = '' # A list of files that should not be packed into the epub file. epub_exclude_files = ["search.html"] numfig = True # -- Extension configuration ------------------------------------------------- def setup(app): app.add_css_file("custom.css") fcidecomp-2.1.1/documentation/installation-manual/document_info.rst000066400000000000000000000027471473255640600257020ustar00rootroot00000000000000Document Information ==================== .. table:: :widths: 30 70 +---------------------------+--------------------------------------------------------------------------+ | ID: | fcidecomp/documentation/installation-manual | +---------------------------+--------------------------------------------------------------------------+ | Version: | |version| | +---------------------------+--------------------------------------------------------------------------+ | Authors: | M\. Cucchi (B-Open Solutions) | +---------------------------+--------------------------------------------------------------------------+ Document Change Record ---------------------- .. table:: Document Change Record :widths: 15 15 10 60 :class: longtable ================ =========== ======= =================================================================================================================================== Issue / Revision Date DCN. No Changed Pages / Paragraphs 2.0.0-rc2 8 May 2022 Initial issue, prepared under contract EUM/SEP/WPD/21/1244304 by B-Open Solutions srl. ================ =========== ======= =================================================================================================================================== fcidecomp-2.1.1/documentation/installation-manual/images/000077500000000000000000000000001473255640600235525ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/installation-manual/images/eumetsat.png000066400000000000000000000311551473255640600261140ustar00rootroot00000000000000ЙPNG  IHDR╞@ArШ IDATxэ}i┤]GuцWu╞;╝Q│,O╪▓Е-уIЄД'l3ЪЪД┘аcРtЪ&!4+щмРР,ТIў :Э╥4 ─ NlГ ╞`└╪▓e╦єИeY├╙ЁЇ▐}ўЮ▒кz}╗юХхIOy`▒┤╓=Zў▌щ▄sкvэё█╗╢Фs╬ax )0д└3(аЯёn°fHБ!ДC┴2┬Р╧CБб`<QЖ )0М! )Ё< ╞єe°╤РC┴Є└Р╧CБб`<QЖ )╛8$(╫Ч9fItчмS╨PГ╠Йspиа┤ъГ╧№▌P^_Ьu^ї`)ЁвF]aГ[gсмБ░ ░D ,а╡ВV~╞~н┤ ■`g0Ў(\|▐Y8ядЧ№"i2╝ўРXШ`8а6╡─ :P`Xmа╙│°╔]ўb╫lзА┌YTd| ╢FYЦ(╩uaРч9КкFf*dEЙ┬╘(╩YYртП└√пxF# б{Ue]│0ьc╜є:ы xdr уА&Йю╠лИ'NC╬Е'Є░8╨pЄЮ▀sГs№Щ╞(MзQЙЛ╚kЖP2 0A;╕╧┼ф°ЎЛ╗№· Th■Ъу▓░жBЁюJ└ ║и┌4<╪7C8┬yA▀╓Єs <┬¤т╗┬A%╩O╪√№I╖}.нбt║╛JиAЪ(ШZ!▄>фэd╝з  йЇ╟─╣╦фЎY?╛фBhаок°╥Z╘Aь╬"рНeЎ<═╩їq ░╝$╩SЩ&Р╪Vї╫|└/|С ЖO60~░░ё╙эSxшБЯв╢t┴j ├I╓5▓┌ак*Ї╩yePd╒>┴ш╒%Є▓B^W√Cugq┬╤+ёё]ЙхM"*TBДИцбЛы39GFВD:Ф#ЩКЛ ВБC╨ЗНфсrР┴╚╜°╣Vj▀y√╗╧7╠KV%K{╞свУё7В №ўЇA^у┴▀9a╢ЦZГЯЕz▀g╡3г=;з├╣PР jшч$A=3ї╩ IФЇКвM@Ш╪8#Яя?&╣∙│ 8ОхiX}0 ▐ЯА?8Ogм0с`╢вяМкДЙjU!айа08  ╠▀У9╔ШdШРч "рХЬтщХ_▀Тr|ц╣ ё∙.│0┴ртPє╢lЯ╞жAЮ╫ШX┤aТвнщV(╔Mв▒4L о4LаыU ╝fН п╕°MШ8├Ж█o╟л╬>┘SГtч∙∙&ЄМ╧*яU0│кX╛ mт╡9пФЄЩht╟{ЛкЧevL@*j$о▄╙М╠╡▄зИ╕╞Є жцЩ┘ЇЕ┬Б.ж▐Зо╤═сD├╬]ў] { ▌▒hвт_*г<│ЁzтЮ╓Ї(Я^hОРoj?\zNd4~Кт)c*З(в+ё┬^▄АЖU╒CУn╬3лД~)"╛яУИ┬MУдDш╔Оw╫+╬i ▐Э▓и ZЖH~├ RЖюjЁ▓%рRo№~2ЬвP9п╝Г}ЮgZTz ╝ЯvБ║у▄Я╢■╧є│g|┤0┴7 ╞l╧р▐AзS`ё╥хт.НООв{эXVF4▌й║PBх╦CшSGУh|Ё}╨WU1Лvв╙┘ЛШ< ╝├I╥ "╡Юf╪g╠ж Ж№hЛ:Ў╙│╢F@S*5Y╘▒╝` \╪╛KEa╫!їеХекro┼┬╪╦ ┐aтrЯ+сM║еыу(зби∙Oфb*8M╟MfЛ┌╤rЙNюЗ}╖@ДИc"чRрX[FKya!Г╤g╫Їёy'щ5▓CяOИA}4 зкАXb 3┴╛№рЩ╧axWР&$фє╤@й=╞╬ЯQСЇЯ¤ а,k▒√[HоХВТ─дПё┐эпy]хИ"╞b┤╛"б╛R╠{ёюTМ╬WH╠3~▒H┬ONrZо!┤еvС?s╬╧~╖ ┴░:ВS w▌ў╢Mэ┼╪теB¤v3Eи Т4Х(2PXЦbYВ└Йы}Oю~t╧#▀╖"[dX║Ї8ъдЗ║АОX[Bif=pшЪ─<ЗH╠!оСюЭJЬўХ)Ф▐%р▌)8С╕a№Ї}и╤8DLBJ Cцт54м ╝л|╨hз┤и┤┤▐j14T$iЪ27"яТp&Jjї8 рT"УSA("l-УЯМ{JДМEP@QkS█К|ш Ё▓H║JВvQ:Л-E└НЄ╨пO{! ╓H╝PяРАЫ<\AQ$г┼е7;тW╥-м"5╡CСF^Й8*3ВЪ,OБя+▄д%нЪ╕Кd┼HтЛ8д4;бЙ─л╔Ди·q[мyЭСзпbЬ(г8МdХ%╢█╧т╛╨U$FkLMgxшё═@╪Ф╔═╬╬bb╒T┘,К(АК,*ыP'╚М▒DБ╕HнGДиDЛPAў_sаБн┴Z}ъ╪ `D)$Q SH√VрЕ&─╧kг┼B0gFlЙА ~у╔NЦЎЎ'пйQ}8╦ёQ!хї║лШx┤Hтб°R K[(<╞╟%tЩ*еCгЙ╝й~ЁЩх%-╤Г"Ж"zеБT╞D еU ╘^ОDщsБj"К4B$Tи║Е,/Р$ЙA╞░Ь ё▒XЙd_░Z╘Рё╫К╠┴▒╪bИlПy└Р2╤┤▐bЄє╨#duцдD]°TR9ДСЦэ~ТW?,*ep╞▒kЇr@ЇOТ чВЖy┼╔c╠┘н╨hQИ№<5ш√Fw:вKн╪h_Ь╖ЯwyаKЇ#ФЮЄ▄/ozЁAФ╡C(К Iд╤ЭЩA#f║ё!Н╒(КUeЭвР╨З▐_п∙╠Г╧ ╨Т╓(╛√Г ╪╕ёnш▓ЛvTу№sN╟╦╧<эY@щs╟g┬▌ ╕■·[1╫╦&MФЇ▒├ХТ╨в╬3й█rоF+ЬrЄIXsтB∙п|ї{иMЕfв(цЁТгWс╝їз√КaA\bФ╡╞m?║█ЮЬF╞(к9┤'B╝ъ╒б┘К°Ў ?DЦ╫°R;jаЧ╕№їЧ"И╕└^ГТIL\wэН╪M╔T1с▐▓Зеcxх% &╘ аkАЫxvNэBзB_·╥ riбxMjщв&лY,^<Й /9?4Е√я┐жЎщ╣ФєЯx1ж█eAз▌Кqъ╔k▒zїr19"№tє46▐■0║я)ь▐;лkМ-nb╤╥Q╝|їRм^}<Ц,ЫЇАAeУШ@xН>=SсЪkn@7+з сС╔%Kp┼хg{!p└L╟р;7▐М,я╗гд·Ъу&щ9с│О?з╛ь$д▒ўl}Ах∙ь~║яуY в$ў>ЇTL,╒@3HВfrН.ЪhYfP╣ б┌┌а45*Уг╥╠~QФ└мsВ2Ф%єdТ╙I╞╟s╗ЎxAВAKЧ╪<√Ьyцщє F\╜*╟G>Ў9qуt╤@ЭFИv┘"аМ3аИGmДuБ╨n├╖■х│`шаВ ┐∙╗WбЩ╖С╟9ФНp╓╣╦q═╦OvЪШWНЯ∙ЗятGw<КС┘▌6}ш3Ч_и╩$╪Н┐Є╔╧#▓G└Ъiдї(:н.F╩╛w╥)XuтR4┼us╚а1╡e/>Ё▒k1;Zв╡+ДЮиБвЕ░5Н╟~r┴╛√'╨°Э?╛;╖N#R]T▌╪н═дfкС=P╢ Э╟Иь оx )╕фU'у_o▌А┐№╘═ш╤Иц2┤т d6GЎ╫═вg'▒sll╘┴▓╬ P╜зp▌ППЕQvnэсЯ■~p¤ПСЛQФ\ф`в ╓ в! ╨p└%чп╟o ╞;Ё▓УузY╣дbъ ├╖п▌КO¤╬НШkЎрВЖА"═bЧ^pVМv┌╜О┴o|Ї_▒╗a╣Йю"*и├YХ!HcX╞ОЕFПбьu1^Лnt?■ЁO▐Кїы╓@1╟дш■╒╝b5P√dфр_LэЮKрГъ╩√qu-┴wЩWшd=╠х▓,CСТ┤гх t[х╡а@;vяТ┌@!╧ ╤p┤╝цDЮa▓╩1Ц═aСй1I▄╛3Гjzz3Q:╨hщw╙ы╤qN╡рв*·╕c@СB4┌m│╘t9N?k-VЯ8*ююБо{░▀╤№s ╗w╬КыBME°Ъ╚ !X[;|├=√ШЕeў╘Б▀■сЭтЧ6DШ─░╣Г╔k╘yЕЭ{─╤7Ф┌╠кe┼фиГ SXе6"╕иЖю%P6АU9тЗ °ц7"@М8РЖ1F╤F┌UhVMиоF\╡╫-DUЙEфЩ 1ZОCя╬qю∙ы░·╚уЁ°fЛ╖┐хS╕х·█СЖуs8ЕAhА8╙hdMд∙(вrQ8Жып╗_°ч╧Б0,TЕ*ыЛепМ |їы╫аО ╥н БJ2╟╕ю;╖вFSФ6Дэ╓hгНСj ёЮ&lH▌┌XКд7Кf5Ж4KбўфhыY╛УЛ"\zсy^PлJ<q&Є╪■`W{┐є╢m▀!хеоaUИ RPY!ж╛о║HгўY╞╩╥Н▓(kГ┬T(ЙN0kЖb-:▌ =╞"e ║6~у+▒|bЩ+пj╪@ Тб╗=,k╪М╩0┼иPY&Ў"D6F>7ЕF[├┼{╨╩╟PdЇXfёб gIкS%█ЯK┘╗wy╢l▐ m"ЄВИ╪~ЙИ▐kс║Ыя╞Хя╛DЦЙБ7Л,┐■э█Б8Ж╬rБUM$Н~YДй╙8r|Ь2p╢фi╨═к Б2D>╗ УG╓шOaдZО╥їаRГK/YП3NY B QAх3И╚02>Йщ'жб'╟6b8V&LыIL$ЛP╓FЧh|°╫▐(▀я ┴ч▒∙╤╢щ▌Ск7Н▒┼)ТЦA╘H▒wк+┬l]А▐▄╜ц№ц╟оДЦ░╣B╘lБЙи*щaєц6▄Гм╔дчбаЩ 2_·чясЭo>WE╒AsYН╜nмОС╢ кдЙ▐Tq{Б `Є н▒╬╬uБxeИW┐ъ,м\▄ЁаJ╘Ф`╔x▓█ПйЯїrAо╘ЇЮnU5о(2и.Й¤0щgсЯйдW╚Т·╜5д4Т╠ff╨┴O╖oE│▌F▐ЩЕ-╔4Ч]p.∙ЩЭGY╚GyЧПF0╩ы√Ё╧Ъ╦╛╖d@╧щ╠╩zДfty┐√бwрхп]Г▒▓ЙВcш╨nk,╒И@WПх ■~╓ГA#░cы ┤'Гїy┘A8╥F=[сОMOp %qШв;[у╬{ЮD]жHужЄ(ЬСЭР!жvvА5+Ya)Гh^GбBЪZЬu┴)°єO]БEН6J&╤ВеЩ├СK╟аъ.В0└я;\╛ L┬╕ yс?¤П╪╕i3Є*ГЭ`)7|ч/╤Ы7 ┤В╟?ЙG╢Mужя▐Ы,БkЕ(╦FЦ[№ї▀|чЯsДTЮd9░щ'[ёO╫▄Ко╜ °▀KG5┴ t,╣╣·_nCнRФtы*┼$+*хЁЁ▌█ЁфVЛгЧЦx╔╤г°ЄW~U3Bh5в▓┬ЧozЯ√лпIЬH┐:tя∙╡╫уЄW┐ kQX`эZ║йЇы·k╔єTИ\B|ПЪhХ$3Y&░ЪеЎВBйB)SpeНТ┴│л╜▀Gд┬I>1┘WЪ UYA╟╢ю╪БFлЕм*aлоштМ5лёо7Ь s`оDЇ)Сжl·X╝LЇ└и]ЮaкQФ"pLoVМм]1Ва*А0Р _ы2─ Кэ╕"┘№▀1Rв█;╜3У╥AI╚м╚б ]╗{wх╪╕щ Ьy·`-╒6lBw╞!╥ ╦iu╪&Шpмa▒kк'ЛLЧм.,\R╞!ъ╝Г─┼8їш&┤aВМ0o .С\┤p#ЦНжHG┤° СnвBНf SЎ$╧!Tb═1cОбЎЩED┤Ю┌╝FЗш5шкё зЮ▒ыO;-ц]lQ`q┴┘Л▒■▄7# фы1╓К% Z>&я╕v ш"┴Ч╛rГp)┴▒h/I╤▌Ы┴jЛl┌тжяn└пX╟Ї?╬zщ2а╗I@ ─[╢гм║PHбcФ%VЯ░gмЩD╚-╥Бч╔Зи╨ч┤R╧ъ╦Ёц░рБ▓и╤+j╤■м}Т:з╩ ╦+Б{eНвиСў╧╦кZ ∙;&¤К║Ца)ыцш╬╠┬Х^▓l >Ё╓7cФиK]·=ТФвVд╞ї┼{мeЪяpеУ╠М6s)l╕Xа.¤5(Д+у▒|a┐\СдЯї`¤y█ЎiqiA)дУ╟L┬ft ▓!о┐∙n╓ер\w╙OыA└d]4ЧдилЖ╣`╫ЎY┼╥ НB0▒LЬVЩ╕Wi▄Аб·TЇ═ЛўДY┐Bц╧а└╕к╨`EА╪wа╩╘╢╨╥ИVu╔nБ─ t┘╚╔БMСў\┴╝ЙFмту▀╗q3n°Ў#╪3┬щ1шp░ ┤3М╖TщЕY┤ ы╡FА╓r [Ю╪ ЗHъугзп;RP║Ъnx#┴UWХ У шРШ╩E@/ВлjдeAС┬ЎT∙Ь(r╔OQR┘J6Ю 8б@L*К+{ |░ЇМK▒▄гиJш E`2ц|├┘VЯgА═║%╨л╘єPєI1a_а╩ ╝д╡| >Є■+░D й═[■~5-Х;╜TC№ ёаВЇ#zцE╗╚а-РDMzW}ы.▄ё╘vа(4Фy'п^Йў╛хbaв2╧╤ ▐№3м г╛}jє6Я│QFr!ы╧YЗы┐q l╓A ЎПю╟'■ы@^7▀■иoХgHSЕ╡gЮА█n╝ЦЙQD╪╢}П@е─ўЩcл]ХJZ╡Ёрc№┴Я}6g@ё╣Ю┼∙э╖aм Б,╔а┌08щ╫eа`2▒╨░│шХXC┼фb─╤Р╟RС{▄qKО[еБ-;И┬║╗~ыcЙxд─Й'н└║╙^ЖЛ/║gЯ9.s!L*кИAджzгaЁ┼/▌ т·:╥h╬е8√╥уЁК╫ЮЖ ▀┐9cє░ЕM=ЕMПm├╟мР*г6╔A░тдtИm"ё-sЛ|РядвБиK═№U"▒-╖O╟:Жf┼/└в═Гр·Г8х╣\╥|1╤D$КИK▌п#2*МEZB▌IF╓8Л╥║н$1╞,05тXлН_} {▒дM▀з4E A Х╚б$йXN@nИ91┌у∙ьл*мC╥H╤ы╒0.DQ5Ё╜ЫFvч}hШ6╩вЗ(58g▌KЁО╖^ ЄШdl>щsз}╨Я *_wю╪-К┴▒·6╓8їЇ╡╕ёЪ█dm"╕√Ю╟0╫Юzъ)<№ш6М╕ШXc╤У8єьS▒ёG#C]ь┌1▌/▌bЦЛ-З*╕╪въ╒Г[этп ■;И│QdiIнб╙i╝єгп╞Hбб[n&'▒╨√┘╠шт╘IА╩e╪a kйъ" VЬ}╘(╬║шd▄|├у╨эЮ└┤Q:К^`f╞af╙▄rч7ёчw NX╓─п~рЧЁоw]И╡$eн5rkg*▄Ї═█Qs;B╒├H╤─┼чн├ygSU░К0~В^ ▄t√Э8си╦СFTнмAуР{x ╩.lиfKиА)G╤╠f╩Z▒]нkfr╔IЙ0c■е\Р`,M%G1Ухe∙G9Г$ ╨3Д╫"д╡CЪРёЩи─Ч╧нF╖╓иY╘W√ ╦М;▌.~уў T{Г2СЮ╨и+┤UИЮu0НD╗&ъ■чя■7мZ╕p@Ъ╨[0жЖС┬┼HЁ▐fтCя3▐°▐ 0Rf c╟1QУ УT,┌╤┬РМSг7`еЦ█"N╔╢*Бнj)oлё╔▄JY╦ъ▌-ГWь;wLCЄJRRO╘.├шxИ╦^y&■т a▄Ж*C№x├&l}j+╞еГJ╥╥8єЬcpыэ╘КvCr!{w╧╔&пV┬zдQшjnzщ▌┬О=u╛ЄўЯВFUа1X- м\NMm$WРp-юf╕?╧╤/3ЧШFрЄaеpьТ№'чууЇ №р{рюНПр╬ wу╬{╒▄(Ъ╔┤щ└N:Їfc|уKwруx+tФуз█+▄▓ёqдIД╣щI:Ж╓╪*№у Sg`й !¤╚еиУZ,▐u ·cЬ■╤╫#рn>╓жIхё∙Й+цъ╘╢Р-пa!Кй╚Z╕·ъ █IsфI╗$C5СгWЦ╨═Qй┘кm.є2╠С1Ю|tю╝g;Ь-╓пШg¤_/H0иvVМжx═ЕganчУY,XPI"-rX╪┼Ао7╗Й*▒д|ь╩wу▄╙╓`Фf┘0А %Рe0√ьG└ДT?#DИ7╘,аP╨═Щ▀GНhЩО╔╢NцtЛ]Ц]╟dn·i°а▄ЯоСш&@Н╪0ИЪ>╗Ly█╬▄u Ї$цiбЛ?║k+Юxrзь╤а36╟Q╟,эяG0╡}╖дгjmQ┌Jv─Н&M(cёЪ╦╬@U╠╔.3X║oДО;ИВчп?t▄F ┬▐!O"qvLM√║#G╘о Х▒┘@$┼ЧЕ 0║╖ PgQcОuВ ╪C╨c░│b>s╤O╦╛ л┤╛H┼m■╙╧~їЕ[1▌5`%J-e─▄Б[█[ЯТ└╪╓й╬a╒ЪQD рО{╢сЙGзQ5┼r[#4sЛdoнMйX[└Г┬Zb╓╩SШ┐г╫·ёДq√I&F>ерEх┤sЭ┴4╕=u'М╥▓1&Au`Дх%5ZИ╩&итsf6$PKA4X╖╛Н▀√╠╗1╣иBnw╚^Г┬Ж╚ЪХе█4 П╔>j╒▌ГгПiуo>¤!Ьw|елQ└}[v jд│mш<┬тE)f╪е#Ю%№ъ╫Ь;╫ГоЪ╨ХЦЛ^s"║d╔`/fL.Oс▓)Ц└ЩПlc║╪еАд╡ К∙Щ╝-┼Вж9уЩЩ:Е■╣ОQ╗Ek; ▌`оF╬@14╓Ш▒pQО:▄%╒┐ХrИ▓╢fлlШ╬А╗є^┤Ц▓t`╡AC%hх▄╧╥D╜EЎ6зРПьFаfЁ╢wЭВп¤пПбaАo▌°8▐; ╗$DЬЕhЎ №Є█_Г▌%╣bLD░эТ^nщz√/A╪ьв(z0Н│qИ/|¤┌Q(L#7+Pк]H4БгчРЫ░_l╩=Я?√▒ Л┴^▄╦!z∙N;ёx|ф╩ўтя╛°Ut З╖╛э]mу┴й.ЬafЦ°│ТАЦ┴▄р╡ Я╪*ИнfЬя вєiм\╣qв( i т√═/╝V жw9Ь║цXLўLDнk█Qэ6ZшХ╛ы x+YЖ╒╦Ag`¤в`яyч:м=єH\¤═Н°Ўїё─}█ЫTкu│цу`fc┘кХx╙ы▐Д╖┐х╡x╔Q бь╗`▐ШМcм\ъ`WF0eНУО\МQ╟J╨IЮ]r╬щ╕~эн╚YEл5╞╟с╘уY╩╝IНvЬ╛fюмvHYМуйA┬К╝t┼j╘S;аг1#╦P╫sТяИ]Щ▐fеIывш`м╜ fh.бУ2Ў2└qKЦcч╩=▓Ш╣╟-lk─=цUvY╘Ёх· n╗ыI| {╖уцЫ┴он;Счв ёНрЬ├q'ЯА3╓ЯЖ7┐{ N?j9"tP╫ ║ыЬz▄╤Ш┘^г╜tсшЬsЎ▒eо╫ЇР▓╚yQ"Ic╝ю▓гЁ┘Uу(╘╩В▄в░эбeЪoь┬┌ЦвGd╧жh6[Ш╨▄lLFъ7гоZ°Я5\глB~.╦L0~о!Y|ю ■ ~░qУьgv▄jщ┘╜╟Eb ,u▓¤╛C▄$аЙO3╚д┴JЙЄп╝цм_┐ЛM°·Аь╢с|╫щК~А9;ьБ┬(ff─г▄└я]хБyд;FqdЖTтK╓щю'l╒ЕVУТ[б'Q ь+{r─СF═ЄСзKnдб6░uО !P·▐╝ ╚,Р7(+4┘Єдd-Xyfї╟@ў2ъ╗Р╥ЪCkщ┬╖▒Ъи┼)═ЮBзСДУтq>RЦ╥░▒@▀·К$╕kFИЩKЖЬзїfПм┘Ю╠фЫ┐■АFТ-F│и║9вf[ИEгOЛ(CЕ&х`DTдГ ╟╚=0R╝_╧▒A║&BбB42а■сy∙/!G┴Ёmw*KEJlР╣┘F!чТ6!П█╪ьA6)Ёf■ЪЬKЁe├X_Ї│  йл'G╤ g V▓Ї░FыоG╖сж▐ВНЫA╫▒Ф9Сь1┐P+d,й(sDбBвнььП\x╬z╝ЄвЛqь╨h°HД╒┤lцПБ┼,▀ M╛т╞b┐[М\г Tьв+╔;v!dОЫД╘Є▀и~WЛ}1)╣YvЎР┌╥7OтоTp├сW▐Ыьaa╪ЮЗЭKT|·В7ы▒Wг╘ r▌пЙЫ┤Нм№>$ЮejтC2i┴Х93ЬКUЕ$╔J╠k!]RO6? ├A[&3╔°ДQqедm╤ ▓FмB?ю>∙(ф"щ(┌ОЭ J╘I Т.4Q WеJСТP░Oс╬╒вк╣Ч╛-Ь;╩ ┼ДЙ╔Z`ъ2b9}Йx L╓°╣░щп┬d!h_ыK╠А╖сг{В&К0 XВ╗ Т~б"5с╧x,H0╚╥╜П╙к╩╩·RqйrЇZс╔йю╝ i╚╢e╦6dY╩╠Еf3┼фXлV.├║У_К3╓о┴"v╬и!┘mоSmJiкр{qpж¤Ў4╥┬цЕgNvн╚Г╢МГl)59 IfаdЁDб8 ╔пб╝g═╧м┤Сqь:B╞,┬@(Ji╝+^Ио╠a3■ЪоўZ╚&|ЛлР╞▒)╗э╔┴ДўЮ╓▀╫─ХСy╦ўф^.4╟╞6::v╜р4╚$RГф+7ВъЬA3V _┘j█$~U* Gs┬FТх'AXmP"e;E░DЕ$Йд Od╤! е7оМл?vrРMUt[KPHс_Км╥ЇPeC;ш└╚xТ¤tiIe╫%I\!d▒#Хо2(Л9─iKrd!;┼HgB_╜mrnЙ&)fTЄN╣л╤Шз=РLrЮ?  [∙ЦЦ╝6УWм╒ё╗J░╛╟УЫ( [эp∙`ЛбЭшQ╧4нв╜Л└№j│Vh.+∙▀Ш╕<еп#╟р~¤╖╧z*еsэ/рўСa$╣ Ўе%sx^у яЮ \╚$]JЯaf╧еЪdП│`6:Ц╓,ЮQ№═∙эри0+╣▒HP╚Лi╥ш╖╟д}еЎdЎ├g█Y D"╨Ў╓тD╨кqk┤oG#уўеF┴2j╫Рё√√УhL7ТКь9╦=ХX8& ┘{Чп╟╛L<╪UKJqd;чЕCТАВZ∙k▒╗Л┤ъ╗4№5╧iИeу┴╒хў~@4,Ц=о─║B║▓ v (йЕаVM|,■ТF╘;BS^Я▓UxYїG┤3╛▀07+▒ШС │ыt╜їgп-:Q№Ю▒Ж╖@~` √╗ ┴РQP{p4Фtge#N,=Я╪╚Щy2/R6╓bЩ│'6[шД▓'Ь^Шgз}ыx╜кЖУЎР\╤uЮ╜%░їэwцН1·J╓3╗J▐RМуf┐0z)}╧fЁ∙АД,ечN║╛\ №ыш╛єЯ╙бЇехеэ │фв■ЎM║t!╕ ┴╦Ъ╨ДфРFЗ╩·▀│бZ_Hyя┴ыAci╛чГўцXд}gЯ╦°Ъэ,┘ Э#%%╜C┼nш╛-еиz]}=BЛ($▀яЪ№ПD);'T┌ yYрГ╜лrщчхЩM<.Z"i╤:а╟╞┼є▌═Зp╠<Ч╛?╗─°f═МBШвFH7С╫я%╦+Q∙ЙRхеxЇiH▌·DVbUЗаЇєл@р▀─чЄ√Тa4╡? ╤lrМ] __+V9°{ IaЪ╖(д_qПOв╪БЛ П╒╥¤ оn?R-фхc!╖■fHБ├З}q<|<щРЗВC┴8T▐у░г└P0╗%°PP`(ЗВ╩├{v ╞a╖d├ уPPyxП├ОC┴8ьЦl8рCAБб` *яq╪Q`(З▌Т |((0МCAхс=; у░[▓сАЖВq(и<╝╟aGБб`vK6Ёба└P0ХЗў8ь(0М├n╔Ж>° g▌╔╢є{├МIENDоB`Вfcidecomp-2.1.1/documentation/installation-manual/index.rst000066400000000000000000000006551473255640600241540ustar00rootroot00000000000000.. available software analysis documentation master file, created by sphinx-quickstart on Thu Oct 14 13:00:51 2021. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. EUMETSAT WP FCIDECOMP - Installation manual =========================================== .. toctree:: :maxdepth: 2 :caption: Contents document_info introduction installation fcidecomp-2.1.1/documentation/installation-manual/installation.rst000066400000000000000000000073621473255640600255500ustar00rootroot00000000000000Installing the EUMETSAT FCIDECOMP software ------------------------------------------ Installation procedures have been tested for the following Operating Systems: - Linux CentOS 7 64-bit - Linux Ubuntu 18.04 LTS 64-bit - Linux Ubuntu 20.04 LTS 64-bit - Windows 10 64-bit - Windows 10 32-bit There are four ways to install the EUMETSAT FCIDECOMP software: - from the Conda packages hosted in the EUMETSAT Anaconda repository (requires an Internet connection), as described in the :ref:`install_anaconda_repo` section; - using the provided Conda recipe, as described in the :ref:`install_conda_recipe` section; - from the Conda packages downloaded as artifacts of a CI/CD GitLab pipeline on the target machine (mostly for testing purposes), as described in the :ref:`install_artifacts` section; - using the FCIDECOMP dependencies repository hosted at :ref:`[FCI_DEP_REPOSITORY] <[FCI_DEP_REPOSITORY]>`, as described in the :ref:`install_dep_repo` section. .. _install_anaconda_repo: Installation from the Anaconda repository ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For detailed instructions on how to install the FCIDECOMP software from the public EUMETSAT Anaconda repoistory, see the INSTALL file in the root directory of the public FCIDECOMP GitLab repository at :ref:`[EUM_PUB_REPOSITORY] <[EUM_PUB_REPOSITORY]>`. .. _install_conda_recipe: Installation using the Conda recipe ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For detailed instructions on how to install the FCIDECOMP software using its Conda recipe, see the INSTALL file in the development FCIDECOMP GitLab repository ``/conda`` directory at :ref:`[FCI_DEV_REPOSITORY] <[FCI_DEV_REPOSITORY]>`. .. _install_artifacts: Installation using an 'artifacts' file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pre-requisites ^^^^^^^^^^^^^^ Installation requires: - the FCIDECOMP Conda packages, downloaded as a single ``zip`` artifacts file from the "deploy" job of the project's CI/CD pipeline for the branch/tag of interest; - ``conda``, installed as described at :ref:`[CONDA_INST_INSTR] <[CONDA_INST_INSTR]>`. Installation ^^^^^^^^^^^^ Start by creating a new Conda environment. Let's call it ``fcidecomp``, but any valid name would do (change the following instructions accordingly):: conda create -n fcidecomp python=$PYTHON_VERSION where Python versions currently supported by the FCIDECOMP software are 3.7 <= ``$PYTHON_VERSION`` <= 3.9. Activate the environment:: conda activate fcidecomp Unzip the FCIDECOMP Conda packages. They end up in a directory which ends with ``conda-channel``. Execute (replace ``$CONDA_CHANNEL_PATH`` with the path to the directory, including ``conda-channel``):: conda install -y -c anaconda -c conda-forge -c $CONDA_CHANNEL_PATH fcidecomp .. _install_dep_repo: Installation using the FCIDECOMP dependencies repository ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ An archive of the dependencies needed to install the FCIDECOMP software is hosted at :ref:`[FCI_DEP_REPOSITORY] <[FCI_DEP_REPOSITORY]>`, in case any of the required dependencies should be unavailable from public channels. For detailed instructions on how to install the FCIDECOMP software using this repository, see the README file in the FCIDECOMP dependencies repository root directory at :ref:`[FCI_DEP_REPOSITORY] <[FCI_DEP_REPOSITORY]>`. Post-installation configuration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Once the installation has completed, re-activate the Conda environment running the following commands:: conda deactivate conda activate fcidecomp This last step ensures the ``HDF5_PLUGIN_PATH`` environment variable is correctly set to the directory containing the FCIDECOMP decompression libraries (check if that's actually the case to ensure the FCIDECOMP is correctly configured and ready to be used).fcidecomp-2.1.1/documentation/installation-manual/introduction.rst000066400000000000000000000025121473255640600255600ustar00rootroot00000000000000Introduction ------------ Purpose ~~~~~~~ This document contains detailed instructions for the installation of the EUMETSAT FCIDECOMP software, and is intended for internal use. .. _reference_resources: Reference resources ~~~~~~~~~~~~~~~~~~~ .. list-table:: Reference resources :header-rows: 1 :class: longtable :widths: 30 30 40 * - # - Title - Reference * - [CONDA_INST_INSTR] .. _[CONDA_INST_INSTR]: - ``conda`` installation instructions - `https://conda.io/projects/conda/en/latest/user-guide/install/index.html `_ * - [FCI_DEP_REPOSITORY] .. _[FCI_DEP_REPOSITORY]: - FCIDECOMP dependencies GitLab repository - `https://gitlab.eumetsat.int/sepdssme/fcidecomp/offline-dependencies `_ * - [FCI_DEV_REPOSITORY] .. _[FCI_DEV_REPOSITORY]: - Development GitLab repository for the EUMETSAT FCIDECOMP software - `https://gitlab.eumetsat.int/sepdssme/fcidecomp/fcidecomp `_ * - [EUM_PUB_REPOSITORY] .. _[EUM_PUB_REPOSITORY]: - EUMETSAT open-source software GitLab repository - `https://gitlab.eumetsat.int/open-source `_ fcidecomp-2.1.1/documentation/notebooks/000077500000000000000000000000001473255640600203345ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/notebooks/00_FCIDECOMP_example_uses.ipynb000066400000000000000000000222061473255640600257430ustar00rootroot00000000000000{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# FCIDECOMP software usage examples" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This notebooks presents examples of the different usage patterns of the FCIDECOMP software." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The FCIDECOMP software enable users to read NetCDF files compressed with the JPEG-LS compression filter. Once installed, it can be used with:\n", "\n", "- Python libraries, such as ``xarray`` adn ``netcdf4``\n", "- netCDF-C based CLI tools, such as ``nccopy``\n", "- The EUMETSAT Data Tailor, through the ``epct_plugin_mtg`` plugin\n", "- Some netCDF-Java based applications, such as Panoply\n", "\n", "In the following sections, usage examples of the first three points above are reported. For usage with NetCDF-Java based applications, see the README file.\n", "\n", "In order to run the following examples, ensure that the ``HDF5_PLUGIN_PATH`` is set to the path of the directory containing the FCIDECOMP software libraries, and that the ``EPCT_TEST_DATA_DIR`` is set as described in the ``README`` accompanying this notebook." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## General imports and setting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the following, general purpose Python libraries and the ``fcidecomp`` Python module are loaded\n", "\n", "**NOTE**: if the FCIDECOMP software has been correctly installed and the ``HDF5_PLUGIN_PATH`` has been set to the right location, no error should be raised" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import os" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following line is needed to show plots in the notebook" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's assign to the `TEST_FILE_DIR` variable the path to directory containing the test JPEG-LS compressed NetCDF file" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "TEST_FILE_DIR = os.path.join(os.environ[\"EPCT_TEST_DATA_DIR\"], \"MTG\", \"MTGFCIL1\")\n", "COMP_FILE = os.path.join(\n", " TEST_FILE_DIR,\n", " \"W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--\"\n", " \"DIS-NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N_JLS_T_0072_0021.nc\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Usage with Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ``xarray``" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's import both the ``xarray`` and ``fcidecomp`` libraries, which loads the FCIDECOMP decompression filter." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "\n", "import fcidecomp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's open an JPEG-LS compressed file, loading a specific group of the netCDF file as an ``xarray`` dataset " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds = xr.open_dataset(COMP_FILE, group='data/ir_105/measured')\n", "ds" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's plot the ``effective_radiace`` variable, showing that the file has been correctly uncompressed." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds.effective_radiance.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ``netCDF4``" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's import both the ``matplotlib``, ``netCDF4`` and ``fcidecomp`` libraries, which loads the FCIDECOMP decompression filter." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import netCDF4 as nc\n", "\n", "import fcidecomp" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now open the JPEG-LS compressed netCDF file and load it into the ``ds`` variable" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds = nc.Dataset(COMP_FILE, \"r\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's extract values of the band ``'data/ir_105/measured/effective_radiance`` and assign the resulting masked array to the ``band`` variable, and let's print its content" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "band = ds['data/ir_105/measured/effective_radiance'][:]\n", "band" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Usage with netCDF-C based CLI tools" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ``nccopy``" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following line is actually run in the shell" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "!nccopy -F none {COMP_FILE} {os.path.join(TEST_FILE_DIR, \"uncompressed_nccopy.nc\")}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's open the output of the previous shell command, which create a decompressed version of the JPEG-LS compressed test file ``COMP_FILE``" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds = xr.open_dataset(os.path.join(TEST_FILE_DIR, \"uncompressed_nccopy.nc\"), group='data/ir_105/measured')\n", "ds" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's plot the ``effective_radiace`` variable, showing that the file has been correctly uncompressed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds.effective_radiance.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Usage with the EUMETSAT Data Tailor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Decompression of JPEG-LS compressed netCDF files with the EUMETSAT Data Tailor software is enabled through its ``epct_plugin_mtg`` plugin." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, let's import the ``epct.api`` module and the ``xarray`` library" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "\n", "from epct import api" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check that the plugin is correctly installed" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "api.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's run the chain to decompress the JPEG-LS compressed netCDF file ``COMP_FILE``" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "chain_config = {\n", " \"product\": \"MTGFCIL1\", \n", " \"format\": \"netcdf4_satellite\"\n", "}\n", "target_dir = './'\n", "product_paths = [COMP_FILE]\n", "output_products = api.run_chain(\n", " product_paths, \n", " chain_config=chain_config, \n", " target_dir=target_dir, \n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's open the decompressed output's group ``data/ir_105/measured`` as an ``xarray`` dataset and plot its ``effective_radiance`` variable" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ds = xr.open_dataset(output_products[0], group='data/ir_105/measured')\n", "ds.effective_radiance.plot()" ] } ], "metadata": { "kernelspec": { "display_name": "fcidecomp_py39", "language": "python", "name": "fcidecomp_py39" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.7" } }, "nbformat": 4, "nbformat_minor": 4 } fcidecomp-2.1.1/documentation/notebooks/README.md000066400000000000000000000040451473255640600216160ustar00rootroot00000000000000# EUMETSAT FCIDECOMP example notebooks The available Jupyter notebooks provide examples on the different ways in which the FCIDECOMP software can be used. ## Prerequisites - a `conda` environment with the following libraries installed: - the FCIDECOMP software, installed as described [here]( ) - the `epct_plugin_mtg` library, installed as described [here] () - the `notebook` library, installed as described [here]() - the `xarray` library, installed as described [here]() - the `matplotlib` library, installed as described [here]() - Test data hosted [here](). These data should be placed in a directories tree structured as follows (replace $EPCT_TEST_DATA_DIR with any chosen name): ```BASH |_$EPCT_TEST_DATA_DIR |_MTG |_MTGFCIL1 |_ |_ |_ ... ``` Once this is done, the environment variable `EPCT_TEST_DATA_DIR` should be set to the full path to $EPCT_TEST_DATA_DIR ## Setting up the environment In order to make the `conda` environment available from within the Jupyter notebooks, the following lines of code need to be executed. First, activate the `conda` environment. Let's call it `fcidecomp`, but any valid name would do (change the following instructions accordingly): conda activate fcidecomp Install `ipykernel`: conda install -c anaconda ipykernel Enable the `conda` environment in Jupyter `notebook`: python -m ipykernel install --user --name=fcidecomp ## Run the notebooks To start Jupyter `notebook`, run: jupyter notebook After selecting the notebook, select the `fcidecomp` environment from the toolbar menu `Kernel` > `Change kernel`. fcidecomp-2.1.1/documentation/solution-design/000077500000000000000000000000001473255640600214545ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/solution-design/Makefile000066400000000000000000000011041473255640600231100ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)fcidecomp-2.1.1/documentation/solution-design/_static/000077500000000000000000000000001473255640600231025ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/solution-design/_static/Barlow-Regular.ttf000066400000000000000000003000441473255640600264470ustar00rootroot00000000000000GDEF7╟8м9шЄGPOS<(пд:▄6МGSUB▀▓╨╤qh║OS/2T╬бэ `cmap_4=│ x.cvt Ъ0!ШаfpgmЮ6╥иgasp9рglyf╛╝W·Шhead6▒(6hheaЎ═ Ї$hmtx Lg` Тlocaш╨)√╘Rmaxpё|√┤ nameNZye"8|post(й"Ъ%┤,prepnРF └╓г╝ 1=U@RА~i i Y _O22 2=2<86 1 /%#  +03!254#!"6554676654&#"#'"554632##&54632#Ы■e░-&&0  L=6Lg g_L@'AL¤╚^m╝3=@: Li_;;424#424# +##"##"54#!"##"54##"5543325543323!255433233554#!"3!p / 3 ■┴ 3 / / 3 ? 3 /z■┴?0 ■ 3■═ ю ~ ~~ ~▒uu  ^3">Бщ├▒░├░5+^е╝ @L LBQQBщ ■>_4   °<"LБ`├▒░├░5+^H╝'&@#!L * ьLjk ■═й┼э^n╝)(@%% LА1K(jHRrШM ■╘ N;ЛA2/<GUbR10 C4<0(  6?PG■П=3493?+╝!@_ГЧ▒░░5+  . °╗N"нб┐▒░░5+  . °╗y"нв┐▒░░5+  . °╗1"нг┐▒░░5+  . °╗║"нВв ■ ▒╕ ■░5+  . °╗╝"нБЯ  . °·"нд┤  . H╗╝"н#Л>БЯ  . °╗0"не╢  . °╠Y"нж╢  . °╗:"нз╢  . °╗╔"н|Н  . H╗"нЛ>  . °╗╝"н~  . °╗с"нЗA  . °╗Е"нЬy. F╨CPЗ@&8<LK░&PX@(gaEMaCMaAN@%geaEMaCNY@DDDPDOKGB@53*(#!' +2#"&'&5476&##"554&#"&546332554&#"''&76632327&6554##"3─1; P1G`mat9<0< 6  gMZb! вViBP=1К 6. )HJKW&3;%!  7D\L■ж.└;2N60,-  . °╗"нДf  . °╗║"нЕЪ. °BQ^Т@  <LK░PX@&  g aEM a CN@1  g aEMa CM a CNY@ RRECR^R]YUMKCQEQBA(&&&)%$ +&546332554&#"''&7663276632#!"3276#"&'&"#33254'&&#"6554##"3Тdlbt;=.> 3  gJ;UU4Di ■╟M9[" #cC9We?▐∙ D01BЭUjCN>2DHJT+4?&  7D1'%4K?99 &26I 1@.'(.*++76,-ї96B/-*/P °с╝":zK░PX@ L K@ L KYK░PX@H + и ь I@р5/17!()"6105#**$@ °┘14@1LАaEMaCN10($(( +&'&5476632#"''&&#"3267576#╟g hHIk 2 F22C C21G  1 lIK@,PH2>KJ7  &55,&?B$-53(  :H  @ °┘╝"╞д  @ °┘╝"╞Хp@ F┘No@ 6" LK░&PX@$А~aEMbAN@!А~faENY@LJB@<:20 +%76"#"'&77663267654&'&#&&'&5476632#"''&&#"3267Р 1 ]A31 8P hHIk 2 F22C C21G Х  5F,2  . G7,PH2>KJ7  &55,&?B$-53(  @ °┘╝"╞Бо  @ °┘╞"╞}JA °╤╝":]@  LK░PX@-RS)@Iы¤х6007")(!71/5$**#@ °╨╝EY\@@<5.(LK░PX@-RS)@Ir  B B■+6007")(!71/5$**#A ў╪%4/@,gaEMaCN&&&4&37))&# +#!"32676#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'dAG`gI[b ·A  C36* 7-4&#  07B;0Z*5AN\Tr3+/--5  A ў╪╝"╨а  A ў╪║"╨Вм ■ ▒╕ ■░5+A E╪?Nq╡LK░(PX@&АgaEMbAN@#АgfaENY@@@@N@MGD=;+)!&# +#!"32676#"'&776632654'&#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'S531  7:PgI[b ·A  C36* 7-4&#  *5+2  *,@40Z*5AN\Tr3+/--5  A ў╪╝"╨Бк  A ў"╨д┐  A ?╪╝"╨'ЛM ўБк ▒╕ ў░5+  A ў╪0"╨е┴  A ў╪Y"╨ж┴  A ў╪:"╨з┴  A ў╪╔"╨|Ш  A ў╪╞"╨}F  A ?╪"╨ЛM ў ▒╕ ў░5+  A ў╪╝"╨~(  A ў╪с"╨ЗK  A ў╪б"╨ЖСA F╪@Ov@ 0$LK░&PX@&АgaEMbAN@#АgfaENY@AAAOANHE><*(&# +#!"32676"32772#"&'&5476'&&'&54676632&3!25&'&&#╪ ■╜ H8*@'T76  .3:OgI[b ·A  C36* 7-4&#  *6,) 1,@40Z*5AN\Tr3+/--5  A ў╪║"╨Ее= °╘%4/@,gaEMaCN&&&4&37)&&& +#"&'&5543!25&'&&#"''&766367674#!"3╘gI[b  C H8*@'dAG`ЗA ■¤ C3UZ*5AN\T* 7-4&#  07B;■▒3+/--5> <┌·63@03Li_?MaAN3[%(&  +32#"'&574632654&&#"#"''&54776&##"5543!2╓Vr5GzLEBB?Ym(T>0<эї V ╩ @g?Kj5 +TS/Q1┬ - -ж  > <┌║"уВз ■ ▒╕ ■░5+"9╝,5@2!La ~1; - ■U л - >G! * = 9╧+A┐@+' LK░ PX@ a?MaFMaANK░ PX@ a?Ma=MaANK░PX@ a?MaFMaAN@$?MaEMaFMaANYYY@ (-)'6$0 +332#"'&574626554&#"&'&54676632655654&'&&#"3267И 3 Бq ]T.UAe ^BY.?0/A C01?· ■!ph .IO%╤╝9;@84Li  P╤|"ьВл└▒░└░5+  P╤m"ьБ┤▒▒░▒░5+H╕╞ LK░2PX@a45? 3 3 E*4JP3ZN■▒ A7A@6■╜ A7A@6■╜ ц (*())P╤!L╡LK░"PX@a?M=N@?MaEM=NY@ ! 34$4 +##"54&#"##"54332763r_ 3 C57D 3 3 ,[^O■╢ <7FD7■┬ ц +>  P╤╝" е  P╤╝" ХqP S╙-[@$ LK░"PX@ea?M=N@e?MaEM=NY@ &34(#$ +%3"5543655'&54&#"##"543327632╥GU UC57D 3 3 +[P_╬╓RQ ' b<7FD7■┬ ц +>^OВ  P╤║" Ек? °с',@)aEMaCN'&( +&'&5476632#667654'&&#"3╔hhJGggH0D  E11D  E2JA.MM-@JJ?+PQ*AJ>5-$AB#-55-#BB#-5  ? °с╝"в  ? °с▓"Гд▒░░5+  ? °с╝"Бм  ? °"д┴  ? Hс╝"#ЛKБм  ? °с0"е├  ? °сY"ж├  ? °с:"з├  ? °с╔"|Щ  ? Hс"ЛK  ? °с╝"~*  ? °сс"ЗM? °сK#71@.LЕaEMaCN(.7(% +#"&'&54766323667433254'&&#"3267сgHHhhJ!'  39 E11D  E20D NPQ*AJJA.MM-@J$ 0$@╜AB#-55-#BB#-55-  ? °с╝"в  ? HсK"ЛK  ? °с╝"~*  ? °сс"ЗM  ? °с╛"ЕЪ▒░░5+  ? °с╝"А▄  ? °сЕ"ЬЖ6 р█ +;K4@1DA0'LaEMaCNIG53% +#"'&''&776'&'&5476632776276'&#"$54'&'&3267█ gHE1 $&  hJ=. $# ■╛┴ '1D  ╞"/0E MOP+AJ!/ 7.MP*@J/ 3&щ5-!DD!FH■▌5-  6 р█╝"$Я  ? °с║"Ез@ °6JYJ@G! Lg aEM aCNKKKYKXROHF><65&&*&) +$676#"&'&#"&'&&5467663276632#!"3&54'&&#"32673325&'&&#ИC !^>7VW4FefF4VU3Gh ■─ F6╪ B0/A  A/0B вA · C05)" 19.)(/K?8,.7>K/((/M=88 9.5|ML,66,KI,66,,6,46,6W >ш":]@  LK░PX@a?MaCMAN@?MaEMaCMANY@ **'37% +#"&'&##"5433276632654&'&&#"3267ш _H'B 3 3 A(F_D  =*(6  7&(; LOP,@Iы и * H>ч71/5$**#6007")(!P 8▄╝#>3@05 L  >/0Dd:./4?L$ ∙ p ЄCJ;╫&12&*63'┴)56*A >╤":^@ " LK░PX@a?MaCMAN@?MaEMaCMANY@ *.('30 +332##"554&#"&'&5476632655654&'&&#"3267К 3 3 B'G` _F(A  6(*=  :(&7 · ¤X ыI@)SR->H *■ж7006#**$5/17!()"P] L╡LK░.PX@a?M=N@?MaEM=NY@ 34 +'&###"543327663=   4D 3 3 A+   1 I8■┘ ц =%)  P]╝"+n  P]╝"+Х:8 √░ 66@3А~aEMaFN65$5,$5 +&&55433232654&&'.54632##"554&#"#╛W/ 0 E44@!-/8H1dR7U. / A73> DCLE<; ::@D>;J 3 Ї]jeV5K\?]h ) JDBJ % >7■ $  3|,+@(Еa?Ma=NB4#C!5  +##"332##"&54##"5543325543323323 q+. HJ= = 1 q ┐■┘0' ) 6I= ' t t '$  3|D<@9 Еi a  ?Ma=NB><953C#C!5#C +##"332##"332##"&554##"554332554##"5543325543323323 qn n+. HJ7 7= = 1 q ┐[  Х0' ) 6Iл  [ ' t t '  $  l╝"4ЙrH ∙╔·"D╡ LK░"PX@?Ma=N@?M=MaCNY╖$5&30 +332##"554&#"&&543323265В 3 3 *[0Q/ 3 @79C· ■ +>'J4R ■├9CD8=  H ∙╔╝"7г  H ∙╔▓"7Ге▒░░5+  H ∙╔║"7В░ ■ ▒╕ ■░5+  H ∙╔╝"7Бн  H ∙╔╔"7|Ы  H H╔·"7ЛE  H ∙╔╝"7~+  H ∙╔с"7ЗOH ∙(K-a@* LK░"PX@Е?Ma=N@Е?M=MaCNY@-+4$5&8 +##"554&#"&&543323265433267433(2& 3 *[0Q/ 3 @79C / K +7 ■: +>'J4R ■├9CD8= $#   H ∙(╝"@г  H H(K"@ЛE  H ∙(╝"@~+  H ∙(с"@ЗO  H ∙(║"@Еи  H ∙╔╝"7А▌  H ∙╔Е"7ЬЗ= 9╧╕ 9Oї@95#LK░ PX@-А'J4R ■├9CD8= ■ +'  H ∙╔"7Дt  H ∙╔║"7Еи ╛·!@ L?M=N74 +2''433227632##╚д 9 }} 9 д :ч■xИ ■▓·+!@$ L?M=N(%'74 +2''433227633227632##"'&"##▒О 4 jl 0 mm 4Р5mj6ч ■vК ■vЙ ■v■К  ▓╝"S№  ▓╝"SБ  ▓╔"S|є  ▓╝"S~Д├·, @%L?M=N(() +2&776''&543322776332##"''&"##зз 6ГВ;зз7ВД9юю╜╜юю╜╜ 8╢·"(@% L?MaAN" 783 +55433>76''4332276332##2 '+й 5 ВА 4 ╣*?9╚ ( 9:ь■lФ ¤хC@   8╢└"Y|▒░░5+   8╢└"YБЖ▒░░5+   8╢═"Y|t▒░░5+   8╢·"YЛП   8╢└"Y~▒░░5+   8╢х"YЗ(▒░░5+   8╢╛"YЕБ▒░░5+"Щ·/@,L_?M_=NU3U +255476&#!"5543!23!2#!"■Ё _ ■с ■Э 0n - 0■Т -   "Щ╝"ar  "Щ╝"aХ>  "Щ╞"a}  "╞"хЁd  "√╝"хd  ^ °ц╝"AL"d╞ 7coт╢c*LK░PX@5 a 6Lg g_(Ma)N311:3:5$23C#C +#!"332##"3!2#!"554##"##"&763!233254"я ■р└ └ ■Ю ╠4 90 Ж ¤╫лм╣ * ╜ * ^b. +■Ъ?■┴L▀A -/@,g_(M_)N!!!-!*%$G36+##"54332&332654&##654&##"33~-/eS╤ ╠UaUЁП1;;1П┼<=2ТХ*F1KR - OKX#╓╡4)+5■=7..8├: °╙H&<@9 LА~a*Ma+N&%4%$4%+&554632#"554&#"32655432#кpp]\p3 M@9EJ<<2ш3;■DLA3=@: Li_(M_)N1-*(%!#5 +##"54##"554332554334&##"332##"33265нhgW╦ ( ( ╦w?5Н^ ^О4?AYJ√KX   Ё н3;╖  ╦<2  L▀"~ВлI▒░I░5+  LAL╘@#)@&g_(M_)N33C#C +#!"332##"3!2#!"543!2╘ ■═╒ ╒3 ■М t ╣ * ╜ * , *  L╘"Вк]▒░]░5+  L╘"ВВ╖Z▒░Z░5+L N╘@?4@1ge_(M_)N3D()#C#C +#!"332##"3!2##"#"'&776632654'&##"543!2╘ ■═╒ ╒3 к11 6Л t ╣ * ╜ * +2   ), , *  L╘"ВБ┤]▒░]░5+  L╘&"В|в]▒░]░5+  L╘#"В}Q]▒░]░5+  L╘"В~3]▒░]░5+  L╘■"ВЖЫ]▒░]░5+L N╘@@:@7'Lge_(M_)N3V)&#C#C +#!"332##"3!2##"32772#"&'&5476&##"543!2╘ ■═╒ ╒3 п6  /1Е t ╣ * ╜ * ,) 0* , *L╙A#@ g_(M)N34#C +#!"332##"##"543!2╙ ■╬╘ ╘ 3 s ╣ * ї - +@ ∙ЁH-8@5Аga*Ma+N-,3C%$4%+&554632##"554&#"326554##"554332#╢vvdau 2 NBDPPDCM| ╝ uama│aml^ CILF▓EJJE ) T`n  @ ∙Ё"НГЮO▒░O░5+  @ ∙Ё"Н}BN▒░N░5+LфA#!@g(M)N234230+332##"554#!"##"543323!255Э 3 3 ■■ 3 3 A ¤╙ її - ЄЄ ё@A;G;@8   g  g(M)NGDA>;8424#B424# +##"##"554#!"##"54##"5543325543323!255433233554#!"3!@ N 3 ■■ 3 M M 3  3 NЩ■■╫ ■k її Х \ \\ \ЦZZLУ@ @(M)N 3+254332##L 3 3 , ¤╘   D┼"ТL▒░L░5+   Ёы"ТБL▒░L░5+   т¤"Т|¤L▒░L░5+  7з"Т}лL▒░L░5+   У"Т~НL▒░L░5+  L ∙ЕA"ТЫ▀   щЎэ"ТЖЎL▒░L░5+   Fй"Т#Ол}лL▒░L░5+ ∙жA(@%А(Ma+N4$4+&55433232654332#Дm 3 F::G 3 nZjX  * к;W6 ■з┬лLA)(@%% LА(M)N#8'30+332##"54&##"''&##"54332277╘4 3 ВГ 3 4ЪЩA ¤╙ ╜╞╟■B - ыыLЎ@@ L(M)N#8#0+332##"'&##"5433265п 3 5■ь 3 5@ ¤╘ │■Q , ■Mп  LЎ "г┤P▒░P░5+  LЎ "гВ┴N▒░N░5+L xЎ@-3@0)&"Le(M)N-+#:#&+'"55432674'&##"54332655655433ЎBR *#■ъ 3 5 3@ ¤╤H> ) #&╢■Q , ■P6m   LЎ "гЕ╣P▒░P░5+: ∙рH,@)a*Ma+N %+&554632#66554&#"3нss`?_5t_?MM?@LL@r`к`s4_@к`r=ODнDOODнDO  : ∙р "игN▒░N░5+  : ∙р "иБнN▒░N░5+  : ∙р"и|ЫN▒░N░5+  : ∙р "и~+N▒░N░5+  : ∙р "иА▌N▒░N░5+  : ∙ря"иЖФN▒░N░5+0 щьW'5C5@2 ;7-) La*Ma+N@>20)+#"'&''&776'&5546327766276'&#"$'&&32655ь&t_K5%% s`J6&■Э▌$7@L▄#8?M492Fк`r$.82Gк`s%.■wMODн╟■▓ODн  : ∙р"иЕиN▒░N░5+: ∙цH8F▐K░PX@ 2/LK░"PX@ 2/ L@ 2/ LYYK░PX@"ga*M a)NK░"PX@,ga*Ma)M  a)N@2ga*M_(M_)M  a+NYY@999F9E(6''3C#C +#!"332##"3!2#!"554&#"&&55466325543!26554&#"3ц ■э╡ ╡ ■м G)3R//R3)H T ■RFF:8EE8╣ * ╜ * #0W8╨8W1$ +■*F9╘:FF:╘9FF▌B0@-g_(M)N4$+##"##"5433654&##"33~_`NЮ 3 т*;;/ЬЬB[JIZь . ■Є9./:╚F╔A%4@1gg(M)N%"34$+##"##"5433233654&##"33l]_NЛ 3 3 Н,88-ММ├ZJIXp - p■ї8..9┼0 е┴H&+@(Lea*N$":+##"554'&&554634&#"3265SnVJ 3 KWn[БG:;GG;:GHo]╝Pi H H hQ╝]o╚?JJ?┐?KK?LсB,3@0Lg_(M)N,*&"342+ ''&##"##"54332##332654&##ЪzВ 3 ▌L\@6~6■ЁХ/::/Хїё . ZI;R Ї─8-.9  Lс"╡ФG▒░G░5+  Lс"╡ВбE▒░E░5+. ∙╠H46@3А~a*Ma+N43$4+$4+&55433232654&'.54632##"554&#"#Эo 1 LE>BBQEG.f]ak 2 GC:?19EP3lbSJ -82+%2 ";/IPWK -9-+#(?0IU  . ∙╠ "╕ОN▒░N░5+  . ∙╠"╕ВЪL▒░L░5+. G╠HO;@8LА~~fa*N$4+$<(*+$"#"'&776632654&'&#&&55433232654&'.54632##"554&#"╠[T30  T] 1 LE>BBQEG.f]ak 2 GC:?19EP3UT+2  .RC -82+%2 ";/IPWK -9-+#(?0"╠A!@_(M)NB4#+##"##"54##"5543!╠ ж 3 б ЦA + ■ Ї + "╠A/)@&g_(M)N3C#B4#C +##"332##"##"54##"554332554##"5543!2╠ жq q 3 j jб Ц Р  ■╙ -  Р + +  "╠"╝ВЧE▒░E░5+  " B╠A"╝М[E ∙у@!@(Ma+N4$4+&5433232654332#╖r 3 J?=J 3 q]m[u ■К?JJ?v ■Л[m  E ∙у "└лP▒░P░5+  E ∙у "└Б╡P▒░P░5+  E ∙у"└|вP▒░P░5+  E ∙у "└~3P▒░P░5+  E ∙у "└АхP▒░P░5+  E ∙уё"└ЖЬP▒░P░5+E Nу@6,@)# LАf(N$=)-0+332"32772#"&'&5476'&&543323265Ь 3 eT. 1,N[ 3 J?=J@ ■ЛVk'' ,+ iQu ■К?JJ?v  E ∙уk"└Д{P▒░P░5+ тA!@ L(M)N74+2''4332276332##┌╢ 6 УУ 4 ╕ 8.■-╙ ¤╥▄A+!@$ L(M)N'5'74+2''4332276332276332##"'&"##├а 6 vq 7 tx 3Ь 3 ws 1. ■H╕ ■H╕ ¤╥ ╡■K   ▄"╩G▒░G░5+  ▄"╩БG▒░G░5+  ▄"╩| G▒░G░5+  ▄"╩~ЪG▒░G░5+"тA) @" L(M)N()((+2&76''43322776332##"''&"##&╡╡ 7РР7╡╡ 7РР7сс■ю■я▀▀"╥A#@  L(M)N'8+6554'&543322776332##╒░ 6 ЙЙ 7▓ 3 ш=№№■├ш   "╥"╨ПF▒░F░5+  "╥"╨БШF▒░F░5+  "╥"╨|ЖF▒░F░5+  "╥"╨~F▒░F░5+$мA/@,L_(M_)NU3U+255476&#!"5543!23!2#!$2■╫ t ■╬) ■М 0╢ + 0■I *   $м"╒|R▒░R░5+  $м "╒ВИP▒░P░5+  $м"╒}"R▒░R░5+°#─&3?Y@VLKАi g iW_O''=:74'3'2.*&%&4)% +2554&#"''&76632##"554&#"&54636554##"3332##"55ъ)()  C0:C  D1>J?9F,4(!v ° ° 4#*  #,=2┌ '/.2:д(#0"!d  °=─'3@@=iiW_O(((3(1.+'&( +&'&5476632#667654'&&#"35543!2#!БA B/-A A-))(*П  ■ўo0+11*00*35*1+"/.!!++!в " "  ^╝0@- LM_N&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤шH9─=/@,%LaM_N=;+3W*#+25543326'&&5546632332##"5547>554&#"##H S(-;lGGm;-)T ╗ 6!\LK\!6 ║ * Y9ьEi::iEь9Y * ,-F+°L\\L°+F-,   P 8╨·d'_·+%@"_MaN3B44#& +##"2#"&&54##"##"54##"5543!2_ I  ):%э 3 P $ ╜■р%& ) 54?■Q п ) )G Ўю┼ ,@)aJ>C=JJ=■╜>J:╝@ L * *(Ф\wB5@A5 (M^.Q3Ux?й2 °┬╝;:@736LА~_0 ,3P!1<&H #╬ * 1└^1ъ╝.7@4+LjD@A5 LА~i_ E>&:@D>(68Ra^M 3@C7У<83Я-4%*+&2,&.+)$├╝O@  LK░PX@r_ 68#749 °╚├(<>@;LАia-+> <,6■╚Ra_L 3@C7Т;83*H=':@E=√+&4+&.+)03$+> Ў╨┼ ,@)aJ>C=JJ=■╜=KRu╝@ L 0 E7╪─+8@5 LАa * *7ЛUwC5@A5 (M^.Q3TyFА<4 °╦╝?:@769LА~_1 (,3('',<'#$ #╬ * 1└4-)┌╝.7@4+LjD ∙█─(<7@4 KАiaGG=$89Qa^M 3@C8Х"БЖ+/(33**'(5/.2ю╝O@  LK░PX@r_ °╤╞&:L\╢"LK░2PX@ia@;LАiaБ@<>GG=∙3*.+(5///.)3  °$з *@'iaCN % +&554632#66554&#"3fFF;;HH;%++%#,,#D9╖8CC8╖9D-)#╜#*+"╜"*Лд"@ LАa=N%3! +332##"54##"55477W#  2 3д ■p f  #&й)2@/LАi_=N)'F$4+ +25547677654&#"##"556632332##$,H9)! (  E48D6?:░ ю 3WD'$$ /9>/2GQA  % ∙в<j@58LK░ PX@!r~gaCN@"А~gaCNY@ 3Z&%5% +$#"&'&'4332327654'&#"#"''&4776&##"5543329'*=   %+ * eа ▄ Z8о.)!,&  #!'#p  i1.д.7@4+LЕja=N..4D&B4# +$##"##"554##"55477633233255433233.   п u p{  Я  c c  ЇX X  °б:B@?3 LА~giaCN!&%6% +$#"&'&'54332327654'&#"##"554332##"7632 :(+=  $- ,%" ╥ ж.$5з($!#+%  '& с  А" % °ж';6@3LАiiaCN(('#4'% +$#"&'&554632##"54&#"763254'&&#"3267 @+*< B82A  % '.'< ,$$%#г$!$,,$$╖3<:. $&"K+#N  дK@  LK░PX@rg=N@Аg=NY╢&34C +2&76&##"##"554332##PЕХ  ъ Ж"g! G ■Ц  °з'=Q7@4='LiiaCNOMEC97-+) +6#"&'&547676'&'&5476632&326765654'&&#"54'&&#"3267с  >,*=   ;*+=  У#%%#С&#$%▄!#*)$#"#%!P  ╥  °ж(>6@3LАiiaCN*(('$4$ +#"&554332326554&#"&'&547663254'&&#"3267B82A  %!'.'<  ?+*< ,%"%#B$╖4;9/ $&!L+##%#-,$P   $─є ▒╕░5+  Л╝Ї ▒╕░5+  #&─ї ▒╕░5+  %┬Ў ▒╕ ░5+  .╝ў ▒╕░5+   ╗° ▒╕░5+  %─∙ ▒╕░5+    ╝· ▒╕░5+   ─√ ▒╕░5+  ─№ ▒╕░5+  ║Л^Ї║ ▒╕║░5+  #║&cї║ ▒╕║░5+  %│\Ў║ ▒╕║░5+  ║.^ў║ ▒╕║░5+   ▓[°║ ▒╕║░5+  %▓`∙║ ▒╕║░5+   ║ ^·║ ▒╕║░5+   ▓a√║ ▒╕║░5+  ▓`№║ ▒╕║░5+ Йl╝ @54&#"#'"554632##&54632#░*+"@56A 3 jVTf(!"" 4  ╚ ;+6"!.2=>2  Ob`P,@((7 ╞  * /еЄ 3mK░2PX@&А~a?MbAN@#А~fa?NY@ 3 1&$  $ +#"&546332655432#"&546676655433 #+*!?56B 3 jVUf(!"" 4Є  ╞ ;+7! .2=>2  Ob`P,@((7   2▐вN р▄▒░▄░5+'Ч~ @YaQ $ +6&54632#kDD0/DD/ЧE/0CC0/E ЙmыC*@'=1$LYaQCA" +574#"''&547764''&&77665'433277632''&##пo nn o  o oo o Й z@==@z z@==@z HKдWcнK░PX@'  Еg _  ?M=NK░"PX@'  ЕЖg _  ?N@.  ЕЖ   hW_OYY@c`]ZUQMKGD@>:8C#D$4$#C  +##"332##"#'"&774##"#'"&774##"574332574##"5543325763233257632332574##"33J LC  K 3Я 3@  I? I 3Ю 3C ║ЯЯнЯ * л зл з * Я + л зл з +▒ЯЯG╝ @ +%76"##"574'&&'&54766765'43323#"''&&#"3267Р 1 ]@ , 8M N7 , A\ 2 F22C C21G я  5EG I G5,PH24F I FG2  &55,&?B$-53(IЇEU=@:71)A$L.J Iea?NRPJH64 +$#"''&#"'&''&776'&5476''&547763276327766326654&&#"╚$A >2@=1; ='$@=2AA5A E!■░%?%%>&&?$%?%ю1A>$!;<3B@2@=$(AD1=$>%$>%%?%%?%5 г°KB@?1( LА~iYaQA?;8/,$96 +$"##"574#&&55433232654&&'.546725'43323##"554&#"°cY , [f - [PHL#HCHM1^S + Xd / VLCH#ADEU3db H H cM :GA6#2,-G6M[N O dN :J:7$/#4K6H ў:─VS@P-LА g   ga_3F FF Fr^Up 3I8>KЄ  ц╨  ─K>6>4  KZ2\D└ └-> * ,@*u ' Н\hE@ ,)DAО ' sO+J  <╝W7@4NA>2) QLА~7ї 3 >uP52 bpbp 3 КШКШDe8 ?mH  +;╙ ╛'*;'*■°6W4^Ч╜8E=@:  gg _#C#B4#C#S +332##"332##"##"554##"554332554##"5543326'&5433227633M╛u ЖЖ Ж 3 Л ЛЛ z╛ 6 ий6╝■и  R  У У  R  X■╧1'├к @YaQ $+6&54632#kDD0/DD/├E/0CC0/E!├╝ @Еv%$+2&76332##%^ -■г .й¤W'j═#MK░PX@gaEN@YgaQY@# 4#B4# +##"##"554##"55433255433233═ ж * ж ж * жX * в в * к к'═X @W_O 3+5543!2#!' Т ■n * * +Ш{ш+│!2+"''&"''&4776''&477627762{ussuvxxv┬ussuvxxv'{═ #@@=igYaQ #"   $ +&54632#5543!2#!&54632#у ╥ Т ■n▓ ╕С ) ) м  '╡═─&OlOЫ▒░l░5+▒╕ Ы░5+'_═3AK░ PX@)pq hW_OK░ PX@/pqX hg_OK░ PX@)pq hW_OK░PX@(Еq hW_O@'ЕЖ hW_OYYYY@?:$#S#T$#S +##"332##"##"&776&##"554332776&##"554332776332332═ ХC┘ °' $b БC┼ ф- *v НМ ) SL ) М ) _X )'.═я│2+7"5547%6'%&5546/Q■пУ■m. 1ШШ1╝0╝'-═ю│ 2+$'%&5547%72═■mУ■пQ2╝0╝ 1ШШ1  '═6'O■цTG▒╕■ц░5+▒░G░5+'═6" @ JW_O +$'%&5547%72#!"5543!2═■mУ■пQ ■n Т y╝0╜ 2ШШ1~ ) )  '═7&N'O■ц▒░'░5+▒╕■ц░5+  'Т╬ц'[Д[л▒░Д░5+▒╕ л░5+'в═X>K░ PX@qW_O@ЖW_OY╡B30 +3!2##"554#!"55' Т + ■з X в j *'ч╬b"0▒dD@%YiaQ"!%)$ +▒D$&'&&#"''&7663232676#;*#1@(%#$ 9%ч )")  !'*3Ч╝!▒dD@LЕv(&$ +▒D&76332##"'&"##.Т/У*vv*3u■Л4■╠'а╣▐-;J@G6" Li  Y  aQ.. .;.:42 - ,(&&&& +#"&'&#"&&5466327663676'&&#"3 654&#"3HH))I05O&%M2+G*)I-4K#*Q0■╧:""6'-89)Г98,(?%"<*▐*I-,H*5418*J,,H*6252■√314.9,,;9,-:1230" 8t╝(@%iYaQ3&3+5'433265>72##"# 7( ON  7)!NN╚ * 1;4FE * 1;¤╠FE  H9─▄ ^╝6@3 LЕW_O&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤ш^ 81 '@$ЖW_O423+##"54#!"##"543!1 3 ■├ 3 ┐ №, Ь№d ╘ ^ 9*┘%2@/LgW_O%#W#<+55476'&5543!2#!"3!2#!^Ёю ╖ ■ОЁёs ■H╟ ,пd- * ■Я■T )   8С*@' LЖW_O#?+''4?2276332##"##еБ/_ш ╬ Ьў 6╚b■∙\ ) №k P 8╨·)V@ " LK░"PX@?Ma=MAN@?M=MaCMANY@ $36&30 +332##"554&#"'&##"543323265Й 3 3 *Z8, 3 3 ?29C· ■ +>═ о ■░18D8=@ °¤├#2A@>&LiiYaQ$$$2$1(*'%$+#"&5466325&'&#"#"/47632674'&&#"3┘$gЖ^r:b;,N 1,O219Dr>ONN0+F)N?;ШSУ┼udDf6 ДE>,%S¤╞ql(4(I0FW^ ўЇ┼)9EТK░PX@+  i ja*9*820)($"& +&&546632#&76332##654&#"3&&546632#6654&#"3╟B''B''B&&B'{ ■Ж !?77((88(QB''B'&B&&A'(78')88)й&A''A&&A''A&■Wй¤W╫8((87)(8■ &B'&A&&A&'B&.8)(77()8    °Z─"¤#(#є°є6' ╥─ъ@LЕv'&+'&76332##6276'&"┘мн%он'ЗЗЗЗ.}}■Г■ГM::■╞■╞? г√iWoпK░.PX@ *  JEL@ *  JELYK░.PX@, i  i iYaQ@3  А i  i iYaQY@mk`^WV-&'('*&' +#"&'&#"&'&54767663225763323267654&&#"3267632#"&&54663676'&&#"3267!НM ZD#57 6D J., &*; BuLVЩ_*Xv1*6>&B)'0¤│##*!a'L005$ 8х╝*@'L_╝ №Р A№┐ ┤=d=?g;4 1О├L]Z@WCLА~ ~~a+,6 )@:(H3-H)Y,(.&!'-H °─Fh▒dD@]А~ii   i Y b R  F EB?;942.+'%& +▒D&&546632#>54&&#"3&&554632#'"554&#"326554372#Kе^^еggж]]жgXНPPНXYНOOНY1<<22<  %$$%  =1]дeeд]]дeeд]3PМVWНPPНWVМPА8/Щ/76-  !!в!!  -7Dж╩>Kд▒dD@ A/$LK░ PX@2Аp ii Y bR@3А~ ii Y bRY@KIED<963)'& +▒D#"&&546636654&&#"36##"''&##"##"554332&332654&##Z44Z66[45Z6,I**I,,I**I,?   5T  ╩4Y56Z44Z65Y4■Я*I,+H**H+,I*▓?@= Я - ]b╝AE@B=-#LАДY_ O:852*(!4#3 +554332##"##"54##$332##"54&##"''&##"54332277 ч \  W  EE  RSХ   ■╓ *' ■╡ hh■№ K }}ч`(8▒dD@-iYaQ& +▒D&&546632#6654&#"3ТJ++J,-J++J-/@@/.AA.ч+I-,J**J,-J*2@//@A./@хК╝ @Ж<N%$ +##"&77633ЕK&< 5╝├─х'╝ $@!Ж<N   # +##"&776332##"&77633бF #83СG #93╝ ── ──/ ░v° @Еv 3 +54332##/ 3 3P 4 №╠ / ░v° /@,iYaQ   3 +54332##54332##/ 3 3 3 3О V ■к ■" V ■к ' 8Д╝#'@$g6@33,LiYaQ<:21'%++$67632#"&5'4&#"''&5476765'&6632376654&#"E,A'@H% !&E-2Ak`++WDL!&4/ RIb║3_;K8LГHЙ85?7d5#0YH' 8Д╝;0@- ggFE=  яЙ╝8яЙ╝▒dD@Еv$2 +▒D54332##"''5 ; &J▓║╣И ╗ &▒dD@W_O 3 +▒D554332## ∙ ∙И     ■хY╔&}} Y▒░░5+▒░░5+ МV №╞ &▒dD@YaQ $ +▒D&54632#U V   А<  ╝▒dD@Еv6" +▒D##"''&54332 $D- <Dmm ?< └╝ ▒dD@Еv%$ +▒D&776332##╜< -D$<mm■╛< ▀╝ ▒dD@Еv%%%$ +▒D&776332##2&776332##■┬8 .< *Ю; +=(<mmmm■с> ▄╝!▒dD@LЕv''4 +▒D&776332##"''&"##■хP : Q( <= (>llRR  ■у> ▐╝Х■┐■эD у▒5▒dD@*LЕYaQ3#4 +▒D&'5433232676332#╩D  *+  F2D9* "! +9 ,C 8▒dD@-iYaQ   $ +▒D&54632#6654&#"3Х?@..??.''''C>.-??-.>+%&&%■╓[║!0▒dD@%YiaQ! &($ +▒D&'&&#"''&76323276#o  !5!/[   1   ■єmб &▒dD@W_O 3 +▒D554332##■є ∙ ∙m ■e% с! ▒dD@YaQ)* +▒D&76676654&#"''&76632''■▓ & %/ +  *" _< ▀╝ ▒dD@Еv%$ +▒D##"&77633&; -D#╝mm   y< ·╝: p╨ яK%▒dD@LЕv8 +▒D55476674332Р (  C-╨  $ 1: Н H ў ▓ &▒dD@YaQ $ +▒D&54632#U╕   X B ┘ ┬У 8¤ ▒╕¤░5+ u FO▒dD╖ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"'Л 2<1▓ &-/7  t F ■S▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772 /;2 м 4/+' ■├=l ▒dD@W_O30 +▒D3!2#!"55■├ ) ■╫ l  ¤▒7 &▒dD@W_O 3 +▒D5543!2#!¤▒ ; ¤┼   ■U$;в│ 2+$#"''&547632■{╗■F$N■▓■V ┘ №щ ▒dD@Еv%$ +▒D&76332##■Zj %■Х $'¤¤   <б╝с2б5▒dD@*LЕYaQ3#3 +▒D&'433232676332#gE  ))  F229, !! ,:$>╝!▒dD@LЕv5'$ +▒D5463322776332##"''$( =< (Q : P▓RRll FМN▒dD╢ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"' 2;1▓ '+05   ">╝БA  Y8╔|8  VН╞}С  #<в╝~г DJ─ ▒dD@Еv%%%$ +▒D&776332##2&776332##%; -D#г; -D$DmmmmR Е &▒dD@W_O 3 +▒D554332## ∙ ∙R    FКS▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772К /;3 м 4/+'   C°Дё  [G║ЕG  ¤╞D■╝M#Г■┘■уС▒░С░5+  ¤╞D■╝M#Г■┘~■^С▒░С░5+  ¤╞D■╝x#Г■┘З ВЧ▒░Ч░5+¤╗D■╓0!8y╢5$LK░,PX@ ii e<N@+АiiYa QY@"""8"741.,)&! &(# +'&&#"''&763232676#&'5433232676332#■b  5  ,pE  *+  F2╓  /   Т9* "! +9  ¤╠> F#Б■ыЖL▒░L░5+  ¤╩>■я0#Б■щ~■Ёt▒░t░5+  ¤╩> Y#Б■щЗ x▒░x░5+  ¤║>■ф:#Б■щЕ■фА▒░А░5+иpЭ(TНГ}}}}╬▀Ё'8IZk|Св│─╒сЄ 1B▒gxЙ%6GЖч°EVgЁ'8IZk|ИЩк╗M^ЩЇ'hсЄ  $ 5 F W c t Е Ц в │ я O z Л Ч г  Q Т г ┤   Y j { М б ▓ ├ ╘ х ё   $ 5 A R c t Е Ц.·AРр9J[╜╬▀ДХ¤0Р╔┌ы№ *;L]izЛЬн╛8IZСхЎ)}┐╨сЄ■ 1xЙЪл╜╔╒сэ  ПЫж╖╠▌ю )9EQ]iuБНШIUa-╛".9уя√~.:цMYk".DP\htАТЮк╢ d p ╪!=!O!б"_"j"|"И"Ф#Х#█$@$Q$b$н$╬$┌$ы$ў%%%%'%3%?%J%Z%f%╛%щ%ї&C&T&u&Ж&Т&Ю&░&■'v'╠'╪'у(N(Z(н(╣(╩(╓(т(Є(■) ))").):)F)▒)╜)╔)╒)с)Є)■* *Ъ*ж*▓+Y+█,M,╤-(-4-?-в-о-╣.[.g.╔//Д/Р/у/я0000*060B0N0╛0╩0╓0т0ю0·111■2 22"2Щ2л2╝3f3r3~3╡4 44"4.4:4М4╒4ц4ў555%565G5О5Ъ5е5▒5╜5╔5╒6╬7Z8╢9>9О9Я9░9┴9╥9у9Ї:::":3:в:∙;K;\;m;ч;°<6<Х<ж<о<Є===Б=Т=г=┤=┼=╓>F>А>╓>ч>°?7?к?╦?▄?э?■@@ @,@=@R@Л@┘AAAZAfA├BBSBdBuB╤BтC#C4CECVCgCxCЙD DDщE.E{E╚FF0FAFбF▓F├GKG~G═G▐GъH H1HBHSHdHuHЖHщH·I1IЕIЦIзI╕I╔JJYJjJ{JМJЭJфJїKKKШLLLL│L╗MMHMzM╙NDNЭOOЗO┘PvPъQ+Q[Q┤R+RДR·SjS╝T[T╬U U>UРVVpV▀WMWЬX.XаXпX╛X═X▄XыX·Y YY'Y6YEYTYcYrYБYРYЯYоY╜YтYЄZZZ"Z2ZBZRZaZЗZЮZ▌Zэ[([А[х\c\q\Ц] ]с^^(^X^И^р_8_m_Я_├_╦_я```B`J`Y`Т`╦`эaadapaеa┌bb1b>boboccеd'd╜eereчfyfэgggМg░hh'hph─h┘i│i▌jjjdjzjРj╩kkTk╘lllflЭlяm3mЧnn│n╟o pp╡pўqеr8rёsis▒s╒tt1tmtоu%uГuєu√v!vHv]vЖvнv╘wwJwSwТw╘x#xKxТx╣x┴xЁyy(yy╪y■z'zNzwzАz╛zў{M{V{_{h{q{н{╘|-|6|?|Q|c|u}}})}:}Lhr=┼h║_<їш╪№Ч╪┐¤▒ /Z<г╚╚_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!Щ$s^_H_H_H_H_H_Hj^л^j^л^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^8^eHeHeHeHО^О!О^^V ЇIM( №ы$ ЄAAc^8^8V8^8^W ъ╦^д^д^д^д^д^nHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHn2nHШHPW7W@:d^d^d^H4H4H4H4H4KA9+9+9+ИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVM#nААААM%7%7%7%7%7%7%7%7%%-%-%-%-eHc^д^d^9+H49+ .■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.@."P@@@@@@"A@"A"AAAAAAAAAAAAAAAAAAA=>>d"=====/=PPP H╘F╘?╘ я╘ ы╘ ▌╘2 H╘╘ьH╘ фH╘ █ї ▌ё ▌ё ▌їPїPцPцIiPц QV;PPPPPP!?????????????????????66?Z@(WP(AlPlPlPс8ф8ф8ф8ф8-Pl$l$l$HHHHHHHHHHHHHHHHH=їPPl l$ф8l$HHH█ ╤╤╤╤╤▌════════╜"╜"╜"╜"d"J"D^л"Ч" =ЇH L:::::LGLLGLLLLLLLLLLLфL)@@@,L, ё▀L▀D▀ Ё▀ т▀7▀ ╤L▀ щ▀Є LцLцDцLцL√dLBLBLBLBLBL:::::::0::√FцFё0LLL°.°.°.°.я"я"я"я"(E(E(E(E(E(E(E(E(E №№№№№"Ї"Ї"Ї"Ї"Ї"╫$╫$╫$╫$D] ~ БH"PЖ'5G^:92'1BA┘$ ; 9>R74)DD2>;> ╕F#B%Q. 7% : 7> ╕F#B%Q. 7% : 7╕F#B%Q. 7% : 7ы Й&Е%{%R  RBSq7`R?f?f═(═*╥25'Н УHРРK √U. . | |ЖК'К'┬'н'К'фXB  ММVdkAЙdДн'~_╚@ /5|H#"Й^^^}J╗^░c5'!Ї'Ї'ж+Ї'Ї'Ї'Ї'Ї'Ї'Ї'Ї'ї'Ї'ї'┬*р'Я"БH~ Н^d^с "PN@P^t ъ';?Т4A$┼4eH├Т}XDж/ж/л'ЇSл'kHММ ■х М А ?■╛■с■у■э ,■╓■є■e _ y p Н X u t■├¤▒■U■V├ 1A$М"Uк├#k  Мc¤╞¤╞¤╞¤╗¤╠¤╩¤╩¤║ш 8t¤▒ ZбРКXKКX^2/ TRBY└√ш 8X∙ У·╝ дА$ /9~+17>HM~ПТб░╬╘хчщя )7YТ╝╟╔▌ #(8Фй╝└Е∙     " & 0 3 : D y г м ║ ╜!!"!&!.!^""""""""+"H"`"e%╩'щ√   0:а-39@JOПТап═╘хчщя (7YТ╗╞╔╪#&5Фй╝└Аа     & 0 2 9 D t г м ║ ╜!!"!&!.![""""""""+"H"`"d%╩'щ√   їп■э┤ f   ■ї &■╧■╚■Й■Q ▓ v o h f Z■G■3■!■т!тсЎт7т?тс╠сЦсдсЩсПсНсcсMс9сJр╣рcрZрRр8р?р3р▀є▄Ю┌Wdа╝D*T\dn~Д▐рт╪▄╪┌┌фьцЁЮвжЖЖА=$Dfj>'(#N-%URTi#'9:>ALNOTUZqstw}АУФЩЪв+&,\2Ън┼╞╠╨хцьЁ■  (*+.47RSXYa)s*[ABHCKtlШm┘9Z.nЬpX Уdk!Ц┌:   4(+1GBCD$Yd[\obPnЖБГДЫr3╛о╢├╝┬─╔▌╤╘┌°ЄЇї═&Q$>8;<Z)\└п┴╟!╩"╦╚%╬&╧6▀2█7р)╥<щ;ч=ъжH@я?эK¤I√єJ№Eё·MзIPRQSV иJW X m#l"p'u,йKv-x/{2z1y0кL6~5ТQПGВ9СPОFРOЦUЬ[ЭгbеdдcfИ@ ╡лMмN*╙zyЧХФЩЮЭЯЫ~БЕЖГ}|ЗДАВШWХTЧV╜┐╖╣║╗╕░ ▓ │ ┤▒3▄5▐8с,╒.╫/╪0┘-╓H∙Fўce]_`a^gij k!hЕ=З?ЙAЛCМDНEКBЯ^Ю]а_б`783564uw"bOLcWV░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╢E5!*▒B@ J:.& *▒B@ NB4* *▒ B╛└└ └ └@ *▒B╛@@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ L<0(*╕ Е░Н▒D│dDD─· 8─· 8GG>>AH ∙GG>>AA ∙AH ∙GG>>╝╝· 9╝ °╝  √ 9\║\║ в Т  Т Ю 2м ▐ ·  0 F &` &`  Ж 4жCopyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)BarlowRegular1.408;TRBY;Barlow-RegularBarlow RegularVersion 1.408Barlow-RegularTribby TypeJeremy Tribbyhttps://tribby.com/This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFL ╡2и$╔ ╟    bнcоР%&¤ d'щ(e╚╩╦ !"#)*°$%+&',╠═╬·(╧)*+,--././0т01123f2╨╤45678g9╙:;<=>?@ABСп░3э45CD6Eф√FG7HI8╘J╒hK╓LMNOPQRSTUVW9:XYZ[;<ы\╗]^_`=aцbcdefghiDijklmnopkqrstulvjwxynmаEF■oz{Gъ|Hp}~rАБВГsДЕqЖЗИЙКЛМIJ∙НОПРKСТУL╫tФvwХЦuЧШЩЪЫMЬЭNЮOЯабвуPQгдеxRyж{зийкл|мzноп░▒▓│┤╡б╢}▒SюTU╖╕V╣х№║ЙW╗╝X~╜╛АБ┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥YZ╙╘╒╓[\ь╫║╪┘┌█]▄ч▌└┴▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOЭЮPQRЫSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy╝ЇїЎz{|}лг"в├З ? ^`>@~▓│B─┼┤╡╢╖йк╛┐ АБВД╜ГжўЕДЕЦЖЗяЁ╕ П!ХФУздaAТЬИЙЪЩеКШ╞╣# ИЖЛКМГЛМ_шВН┬ОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзиН█с▐╪О▄C▀┌р▌┘йклмноп░NULLAbreveuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni01CDuni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2AmacronAogonek Ccircumflex CdotaccentDcaronDcroatEcaronuni0228uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4 Edotaccentuni1EB8uni1EBAEmacronEogonekuni1EBC Gcircumflex GdotaccentHbar Hcircumflexuni1ECAuni1EC8ImacronIogonekItilde JcircumflexLacuteLcaronuni013BNacuteNcaronEnguni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0 OhungarumlautOmacronRacuteRcaronSacute Scircumflexuni018FTbarTcaronUbreveuni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEE UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave Ycircumflexuni1EF4Ygraveuni1EF6uni1EF8Zacute Zdotaccentuni0122uni0136uni0145uni0156uni0162uni0218uni021Aabreveuni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni01CEuni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3amacronaogonek ccircumflex cdotaccentdcaronecaronuni0229uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5 edotaccentuni1EB9uni1EBBemacroneogonekuni1EBDuni0259uni0292uni01EFgcaron gcircumflex gdotaccentuni01E5hbaruni021F hcircumflexibreve i.loclTRKuni1ECBuni1EC9ijimacroniogonekitildeuni0237 jcircumflexuni01E9lacutelcaronuni013Cldotnacutencaronengobreveuni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1 ohungarumlautomacron oslashacuteracutercaronsacute scircumflextbartcaronubreveuni01D4uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEF uhungarumlautumacronuni0123uni0137uni0146uni0157uni0163uni0219uni021Buogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexuni1EF5ygraveuni1EF7uni1EF9zacute zdotaccentI_J.liga f_f_i.liga f_f_l.ligag_j.ligai_j.ligaa.sc aacute.sc abreve.sc uni01CE.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc atilde.scae.scb.scc.sc cacute.sc ccaron.sc ccedilla.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ecaron.sc uni0229.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.sc gdotaccent.sch.schbar.sci.sc iacute.scicircumflex.sc idieresis.sc i.sc.loclTRK igrave.scij.sc imacron.sc iogonek.scj.sck.scl.sc lacute.sc lcaron.sc uni013C.sc lslash.scm.scn.sc nacute.sc ncaron.sceng.sc ntilde.sco.sc oacute.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.scs.sc sacute.sc scaron.sc scedilla.sct.sctbar.sc tcaron.sc uni021B.scu.sc uacute.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.scuni0394uni03A9uni03BCzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tf zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079 oneeighth threeeighths fiveeighths seveneighthsuni00ADuni2010hyphen_hyphen.ligauni27E9uni00A0Eurouni20BAuni20BDuni2219uni2215uni2126uni2206uni00B5minuteseconduni2113 estimateduni02BCuni02BBuni02C9uni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni0313uni031B dotbelowcombuni0326uni0327uni0328uni0335uni0336uni0337uni0338 uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303   ╓!8:SUptТФШЪ├╞╦╬╬╨фц &+24QSWYdeklvyЛНЪЬбг▒╡╚╩╬╨╪▌▌??BBDEKKdd|Таз|ЙККЛОаз 8|DFLTlatn    kern&kern&mark.mark.mkmk8mkmk8 ▓╓BЇ3╕4$4╢4р╥X,ВRXbhВrxВИОФЪажм║▀рстуфхцчшї¤■рр Єт ·р ∙р дц тр юр% ┼р фр ьЎ № ы& ∙ ╥є ф° √6 8 *4 ▐ ў=>М=▀$, ё ╙уцц=>ММ (0 х ¤ ёMNNссMMNN>▄z╪РCтттттттттттттттттттттттшшшшшЇш Jddjш|тшшшшшюЇ· &C #$%&ANqrstuvwxyzЪзйн═х3Xlx~АБТЬ▓┤╡╢╖╕╣║╗╨ > ∙J ї ї ї ї ї  ї  ї  ї  ї  ї ї ї ї ї ї ї ї ї ї ї ї ї ї ї} ·~ · ·У ёФ ёХ ёЦ ёЧ ёШ ёЩ ёЪ ┘Ы ┘Ь ┘Э ┘Ю ┘Я ┘а ┘б ┘к ·м ·l їm ёn ёo ёp ёq ёr ёs ёt ёu ёv ёw ё╝ ·╜ ·╛ ·┐ ·╔ ё╩ ё╦ ё╠ ё═ ё╬ ё╨ ┘╤ ┘╥ ┘╙ ┘╘ ┘ ∙ ∙М ∙ п п п п п  п  п  п  п  п п п п п п п п п п п п п п п Є ц ц ц  ц" ц# Є% Є' Є( Є) Є* Є+ Є, Є- Є. Є/ Є0 Є1 Є2 Є3 Є4 Є5 Є6 Є7 Є8 Є9 Є: ц; ц= цL фU ЄY ЄZ ц[ ц\ ц] ц^ ц_ ц` цa цb цc цd цe цf цg цh цi цj цk цl цm цo цp цq Єs цw Їx Їy Їz Ї| ┬ж цн ╙о ╙п ╙░ ╙▒ ╙▓ ╙│ ╙┤ ╙╡ ╙╢ ╙╖ ╙╕ ╙╣ ╙║ ╙╗ ╙╝ ╙╜ ╙╛ ╙┐ ╙└ ╙┴ ╙┬ ╙├ ╙─ ╙╞ ┬╟ ┬╚ ┬╔ ┬╦ ┬╠ ┬═ ┬╬ ┬╧ ┬╨ ┬╤ ┬╥ ┬╙ ┬╘ ┬╒ ┬╓ ┬╫ ┬╪ ┬┘ ┬┌ ┬█ ┬▄ ┬▌ ┬▐ ┬▀ ┬р ┬с ┬х уц ╝ч ╝  ╥  ╥  ╥  ╥  ╥ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬  ┬! ┬" ┬# ┬$ ┬& ┬' ┬( ╥) ╥* ╝+ ╥, ╥- ╥. щ/ щ0 щ1 щ3 Є4 у5 у6 у7 у8 у; у< у= у> у? у@ уA уB уC уD уE уF уG уH ╝J ╥K ╥L уM щN уO уP уQ уR ▀S ▀T ▀U ▀V ▀W ▀X уY ▀Z ▀[ ▀\ ▀] ▀^ ▀_ ▀` ▀a Їb Їc Їd Їh уi уj ╝l пy цz ц{ ц| ц} ц~ ЄН цО цП ци цй цк цл цм цн цо ц░ ц▒ ц┤ ц╕ Ї╣ Ї║ Ї╗ Ї к к ╨ ╨% х- ┬r ▀ ╙М кi √% ·68Y| ыноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─╞ ы╟ ы╚ ы╔ ы╦ ы╠ ы═ ы╬ ы╧ ы╨ ы╤ ы╥ ы╙ ы╘ ы╒ ы╓ ы╫ ы╪ ы┘ ы┌ ы█ ы▄ ы▌ ы▐ ы▀ ыр ыс ыц Їч Ї ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы  ы! ы" ы# ы$ ы& ы' ы* Ї. ¤/ ¤0 ¤1 ¤H ЇM ¤j Ї ў ў- ыА ·Щ ЇР ∙Щ Є╧ ЄЩ Щ ъx єВ єМ єЫ хг є▓ єА ¤ъЦ▐ Ї ▄ ┐ ╨ ╕ ы є ║ ф ╧ ╩ Ї ■ ° ы я я ∙ Є щ · Є ь Є ┌ № э ╪ ▌ ш ╬ р ╝ ф ё · Ї щ Ї Є ў Ї ў Ї ё ь · ¤ е т ы ╫ Ї ъ ч є* ў ∙ ї Ў     ∙ ∙ Ї ° Є ў ю щ ¤ ▌ °   ў Ї ¤% ы ў Ї ■ Є ы ╨ ■ ╚ ║ ▌ ∙ ╚ ё т ╧ ╒ ╦ ╥ Є Є ф ° Є ы ъ ў ╓ ╧ ў х г ╨ ─ ь ° ╙ ў Є ф · Ї щ я ь ё ў ¤ ¤ ∙ ю є Ї ∙ √ ь ў Є ∙ "'9;"=>%LL'NS(UU.Ym/ooDqzE|БOГЩUжзlйкnммp──q╨сrД''Е33ЖlБЗНПЭЬбаиож░░н▓▓о┤╧п6 ""#&''99:;==>>LL NNOSUUYYZmooqqrrsstvwz ||} АБ ГТ УШ ЩЩ жжззййкк мм ──╨с ''33mw xxy}~БНПЬЬЭбио░░▓▓┤┤╡╖╕╗ ╝┐ └╚ ╔╬ ╧╧ P ""##%%'9:;==LLNNUUYYZmopqqsswz|| }УШЪбвежжккммн─╞╔ ╦с ххцчЁЁ   $ &' ()**+-.1334678;GHHJKLLMMNNOQRW XXY` adhijjllmwy}~~НПио░▒┤┤╕╗╝┐╔╬╨╘╒╪%%-- 66 88 => rr ММfЇ╛  х я ё ю № · ў Ї √ ў х ¤ ў Є ∙ у ў · ы ∙   ¤ Ї ы ╩ · ь щ ў Ї ¤ р6 ▐ √ ¤ Ї ■ ф   с Ї · ё ∙ ё ·? ╘ я с т ъ ї1 ў ╥ ╤ я ╒ ю э № Є ў ·н├┼╔╦╦══хчьэ!ЁЁ#$%'  (-$/&&B(1C46MHNPRWWY`]jje--frrgh!о├┼┼╞╔╦╦хх цчьэЁЁ      $&&()**+-.146HHII JJKKLLMMNNRWY`jj--rr/|| }Ъбккммн─┼┼ ╞╔ ╦с ххцчьь ■■   $ &' **.146HHII LLMMNNRWXX Y`ad hijj╝┐╨╘цц%%-- 667788=>rrММ■> ы ы Є є ╪ т ё т █ ╬ ─ ы х ц · ў ў ы ш ╫ Є Ї ╓ ├ ╚ ы ¤ ▐ ы ╢ ╩ ф ╠ ы ┴ ▌ ы ╞ ╝ · ў ╔ ╔ ф · ┐ ╛ є у н Ї ы Є ╢ ў  %578=>М  %%557788=>:  "":;==LL Zmopsswz||}УШЪбжжккммн─ ╞╔╦сххцч  $&'() **+- .1 4678;GHHJK LLMM NNOQRWXXY`hijjll mwy}НПио░▒┤┤╕╗╝┐╔╬╨╘--rr ",6 р Ї єМвгвxxВВММЫЫгг▓▓ ыM||╞╔╦с$&'--x ОBDEKd &║,2║║8║>D║ъЁЎRT °─l─ZY╗ "Р|Оаз▌№ &,28>DJnЖМТШPPPPV\\\·№· ░2|Раз8:S3UpMtТiФШИЪ├Н╞╦╖╬╬╜╨ф╛ц╙ &Ў+24QSW9Yd>lvJyЛUНЪhЬбvг▒|╡╚Л╩╬Я╨╪д╝┬╚╬╘┌рцьЄ°■ .FLRXv| a8■┘н&ДДДдДДД&ДДД─ДДД╩ДДД╨ДДД╓ДДД▄ДДД&ДДДшДДДтДДДшДДДюДДДЇДДД·ДДД&ДДД&ДДДДДД ДДД&ДДД&ДДД&ДДДДДД*0ДДД*ДДД*0ДДД*ДДДД*$ДДД*0ДДДД6ДДДД<ДДДД6ДДДД<ДДД~xДДД~BДДД~xДДД~ДДДД~NДДД~HДДДfNДДД~TДДД~ZДДД~`ДДД~xДДД~xДДДfxДДД~lДДД~rДДД~xДДД~ДДДД~ДДДД ДДД ДДДКДДД ДДДДРЬДДДРЬДДДЦЬДД└ъДДД└╪ДДД└вДДД└ъДДД└ъДДДиъДДД└оДДД└┤ДДД└ъДДД║xДДД└╞ДДДД╠ДДДД╥ДДДДДДДфъДДДф╪ДДДф▐ДДДфъДДДЁЎДДДДДД№ДДДДДДДДДДДДJDДVДJ&ДVДJДVДJДVД,ДVДJДVДJДVДJ ДVДJDДVД,DДVДJ2ДVДJ8ДVДJDДVДJ&ДVД,DДVДJ2ДVДJ8ДVДJ>ДVДJDДVДJDДVДJDДVДJPДVДД\ДДД"(ДДД"zДДД"(ДДД.4ДДД.bДДД.4ДДД.ДДДД.hДДДДnДДД:@ДДД:@ДДД:@ДДДЮШДкДЮАДкДЮtДкДЮzДкДЮШДкДЖШДкДЮМДкДЮТДкДЮШДкДЮАДкДЖШДкДЮМДкДЮТДкДЮдДкДЮШДкДЮШДкДЮДДкДЮШДкДЮдДкДД╝ДДДД░ДДДД╢ДДДД╝ДДДД┬ДДДь┌ДДДь╚ДДДь╬ДДДь┌ДДД╘┌ДДДьрДДДьцДДДьЄДДДДДДДД°ДДД■ДДДДДДД ДДДДДДДДДД"(ДДД:@ДДД.4ДДД:@ДДДЪФДДДЪ@ДДДЪФДДДЪFДДДВLДДДЪRДДДЪXДДДЪ^ДДДЪФДДДЪjДДДЪdДДДВjДДДЪpДДДЪvДДДЪ|ДДДЪФДДДВФДДДЪИДДДЪОДДДЪФДДДЪДДДДЪФДДДЪаДДД▓╕ДДД▓жДДД▓╕ДДД▓ДДДД▓мДДД▓╕ДДДД╛ДДД·ДДД─ДДД·ДДДДДДД╨ДДД╩ДДДш╨ДДД╓ДДД▄ДДДтДДД·ДДД·ДДДш·ДДДюДДДЇДДД·ДДДДДДД2ДДД ДДДДДДДДДДДДVДДДДVДДДДVДДДДвДДДДVДДДДVДДДДДДД$ДДДД$ДДД$ДДД$*HДДДД`ДДДД0ДДДД6ДДДД<ДДДД`ДДДД`ДДДBHДДДДNДДДДTДДДДZДДДД`ДДДДfДДДДlДДДДrДДДДrДДДДxДДД\ДДДД\ДДДДДКДДДД~ДДДДДДДДДКДДДДРДДДДЦДДДbhДДДbЬДДДbhДДДbhДДДbвДДДФЁДДФ╠ДДФиДДФ┤ДДФоДД╥┤ДДФ║ДДФ└ДДФ╞ДДФЁДД╥ЁДДФ╪ДДФ▐ДДФЁДъДФ╠ДъД╥ЁДъДФ╪ДъДФ▐ДъДФфДъДФЁДДФЁДДЎТДДЎ№ДДФДДntДДДnДДДntДДДzАДДДzДДДzАДДДzДДДДz ДДДЖМДДДЖМДДДЖ&ДДДШТДдДШ8ДдДШ,ДдДШТДдДШ2ДдДШТДдД>ТДдДШDДдДШJДдДШТДPДШ8ДPД>ТДPДШDДPДШJДPДШЮДPДШТДдДШТДдДДVДДД\ДДДДbhДДДntДДДЖДДДДzАДДДЖМДДДШДДдДШТДдДШЮДдДД╢ДДДДкДДДД░ДДДД╢ДДДД╝ДДДц╘ДДДц┬ДДДц╚ДДДц╘ДДД╬╘ДДДц┌ДДДцрДДДцьДДДД■ДДДДЄДДД°■ДДДД■ДДДДДДДДДДДД ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД"ДДД.4ДДД.(ДДД.4ДДД.ДДДД.4ДДДД:ДДДД@ДДДД:ДДДД@ДДД^XДДД^FДДД^XДДД^ДДДД^LДДД^XДДД^XДДД^RДДД^XДДД^ДДДДjpДДДjdДДДjpДДДДДvДДДДvДДДОДДДД|ДДДДВДДДДОДДДДОДДДДИДДДДОДДДДОДДДДОДДДФДДДДжмДДДжЪДДДДаДДДжмДДД▓╕ДДД╩─ДДД╩╛ДДД╩─ДДД╩─ДДД╩╨ДДДДшДДДД╓ДДДД▄ДДДДшДДДДтДДДДшДДДДшДДДДшДДДДюДДДДЇДДДДДД·ДДДДДДДДД ДДДДДДДДДД$ДДД$ДДД$ДДД$ДДД<BДДД<*ДДД<0ДДД<BДДД<6ДДД<BДДД<BДДД<ДДДД<BДДДДTДДДДHДДДДNДДДДTДДДДZДДДДlДДДД`ДДДДfДДДДlДДДДrДДДД~ДДДДxДДДД~ДДДД~ДДДT.q.94їь╩.~МЄг1■/ H~.б/2~L~3~ ў3╝7╝x╝U~√╩<~ЪЄ▒?■A H~<б<╝A@~2АI╜IH№Б~Б HV~БбvБЕ~└╜└Ъ~B╝Б╝=а╝i~T~Ї╩6~ФЄл9■O~7 H ~6б1З6╝79~6╝█╝7~~5DqC~]~F H~DбD╝FG~t╝╪~┐~╢╝У~4}} H╗Ё}а~%~2 °2╝@UP╝8*╝# °╝╝%O п╙O w3╜ ╝]0tW<  H╙╝ ▀¤  ╝'╝╝ °·@╝#╝╚ ╝h0W < @▐╝ ▀ · ў · ╝mз"АГ╝jпi╝А HА·>╝j▀l·j·Ъ·m╝v·v╝Н~╝t╝И╝ж╝(╝╝ п╩ ╝j0АW<$╝  Hр╝ ▀└Ж·· !╝r·╝x·ё╝ ╝Є╝.╝ п ╝&╝ Hс╝ ▀щ·· ·p┘·Ў √ё·шУ| ·№╝ї·╝e╝f·:╝ └ц└Q Hц■║└цтPъ└ї╝▐>▄·Ў┌A   ю °H E?E-щV■¤ ∙HгИoDoFИ"AїoA'бA7 J#" &   с  H ШA ■A °H№ ∙ЎЇA.  щ JХ||AQ°∙@═ цL  JЛОИЛХ$ ┴ б о ° ┼ ° Ь< ┴ Hб>╚ т( ~БГЕЗЙУЧЪЫЯ  &,28>DJPV\ ╢╝ Г╝ `╝ hо i╝■╛▀ ╝╝d╝б╝Y╝ ─п╝ К  п· &ц|ЙазазZ`flrx~ДКРЦЬвиоооо┤║║║ r· ─· т· j· 0· `· ^№ h° Щ· e· y·■╛· }· г·■@°■K·■I·$*06<■fM■M■@u■F2  ■з0■╛W■L< @DFLTlatn0    (6>FNV^(AZE FCAT fCRT ЖKAZ жTAT ╞TRK ц    !)7?GOW_    "*08@HPX`    #+19AIQYa    $,2:BJRZb    %-3;CKS[c   &.4<DLT\d   '/5=EMU]efaaltfaaltfaaltfaaltfaaltfaaltfaaltfaaltfc2scnc2scnc2scnc2scnc2scnc2scnc2scnc2scnccmptccmptccmptccmptccmptccmptccmptccmptdnom|dnom|dnom|dnom|dnom|dnom|dnom|dnom|fracВfracВfracВfracВfracВfracВfracВfracВligaМligaМligaМligaМligaМligaМligaМligaМloclТloclШloclЮloclдloclкlocl░numr╢numr╢numr╢numr╢numr╢numr╢numr╢numr╢ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚sups╬sups╬sups╬sups╬sups╬sups╬sups╬sups╬tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘     4zО╪XXX6XXlжДТж┤№:RjЎ м 6 V└▌mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСУФХЦЧШЩЪЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪єЇїЎў°∙·√№?  "+1244679;=?"AE%GG*IJ+LL-NY.[\:bb<dd=lz>}БMГДRЖЖTОСUУЭYЯЯdвеeммiопj╡╢l╝╝n╛╛o└╔p╦╘z┌█Д▌▌Ж▀рЗхчЙъъМьэНЄЄПЇЎР°°У·№ФЧШЬгдеж"$з&1к48╢;<╗>>╜FG╛OP└R\┬^^═ad╬¤╥%%▄▐:N:@HNT\fpzДОШвм╢║╛┬╞╩╬╥╓┌┘lёЎТ Ы┌и¤єщ■Їъ їы Ўь ўэ °ю ∙я ·Ё√ё№Є▀рстуфхцчшZZннЁЁ■■▀Є Ц6Д$КЛНТ|ЙN , е~дзЕжЗ б~агЕвЗБГ!Ё'рш╘ ы%▓ "4є№¤ $Zн@Z ЎщЄ ▀ш▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐  "+1244679; =?#AE&GG+IJ,LL.N\/bb>dd?lz@}БOГДTЖЖVОСWУЭ[ЯЯfвеgммk▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪"нп╡╢╝╝╛╛└╔╦╘┌█▌▌▀рхч ъъ#ьэ$ЁЁ&ЄЄ'ЇЎ(°°+·№,■■/015>?@"$A&1D48P;<U>>WFGXOPZR\\^^gadh^@JTgL  hхЁiхeЁfj■k■?-AхцЁ-Ё■!"┘┌┘┌єЇїЎў°∙·√№Zн¤■ fcidecomp-2.1.1/documentation/solution-design/_static/Dosis-ExtraLight.ttf000066400000000000000000002650601473255640600267640ustar00rootroot00000000000000GDEF!*!┐¤L└GPOSа6Р9■ iдGSUBWq╖g░~OS/2Воa_╘а`cmapд,▄╒Аcvt бшщdvfpgmЮ6╨┌Аgasp¤DglyfVь╫ъ┼рhead╬Т╩╦А6hheaY╟╘|$hmtxЙd:╦╕─loca*■[б╟dmaxpД^╞№ namerуЩнщ▄МpostфсS╣юh┌preppШU/шШ╦<_z'$@!%LЕv''--+w"&54677'&&546327632#"''N JJ  BB  JI  AB_ rs ff sr ddЁс/@,LgM N +s"&&5476632#"&''!7!+ ┘  ╫  3■╓2 IЙ╜¤Cдд╒└  Ё╣&┬ ▒╕░5+  Ё╔&Ш ▒╕░5+  Ё╣&Г ▒╕░5+  ЁЦ&░ ▒╕░5+  Ё╣&┬ ▒╕░5+  Ён&Е ▒╕░5+   >Ёс&"А▒░░5+  Ё&л ▒╕░5+  Ё╡&q ▒╕░5+OМ█*1@@=g _Ma  N/-,+'&"  ** +s"&54663!2##32##32##"&5#3#"a 4Y7h  эа  аэ    ўўWKU ЎKZ)  ■╔  ■╚  J■╗ А7SW  OМ╣&  ▒╕░5+S┌█",9@6Lg_M_ N,*%#" 6+s"&546332#'326554&##532654&&##e Ц:]6/&.4Y7ЯЯKUUKЯЛSO+K1Ж ╕ HF@W +D4KY'$PWWG$?W88L ·╙█-;@8А~aMa&N(&  --+E"&&546632#"&5.#"32>766325Z57Z6@U+  !=1OSTR2:  ,W)ZKEKZ).H' -)SW■╗XR(. &H.  L ·╙╣&╠ ▒╕░5+  L ·╙▐&Г ▒╕░5+  L 1╙█&!ч  L ·╙╣&Н ▒╕░5+  L ·╙Я&б ▒╕░5+S┌█-@*L_M_ N6+s"&546332#'32654&##e ▒7Y44Y7ЯЯKUUKЯ ╣ )ZK■┴KZ)$SW?WSф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█    S┌▐&З ▒╕░5+ф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█  S┌█ /@,g_M_ N %$6+s"&5463!2#!32##!2#e d  ■оа  аR  ╖  ■╔  ■╚    S┌╣&╒ ▒╕░5+  S┌╔&л ▒╕░5+  S┌▐&М ▒╕░5+  S┌╣&Ц ▒╕░5+  S┌Ц&├ ▒╕░5+  S┌Я&к ▒╕░5+  S┌╣&╒ ▒╕░5+  S┌н&Ш ▒╕░5+  S =┌█&"kS┌█-@*g_M N +s"&5463!2#!32##e d  ■оа  а  ╕  ■╔  ■╡ L ·╙█1>@;АgaMa&N*(#" 11+E"&&546632#"&'.#"32655#"&5463327X44X7>W/  *D,KTTKKUЯ ▓ 4Y)ZKEKZ),K. -:SW■╗WSSWФ  еKZ)  L ·╙╔&#е ▒╕░5+  L ·╙╣&#Р ▒╕░5+  L s╙█&# л  L ·╙Я&#д ▒╕░5+S┌█,@)gM N +s"&54632!4632#"&5!e  ?   ■┴ ╕  ■├=  ¤H W■й █15D@A  g gM  N5432.-*(%# 11 +s"&5#"&5463354632!5463232###"&5!!5!e - -  ?  , ,  ■┴ ?■┴   И  ИИ  И  ¤є W■й НТ  S┌╣&(Х ▒╕░5+Sw█ @M N  +s"&54632e  ╕  ¤H   S ·k█&+6╩  "з╣&+" ▒╕░5+   °╥╔&+ ° ▒╕░5+   уч╣&+ у ▒╕░5+  ║Ц&+ ▒╕░5+  CЖЯ&+ ў ▒╕░5+  "з╣&+" ▒╕░5+   хфн&+ х ▒╕░5+   B|█&+"▒░░5+   ╤°╡&+ ╤ ▒╕░5+ ·б█!2@/А_Ma&N !!+W"&&546323265#"&546332▐=X/  +I,KTЯ  ▒ 4X,K. ,;SWя  ¤ KZ)   ·б╣&6v ▒╕░5+SЇ█%)@&"! LM N %%+s"&54632632#"&'e  C ч √` ╕  ■xУ ■с■|xxў   S sЇ█&8 ЯS╢█@M_ N&+s"&54632!2#e  0 ╕  ¤Z    S╢╣&:├ ▒╕░5+  S╢х&:%   S s╢█&: ЮS╢█WK░!PX@Ma"M_ N@iM_ NY@&+s"&54632!2#"&54632e  0e ╕  ¤Z  Б╝█(,@) LM_ N('"!+s"&5#"&5467746327632!2#k 9 J  s Д0 ! +s  ■бC L■р  S:█'2@/$ LАM N!''+s"&54632>32#"&5#"&'e  ┬├   ╜  ╝ ╕ ■В~ ¤H q■Ф l¤П S┌█'@$ LM N+s"&546324632#"&'e  2   ■╠ ╕ ¤вq  ¤H  _¤П   S┌╣&A╘ ▒╕░5+  S┌▐&AЛ ▒╕░5+  S s┌█&A ╕S ┌█*3@0L KM Ma$N**'%+%+E"&5463266554&'#"&546324632` '% ■╠   2  5э  (F,0 _¤П ╕ ¤вq  ¤7V0  S┌╡&AГ ▒╕░5+L ·╙█-@*aMa&N +E"&&546632'2654&#"7X44X77Y44Y7KUUKKTT)ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS  L ·╙╣&G═ ▒╕░5+  L ·╙╔&Gг ▒╕░5+  L ·╙╣&GО ▒╕░5+  L ·╙Ц&G╗ ▒╕░5+  L ·╙╣&G═ ▒╕░5+  L ·╙╣&GХ ▒╕░5+  L ·╙н&GР ▒╕░5+  ; ьу&G┤%  ; ьу╣&O═ ▒╕░5+  L ·╙╡&G| ▒╕░5+L ·5█0>З@ .LK░'PX@#g aM a &N@+g aM_ M a &NY@21971>2>*(#"! 00 +E"&&5466325463!2#!32##!2#!"&55'2654&#"7X44X72U b  ■оа  аR  ■Ю U2KUUKKTT)ZKEKZ)"&6  ■╔  ■╚  0&"$SWEWSSW■╗WSS┌█3@0Lg_M N +s"&546732##326554&##e ▒7Y44Y7Я ЯKUUKЯ ╕ )ZK K[)■р VTW WSS░█0F@C LiiM N )'0 0 +s"&546326632#"&&'7266554&&#"e  G7,N12L(>. Ы!>''="&C(&A ╣ м- A0└0A"#┬ й2&└&01!└3"L У╙█/6@3"LeaM&N*( +E"&55.546632'546326654&#" 3Q.4X77Y4.P3   BKUKKTKm V*YGEKZ))ZK■╗GY*V ЛT  SRREWSSW■╗RSS┌█ ):@7 Lg_M N)'#!   +a"&'##"&54673232654&##╚ аФ  з7^9-L/е■кХK__KХ 8■╢ ╕ #SI@P(■┐АISSH  S┌╣&V╨ ▒╕░5+  S┌▐&VЗ ▒╕░5+  S s┌█&V У* ·▒█:E@B#LА~aMa&N,*(& ::+W"&&546632326654.54>32#"&&#"ы@V+"=37J&%&G╞ ▒╕░5+  L ·╙╣&Ь═ ▒╕░5+  L |╙>&Ь┐  L ·╙╣&Ь═ ▒╕░5+  L ·╙┴&Ьf ▒╕░5+  L ·╙╡&Ь| ▒╕░5+  O |╓█&d┬  O ·╓┴&di ▒╕░5+  O ·H>&d_ ▒╕░5+  O ·H╣&д╨ ▒╕░5+  O |H>&д┬  O ·H╣&д╨ ▒╕░5+  O ·H┴&дi ▒╕░5+  O ·H╡&д ▒╕░5+   |ц█&vо  ц┴&vU ▒╕░5+  ц╡&vk ▒╕░5+# ·g▐&3ЬK░'PX@ $L@ $LYK░'PX@(Аia(M a&N@,Аia(M M a&NY@('.,'3(3! && +W"&54663354&&#"#"&546632#"&55'26655#"о:Q;iE8:0* %9>H  K3&E,73[9<AC59&H/   7W2■Ї 4/#%4T ),2/  # ·g╢&нС  # ·g╞&нg  # ·g╢&нR  # ·gУ&н  # ·g╢&нС  # ·gк&нT  # @i▐&н"√▒░░5+  # ·g&нz  # ·g▓&н@# ·з▀>KXi@f<LАА  i a(M a &N@?USNLFD?K@K:810.,)'  >>+W"&&54663354&&#"#"&5466326632##326632#"&''26655#"732654&&#"л$>&:hE8;2* %9>IT4>6" $#ы_F)- 0E!7__+*D(75Z6;ш▀(#@+(@%;,69&H/   9,+9.J6 /DO62:.#&4T *-/0х&D,'@&  # ·з╢&╖%E ·в/МK░'PX@ L@ LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&'#"&546326632'266554&&#"Ё.I   C21R11Q.&@''@'"?($?-4 ▌ ■г/1Q2z/T3#*D%z%B*#@.Я4)4 ·t▐'A@> LА~a(Ma&N  ''+W"&&5546632#"&&#"326632ы>Q('R>(; *(HLLI*- !=0R4x3S0 ODxDO   4 ·t╢&║Ж  4 ·t█&║=  4 1t▐&║!и  4 ·t╢&║G  4 ·tЬ&║[2 ·П/МK░'PX@  L@  LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&&55466324632#"&55'266554&&#"ф/R11R12D   J0(>$(?"'@''@3T/z2Q1/] ¤# 4-#)4Я.@#*B%z%D*2 ·Х7IN@K0'L*Ka!Ma(Ma&N98B@8I9I%# 77+W".5546632&&'#"&5477&&#"&5466327632'266554&&#"у$?20Q0;/-b \ H! #T&P J&11Q0(@''A'(@&&A4A$z0R2&Sz)8  5"  *+.  +2Т_╜/T3#*D%$@(*B%z%D*  2 ·&└%╬2 ·┌/AиK░'PX@-  &L@-  &LYK░'PX@'i!M a(M a &N@+i!M a(M M a &NY@10:80A1A*(%# // +W"&&55466325#"&546335463232###"&55'266554&&#"ф/R11R12DК К  9 9  J0(>$(?"'@''@3T/z2Q1/╡  Е Е  ¤╦ 4-#)4Я.@#*B%z%D*3 ·Ц▐!.>@;Аga(Ma&N+)$" !!+W"&&5546632##32663232654&&#"¤;[41Q0/Q1%э`I*, !>╥с%#@+(A&.Q7}0Q0/Q4$ /DO $D,(@&  3 ·Ц╢&─Ь  3 ·Ц╞&─r  3 ·Ц█&─S  3 ·Ц╢&─]  3 ·ЦУ&─К  3 ·ЦЬ&─q  3 ·Ц╢&─Ь  3 ·Цк&─_  3 WЦ▐&─" ▒░░5+' ·К▐!.C@@Аga(Ma&N#")'".#. !! +W"&&54663354&#"#"&&546632'26655#"╪/Q1&э_J*,  !>+;[41P1)@&с%#@/Q4%/DO .Q7}0P1#(A%+$D,E 5@2La!M_"M N   +s"&5466332##"32##U 1Q0   (A%Щ Щ =0Q1  )A%v  ■\   │ы;IWТ@$ .DLK░'PX@* ia(Ma(M a$N@(i ia(M a$NY@KJ=<RPJWKW  | |  ╛/1Q2■ш %B*#@.■ш    ╘в╘&╒ ╘ ▒╕░5+5t│ 2@/ Li"M N  +s"&54632"&54632U     ╡ ■K t  Dg╪ !@ L"M N  +s"&54632U  ╡ ■K   Ш╢&┘   щ├╞&┘щ   ╘╪╢&┘╘  лУ&┘  Ш╢&┘  5  │&╪ул   ╓╒к&┘╓     CwЬ&┘&ш" ▒░░5+   ┬щ▓&┘┬ ▄ u│!6@3 Li"Ma$N!!&%+G"&546326654632"&54632 '%  5:  э  (F,ў ■ 7V0a   ▄ h╪%@" L"Ma$N&%+G"&546326654632 '%  5э  (F,ў ■ 7V0   ╒ ┘╢&ф╒Eи$2@/"!  L!M"M N $$+s"&54632%632#"'V  б╣╕i ▌ ¤·ыМ■я   \и   E sи&ц |Dз╪$+@("!  L"M N $$+s"&54632%632#"'U  б╣╕i ╡ ▐ыМ■я   \и Mp !@ L!M N  +s"&54632^  ▌ ¤#   бЗ&щ╤▒░╤░5+  M№&щ%╡   sб&щ M 5@2 Li!M N  +s"&54632"&54632^  И ▌ ¤# #'@$! L!M N##+s"&5#"&5467746327632О O `  ^ o )- 7М ■И7 @■┬ D┐▐;d@ 9 LK░'PX@a"M N@"Ma(M NY@53-+%# ;; +s"&5463266326632#"&54&&#"#"&54&&#"U  C24OS+*K/  '<"=(  #:$!?( ╡ 5/8,31*P:■ш 0@!#>*■с  (?%#@.■ш Dб▐%V@ # LK░'PX@a"M N@"Ma(M NY@ %%+s"&546326632#"&54&&#"U  C21R1  '@'"?( ╡ 5/1Q2■ш %B*#@.■ш   Dб╢&Ёо  Dб█&Ёe  D sб▐&Ё ТD б▐-e@ "LK░'PX@a"M Ma$N@ "Ma(M Ma$NY@--%%&'%+E"&546326654&&#"#"&546326632' '% '@'"?(   C21R15э  (F,Z%B*#@.■ш ╡ 5/1Q2■ж7V0  Dб▓&Ё]2 ·Х▐#-@*a(Ma&N## +W"&&5546632'266554&&#"у/Q10Q00Q11Q0(@'&A((@&&A3S0z0R21Q2z/T3#*D%z%B**B%z%D*  2 ·Х╢&Ўб  2 ·Х╞&Ўw  2 ·Х╢&Ўb  2 ·ХУ&ЎП  2 ·Х╢&Ўб  2 ·Х╢&Ўi  2 ·Хк&Ўd  2 рХ¤&Ў╢  2 рХ╢&■б  2 ·Х▓&ЎP2 ·╒▐-?LY@V  +LА  g a(M a &N/.IGB@86.?/?)'  -- +W"&&55466326632##326632#"&''266554&&#"732654&&#"у/Q10Q03WW5/Q1%э`L)) $>)AaV3(@'&A((@&&A┘с%#@+(A&3S0z0R29.-:/P3%!/DO  80-;#*D%z%B**B%z%D*х$D,'>%E в▐/t@ LK░'PX@a"Ma&M$N@!"Ma(Ma&M$NY@(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э в 5/1Q2z/T3-■▀  *D%z%B*#@.Я4)E в/J@G L!Ma(Ma&M$N(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э ╩ ■г/1Q2z/T3-■▀  *D%z%B*#@.Я4)2 П▐/МK░'PX@L@LYK░'PX@a(Ma&M$N@!"Ma(Ma&M$NY@(&//+E"&5#"&&554663254632266554&&#"~ J./R11R12D  д(>$(?"'@''@э !-3T/z2Q1/5 ¤^  )4Я.@#*B%z%D*D(▐R@  LK░'PX@a"M N@"Ma(M NY@+s"&54632>332##"U  &6#% %#@( ╡ 5"  #@.■ш   D(╢&W  (█&   ∙ s(▐& ▌& ·O▐3E@BLА~a(Ma&N'%#! 33+W"&&54663232654.546632#"&&#"╕-A$ 2/?6$:@:$A48$**2$:@:$P 1"'+/)<(    +!$5.7A  & ·O╢& x  & ·O█& /  & 1O▐& !В  & ·O╢& 9  & sO▐&  a ьфKЭ@ C'LK░#PX@5Аi a !M_"M Ma &N@2Аi e a !M_"M NY@<:64/.+)#! KK +E".546632326554&&'&&5467>54&#"#"&5#"&54633546632? $& $&ANIA &=>,4  Q QD6-H) !@+0L ^[#O; .2IS)A%¤├ д  v0Q1&O>$I8 8U3K_.B¤┐5@2LЕ_"Ma N +s"&5463232##332#╘GK  З З2= BI# ╓  ■╓9/  B¤┐'A@>LЕg_"Ma N! '&+s"&5463232##32##332#╘GK  З ЗЗ З2= BI# ╓  s  Ф9/    B¤х&%░  B s¤┐& )@ ·г╪+@(L"Ma&N +W"&&54632326654632Є1Q0  &A((@&  0Q2S/ ■ш%B*)C% ■ч0R2  @ ·г╢&п  @ ·г╞&Е  @ ·г╢&p  @ ·гУ&Э  @ ·г╢&п  @ ·г╢&w  @ ·гк&r  @ =г╪&"┐  @ ·г&Ш  @ ·г▓&^ ·u╪#@ L"M&N +W"&'&&5466326632─Ь ОН Ь ▓ ■wГ  ■N ·{╪,2@/)LА"M&N&$ ,,+W"&'&&5466326632632#"&'─Ь Нs  oР Эus о ■yj■СМ  ■Mw■П    ·{╢&    ·{╢& ┼   ·{У& Є   ·{╢&  ·c▐-)@&*L(M&N'%--+W"&&5477'&&54663276632#"&''-ЛЛГДММДГ┘╒╚╚╒┘╦╦ x▐%(@% L(Ma$N%%&*%+W"&54632>7&5466326632$ +# а  СР а "+7э  'AK$║■pР■F%WM1   x╢&&Г   x╢&&D   xУ&&q   x╢&&Гg╪%@"_"M_ N%+s"&5467#"&5463!2!2#,  є  ■Ї  Щ  ■g    g╢&+~  g█&+5  gЬ&+S" ·в▐-:O@L+LАia(M a &N/.53.:/:)'"! -- +W"&&54663354&&#"#"&&54663232#"&''26655#"л%>&:iF8:0* %9>H 'L6(F,75[7;:,6:&H/    7W2─"  *"-#%4T *-/0B ·Я*>@; L!Ma(Ma&N$"** +W"&&546326632'2>554&&#"ъ(N2  C21R1+E/+8 '@'"?(PC8^ ■г/1Q2z@7"#.3z%B*#@.ПA=3 Р▐+>@;La(Ma&M$N#!+++E"&5#"&&554>32266554&&#" D21R1)D2)O4 ж$@('?&+7 '?э "/1R1z@7" RK■  %4Н=G.3z$C*2 П▐+=кK░'PX@! L@! LYK░'PX@*Аa(M a&Ma$N@.А"Ma(M a&Ma$NY@-,64,=-=%# ++ +W"&&5463232>55#"&&554663254632266554&&#"▐'E,  6-/9 J./R11R12D  "M>(>$(?"'@''@э 2@"_-3T/z2Q1/5 ■6^9 )4Я.@#*B%z%D*@╗▐55@23 La(M N/-'% 55+s"&5466326632#"&54&&#"#"&54&&#"Q .I),UT,*K/  '< ">&  '>#;' :P*3553*P:■ш 0@!%A+■ч  +A% @1■ч @г▐+@( La(M N +s"&546632#"&54&&#"Q 0Q01Q0  &A('A& 0R22R0■ш %B*)B&■ч ?#▐'@$La(M N +s"&554>332##"P ,;#2 2'9  (J:"  2O*  @ ·Э╪%jK░'PX@ #L@ #LYK░'PX@"Ma&N@"M Ma&NY@  %%+W"&&54632326654632#"&55Ї1R1  '@'"?(   D1R1 ■ш$C*#A- ■K 5/  # ·g&н&  # |g╞&н'Гg  # ·g&н'∙  # ·g&н(  # ·g°&н)▄  # ·gЇ&н*   # |g╢&н'ГR  # ·gЄ&н+   # ·|ю&н,   # ·g╫&н-▄  # |g▐&нГ  # ·g╛&н*  3 ·ЦЇ&─*  3 |Ц╢&─'О]  3 ·ЦЄ&─+  3 ·Цю&─,  3 ·Ц╫&─-ч  3 |Ц▐&─О  3 ·Ц╛&─5  3 ·Ц▓&─K  2 |y│&╪  Ь╛&┘м  2 ·ХЇ&Ў*  2 |Х╢&Ў'Уb  2 ·ХЄ&Ў+  2 ·Хю&Ў,  2 ·Х╫&Ў-ь  2 |Х▐&ЎУ  2 ·Х╛&Ў:  2 ·Ц;&Ўн  2 ·Ц╢&Tб  2 |Ц;&TУ  2 ·Ц╢&Tб  2 ·Ц╛&T:  2 ·Ц▓&TP  @ |г╪&б  @ ·г╛&H  @ ·;&,  @ ·╢&\п  @ |;&\б  @ ·╢&\п  @ ·╛&\H  @ ·▓&\^   x▐&&╕   x╛&&   x▓&&2EЪ%3S@P *1#LАa!Ma"M  N'&.,&3'3"  %% +s"&546632#"&&#"32##!"&54632U +T?#B,1*/>#Л Л +  =*R6 .0v  ■\ ╡ ■K EЪ'>@; % La!M_"M N$" ''+s"&546632#"&5&&#"32##U 8Y060  <(H.Л Л =7P+¤X г%C.v  ■\ 'п№█'4M@J%LАi ea7N)(/-(4)4"  '' +S""'&&5463354&#"#"&546632#"&55'26655#"В &Q@ ")&)0  +'3!п&%2" 8  "7в *,о█*@'ea7N  +S"&&5546632'26554&#"а5 5 5 5!/.""..о!5F4 4 F5!!4F22F4DП╪$@!_MN+s"&5463!2#"&5!V '  ■¤  ╡ ■K  г■] A ·╚█+>@;iaMa&N! '% +!+  +E"&&546632'2654&#""&546327X44X77Y44Y7KUUKKTTL  )ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS,  Ж█*@'LАM N +s"&5#"&546776632t +  B  mP А  ¤H &н█/4@1LАaM_ N/.%$.+s"&554>54&&#"#"&546632!2#8 2NYN2"D4;N -O3:T.2NYN2R  a*F?=CM0%E.CA ,G*4U25VF=;?%O  ! ·и█CN@K<LААiaMa&N64-+%# CC +W".54632326554&#"&546326654&#"#"&&54>32ц1J2   ">1MUUI /??J.: 'I:3L+2",:4X.7 ,)SWKK  ?4HK(*  43""L@IQPDKZ) Т█*3@0iM"M N'%!**+a"&55!"&5467663235463232##3 ■√  °ш  ; ; а ¤■ъ  ъ  а   ·з█2D@ALАg_Ma&N+)(&! 22+W"&&54632326554&##"&5465663!2##32у=X.  +H,KUUJЗ   ∙|7X44Y-J. );SWSQ +  ■ь'XIKZ)A ·╚█'5I@FLАiaMa&N)(0.(5)5  '' +E"&&546632#"&54&&#"6632'26554&#"7Y44X7.I2  +I,KTT27X44X7KTTKIWU)ZKEKZ)/;! (:!SWо&$$UKKZ)$SWWIDS&WS!и█4@1 LА_M N%#+s"&&5475!#"&55463!2Y <■┴  c ■┬l1Г Х H¤С 1 ·╕█+7E@BLiaMa&N-,31,7-7&$++ +W"&&55467&&546632'26554&#"2654&#"ї7Y4:.&//P22P//&/84X6JTUJJVVJBKKBBKK)[J MZMACLLCAMZM J[)$TV VQQV WSВBKJ@@JKB0 ·╖█'5I@FLАiaMa&N)(0.(5)5  '' +W".5463232655#"&&554663226554&#"Ї.I2  +I,KTT27X44X77Y44X8IWUKKTT/;! (:!SWо%%$UKKZ))ZK■╗KZ)VER&WSSWWIt█!0@-LАM_ N! $%+s"&54633#"&54677663232## О+  E  Н   [P  Е  ¤Z    3 ¤n  gnА  % nБ  " ¤nВ  ¤nГ  ! ¤nД  2 ¤nЕ    nЖ  ) ¤nЗ  * ¤nИ3 ¤n-@*a/Ma2N +W"&554632'26554&#"ж1BB1!44!&,,&&++1:Ы:1/'Ы'/%'Ы'%%'Ы'%gn.@+LА/M0N +s"&5#"&54677632W -  (   ;■м% n,4@1LАa/M_0N,+%$, +s"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡0(%%** %, 1'""  " ¤n<R@O%5LААia/Ma2N0.)'"  << +W"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4&  $' #  %    &(0"+ '! &/¤n(=@:&Li/Ma0N%# (( +s"&55#"&5477663235463232##┐ РН  Гr   Iўу``  I! ¤n/>@;Аg_/Ma2N(&%# // +W"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!433 #( %$  Е  x-% &/2 ¤n$2M@J LАia/Ma2N&%-+%2&2 $$ +W"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+90Г'/'%'M,& :1%& (!%&%  nY@  LK░PX@r_/M0N@А_/M0NY@ %# +W"&5475##"&5546332L кг  ╞ й :L+■▀) ¤n'3E@BLia/Ma2N)(/-(3)3" ''  +W"&55467&&54632'26554&#"72654&#"Ь0C!<,-;!B0&+,&%,,%"%%"!&&07', ' 2&&2 ' ,'70&&&$$&&&╝ !! * ¤n$2I@FLАia/Ma2N&%-+%2&2 $$ +W"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++' %'L,& :1/'Ы'/│%'%%' '!3j█-@*a7Ma:N +S"&554632'26554&#"ж1BB1!44!&,,&&++j1:Ы:1/'Ы'/%'Ы'%%'Ы'%mg█.@+LА7M8N +S"&5#"&54677632W -  m(   ;■м%m █,4@1LАa7M_8N,+%$, +S"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡m0(%%** %, 1'""  "j█<R@O%5LААia7Ma:N0.)'"  << +S"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4j&  $' #  %    &(0"+ '! &/m¤█(=@:&Li7Ma8N%# (( +S"&55#"&5477663235463232##┐ РН  Гr   mIўу``  I!j█/>@;Аg_7Ma:N(&%# // +S"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!43j3 #( %$  Е  x-% &/2j█$2M@J LАia7Ma:N&%-+%2&2 $$ +S"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+j90Г'/'%'M,& :1%& (!%&%l█Y@  LK░PX@r_7M8N@А_7M8NY@ %# +S"&5475##"&5546332L кг  ╞ йl :L+■▀*j█'3E@BLia7Ma:N)(/-(3)3" ''  +S"&55467&&54632'26554&#"72654&#"Э0C!<,-;!B0&+,&%,,%"%%"!&&j07', ' 2&&2 ' ,'70&&&$$&&&╝ !! *j█$2I@FLАia7Ma:N&%-+%2&2 $$ +S"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++j' %'L,& :1/'Ы'/│%'%%' '!  3j█Й  mg█К  %m █Л  "j█М  m¤█Н  !j█О  2j█П  l█Р  *j█С  *j█Т q ь1K░#PX@ !M&N@ Ж!NY@ +G"&547632 З  ■| Ї ¤   ь)&К'ЭЮБ    ь(&К'ЭЮВ   % ь╡&Л'Э+Вн   ь&К'ЭЮГ   " ь▒&М'Э2Г┤   ь/&К'ЭЮЗ   " ь├&М'Э2З┤  ! ь╗&О'Э*Зм   ьА&Р'ЭяЗq- ·tB @a&N  +W"&54632Q- │tB&@#LYaQ +W"&5477&&54632E     M3  #= ·Дж +@(ia&N     +S"&54632"&54632a^■Ь= │Еж"7@4LiYaQ"" +W"&5477&&54632"&54632U     M3  #л- ·╒B #0@-a&N ##    +E"&54632!"&546323"&54632▓■Сг= ·ДьY╡LK░PX@АMa&N@ЕЕa&NY@ +w"&54&&54632"&54632`   У Z╗╗ZZ╗╗Z Щ= ·ДьZ╡LK░PX@АaM&N@Аi&NY@ +W"&546654632"&54632`    Z╗╗ZZ╗╗Zк ·Yь*6oK░PX@&А~aMa&N@$А~ia&NY@,+20+6,6**+w"&54667>54&#"#"&546632"&54632а  ,+KK* (?$>P' //  У 7>5463232>32"&54632█>P' //    -+KK ) '@ 1S23I7++<)  32#"32ё'@./?' ,> ,@  *=&└#?2  *A#■@48   ь╙CK░#PX@a!Ma&N@ea!NY@ %%+W"&546326654&&#"&54632%  ?, >, '?/.@  84└#A*  2?#■@&=*" ь Cf@ 0LK░#PX@ia!Ma&N@iea!NY@=<%# CC+W"&&54>54.54>54.54>32#"32°1O/ 0@$ )?#   -/ %D, .:9)   2>7 :-  %;! 5=1 ;IA!+   ь√Ci@:LK░#PX@ia!Ma&N@iea!NY@CC8732'% &+W"&546632>54.5467&&54>54&&#"&54632% /-   #?) $@0 /O  +!AI; 1=5 !;%  -: 7>2   )9:. ,D%J ы J╡LK░PX@_!M_ N@c_!NY@ %&+W"&546332##32#\ Ь КК  є  ¤1   ы╙J╡LK░PX@_!M_ N@c_!NY@ %%+W"&54633#"&546332#% КК Ь   ╧  ¤  2▀Y @W_O %+w"&5463!2#C  ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀н @W_O %+w"&5463!2#C X ▀    № ▌_ &▒dD@W_O %+▒DW"&5463!2#  @ #   - │tB&@#LYaQ +W"&5477&&54632E   M3  - │·B-4@1&LYaQ$"-- +W"&5477&&54632#"&5477&&54632╦   К   M3  3  'VЇх-P@ (LK░1PX@aN@YaQY@#!-- +S"&54>76632#"&54>76632╨   Ц   V 3  3 )VЎх-P@ &LK░1PX@aN@YaQY@$"-- +S"&5477&&54632#"&5477&&54632╟   К   V3  3  'Vnх>╢LK░1PX@ aN@YaQY@  +S"&54>76632J   V 3 )Vpх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632A   V3  (J@с3.@+0-LЖ(N&%33 +e"''&&54677632#"''&&54677632. `` ``Ч `` ``J ▒ ▓ ▓▒ ▒ ▓ ▓▒)JAс3-@*$! LЖ(N33)'-+w"&&5477'&546632#"&&5477'&546632═ `` ``Ь `` ``J▒▓ ▓ ▒ ▒▓ ▓ ▒ (Jос!@LЖ(N +w"''&&54677632Ь `` ``J ▒ ▓ ▓▒)Jпс @ LЖ(N-+w"&&5477'&546632; `` ``J▒▓ ▓ ▒ +E╘ .@+ La!N  +S"&5'4632#"&5'4632╗  А  E Ш Ш Ш Ш +E\ !@ La!N  +S"&5'4632C  E Ш Ш % ·█R`@]А   А g   gaM a&NMKFD?=8764/.+)#! RR+E"&&55#"&546335#"&54633546632#"&54.#"32##32##326654632?7X4F FF F4X7>W/  ,:!KT╠ ╠╠ ╠*;%,I+  /W)ZK@  l  SKZ),K. "1 SWS  l  @+A):- .K,)(i╢/7g@d  10-LЕА~ЖiYaQ,+%$"! // +w"&55&&554667546322#"&&#26632#'╔ GG?1  &A' /,-.  *A# 655( x cE-K3z w ■╞ u н2 K9:JD"иМ;KU@R90*! LYi Yi aQ=<EC:;LK░)PX@1А~ Ж!M aMa N@/А~ Ж i!Ma NY@HG10.,%$! == +E"&55"&&5466323.54>754632#"&&'76654&&'' @V,#@5!>3 4>  3(3':.ZG >?#8"$#@)'@4 ''1  "O &>0/=$   ■ц -F4Z[) _ L@5@( 44./8 │ w^*,@)gea!N*)%475+G"&546332667>332##"32###= #L332##"32##!2#+ ?.V [;X1 (G.ги/  K  ╝0Q1  )A%╝  ■╡  ┼█@K@H!>Lg  gM  N=;6542-,&$ @@ +s"&55#"&546335#"&54633&&546632663232##32##ь | || s┤  о╕ ╛z ГГ Г ┤  N  j■жZ■Ц  N  ┤ $?Зв;@8 LYgaQ +w"&55#"&546335463232##╓ П П  О О ? П  О О  П ? в. @W_O %+S"&5463!2#P @    BСGЦ%/@,#LYaQ! %%+w"&&5477'&546327632#"''See de eefeСee ee eeee5%Ш╝ %@@=igYaQ!%% % +w"&5463!2#"&54632"&54632F @ г▀   ║AIЯfН /@,gW_O %+S"&546332#"&546332#Z · · · j   ╦   ; ыФJ5=@:Е  ЖhW_O55%%#%% +W"&54677#"&546337#"&546337663232##32##i DS cJн ╜P GT cKо ╛JЫ  и  ╡ Я  и  и 4Jmс@ I(N++w"&547%%&54632G ■■ ■эJ  лм  ╢  ╢JWс@Jv+e"'%&&5467%632D■э ■■ J╢  ╢  мл  ?Dx ),@)LЕW_O)(#!/+w"&&5467%%&&546632"&5463!2#R ■■ ■э  иСТ Ь  Ьd   :Ds )/@,JЕW_O)(#!+e"'%&&5467%632"&5463!2#`■э■■■ч  иЬ  Ь ТСd   =Dа -L@I LgiW_ O  - ,'%  +w"&55#"&546335463232##"&5463!2#я П П  О О й @ и П  О О  П d   IМpЬ!Cb@_А  Аi  i  i  Y a  Q#"<:8642+)'%"C#C !!+A"&&#"#"&&54>32326632"&&#"#"&&54>32326632%( &'  %( &' U   ╔   5▀\&!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒De"&&#"#"&&54>32326632%( &' ▀   =?Ц,@)LЖW_O +e"&55!"&5463!2Е ■█ 6 ? П  а X╢)▒dD@LЕv +▒DS"&54677632#"&'' h h hhX 87  78AO Й'3M@J1 Li  Y  aQ)(/-(3)3#!''  +w"&&5466326632#"&''267&&#"!2654&#"р)I--I)7l"#l7)I--I*7k#"l6/ee/2JJ╗2JJ2/ddO#F45E#@77@#E54F#?77?$<=>;;>>;;>>;;>=<  8<ь(@%iYaQ%%+W"&5463266546632#"  6%'F- &5)8╚  *(Э'C)  !4¤c2!<┌█16@30"LiW_O11'%(%+s"&546335&&54663232##56654&#"M k2>4X77X4>2k О69TKKT96  (]RKZ))ZK■ R](  g QHWSSW■ HQ g╚с+@(LЕW_O(+s"&5476632#%!* ┼  ├ ■МZм╜¤C$qS┌█)@&ЖW_O+s"&5463!2#"&5!e c  ■┴  ╕ ¤H  ж¤Z  д█%.@+LgW_O%$($=+W"&5467&&5463!2#!!2#/ хх c ■║╬╬F у ┬┬  ■l■m   ▌@8@5LЖgY_O +W"&'#"&54633266332##щ О& 2 В█ Z Mч #н  ■x╠  ¤M к╪&6@3#$L"Ma&M$N!&&+W"&54632326654632#"&'^  )3$>%  -N12K э в ■╨*&*C$ ■ш1R1/■▐ 7 ·Ъх(:M@JLАiiYaQ*)31):*: (( +W".55466324&&#"#"&&546632'266554&&#"ш$?20P0LбK░#PX@4   i  i!MaMa  M &N@4 Ж   i  i!MaMa  NY@+@?0/"!GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%. ьт .>L\j╜K░#PX@: i    i!MaM a  M&N@:Ж i    i!MaM a  NY@;^]NM@?0/"!ec]j^jUSM\N\GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Q1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%1:Ы:1/'Ы'/%'Ы'%%'Ы'%Х ╡n,-@*LЕЕv+E"&5#"&&5477632#"''Б ╜ ╓  ╓╜ K +╛╫ ╫╛¤╒ F╜▌ -@*ЕЖW_O   +e"&&5477!"&5463!'&546632╨╛¤╒ +╛╫ ╫ ╜  ╜╓  ╓Х ╡n,*@'  LЕЕv%%(+E"''&54663246327632Б ╓ ╜  ╜╓ K ╫╛+ ¤╒╛╫ F╜▌-@*ЕЖW_O +e"''&5477632!2#!3╫ ╫╛+ ¤╒╛╓  ╓╜  ╜   д█ @LЕv +W"&'&&54676632'р ХФ ФХ  ггг#   "■▐   ■▌1>>■┬= жУ(Ub{@x5 LА   А  ii  i  i i Y a QWV][VbWbNMKIA?971/)'%#  UU+E".546632#"&'#"&&54663354&#"#"&&54663232>54&#"326632'26655#"F3_K,=Еl`ДD.+#43,#:!.W=138!"%7,;)ГЖKe>7ZA.9"  /;'50-H+4Z$KvQ[ЧZHНi0Y8&.(-//,    7(д07ГЧ0Ti95cN.  п&C $'!) Ў@ь=IЗ@BA;0#LK░PX@'А~aMa&N@%А~ia&NY@?>>I?I86)(== +E"&&54667&&546632#".#"6674632#"&'''267'Fb3*A"7.L-4A ,$=D)▀ a Z`C@Pч:*,T :_86M5%X=5J&#*  K=%=6ў5r& K],j a.=#7*∙ )@2.R2&н█.@+А_M N +a"&5#"&&55466332#"&5#, 07Y44Y7▒  K  )[K KZ) ¤H  ж¤[ 4 ╛У█?M?@32#"&54&&#"54.'ц5Q,   5*DK 5?@5 192D"  0.<( 5@?5 0?e'>HA'>HBB,K. -*IF(0$<1Д8H((G/ 8*@:(0#=0В/E,!/6 /69#Ян#Ii▒dD@^  А  ~ii i Y a Q%$EC><9720,*$I%I##  +▒De".54>32'26654&&#"7"&554632#"&54&&#"326676632i5kZ69\m45kZ69\m4P|GCyQO}GCzS(9:(/3 ?@   4#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb4?з?56%  RзR  %79#Ян#AJr▒dD@g1 <?*L Аi  ig Y a Q%$JHDB63.,)($A%A##  +▒De".54>32'26654&&#"7"&''##"&546732'32654&##i5kZ69\m45kZ69\m4P|GCyQO}GCzмI4  T-(E Ц=$$=#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb вжo.)20Я ╘#()""╪%<G@D:#" L ЖY_O'&9720+*&<'<%% +A"&5463276632#"&55#"&''#"&55#"&546332##'  KL   HH б K╗K ╪  ▒▒  ■°╦ик═ў   ў%ЦИ9▒dD@.iYaQ +▒DS"&&546632'26654&&#"╓/Q10Q00Q11Q0'?&%@''?%%@Ц3S00R21Q2/T3&)B%$A))A$%B)J ыn 9╢ LK░!PX@ !M&N@ Ж!NY@   +W"&54632\   є ¤  K ыo Z@ LK░!PX@a!Ma&N@ea!NY@  +S"&54632"&54632]    ─  ■ц ■'  ■ц  ы{█]@ LK░!PX@M_"M&N@ЖM_"NY@ +W"&5"&54635463272#'╔ О О  О О  ┐  ° °  ■A ) ыМ█1y@ /LK░!PX@" gM_"M &N@" Ж gM_"NY@.,'&%# 11 +W"&55"&54635"&54635463272#'72#'┌ О ОО О  О ОО О  щ  ┐  ° °  ┐  щ ; ·ф▐#0A@>АigYaQ-+&$ ##+E"&&5546632#!32>3232654&&#"-Gm> ++ ?Y6& (( &6  H┤k'▓!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒DS"&&#"#"&&54>32326632╙%( &' k     З к c%Ё╛$F▒dDK░ PX@qYaQ@ЖYaQY╡*+"+▒DS6632#"&54676654&#"'&&j"   б       ЭY"╢▒dD@Jv+▒DS"&5477632░ f _Y  <  6d╕щ; ,▒dD@!ЕYaQ $+▒DS52654632d22 :╕ %  .  - |t ─зВ ▒╕ В░5+ sб ╨▒dD@Jv+▒DW"&5477632/ f _Н  <  6 1Ь d▒dDK░PX@pjYaQ@ЕjYaQY@ +▒DW"&&54663232654&''73J # &  3+%╧   cJ+! =n,▒dD@!JYaQ +▒DW"&&546732W(*!*# ├ ,G<'  2▀Y╜Xц╢"@ LЕv +S"&5477632#"&''0 J J JJX 87  78VGх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632   V3    c(=&c╧╕h▒╕ ╧░5+▒░h░5+  d)E&k╨da▒╕ ╨░5+▒░a░5+  c)=&c╨X▒╕ ╨░5+▒░X░5+  d*Л°'Л ╤dF▒╕ ╤░5+▒░F░5+  d),Ї&$F╤Й>▒╕ ╤░5+▒░>░5+  d+,Є&$F╙Р<▒╕ ╙░5+▒░<░5+  d*rю&$F╥В0▒╕ ╥░5+▒░0░5+  d)Л╫&$v╤d%▒╕ ╤░5+▒░%░5+рр@Еv+Q!!р■ р■  sб ╨│ 2+W477632#"&f _ { < 6 1kВ*WНМNЪм╛╨тЇ);а▓ l~РЬо└_q╧(:L^pВФж▓ЄVhzЖШ▌HZЛЭп┴╙хў +uЗ╓т".:Фх ;  С г п  c u З Щ л ╜ ╧ с ь ■  л Ї \ ╝  + = I ║ ╠ ▐ ъ №=Рвоэ #5GYkwЙЫ▌;M_qГ█#5GYkй╗═▀ё+=OewЙЫз╣╦сє#5GRdvМЮ░┬╬рЄ"4FRdvИФж╕╩╓ш·РЬз▓╜╔╘хЁ√з│=Цвн╣─╧YчєЯ #.:EQ\m╤█цё№Y╟┘CNYdozЖСдп¤2=ОЩц ,7z├ G и ┤ ┐ ╦!?!J!Ц!в!н!╕!─!╨!█!ц!ё!¤""Ю##З$$g$r$}$И$ё$№%%%%)%▌&#&x&Д&П&╘&р&ь&ў''''%'1'='H'Л'ь'°((((u(├(╧(┌(х(ё)0);)F)Q)╩*'*Ж+1+Ч+▄,,А,Л,Ъ,е,░,╗,╞,╒,р,ы,Ў-- --'-2-=-H-T-_-j-u-А-Л-Ъ-е-░-╗-╟-╥-▐-ъ-Ў.. ..$./.;.G.S._.j.u.Б.М.Ч//`/╨00L0н0щ1C1─22В2ё3:3м44d4l4t4|4Д4М4Ф4Ь4д4м4┤4ў525И66X6╕7$7}7ш8R8Х8╤9(9г9·:Z:╟; ;М;ў; <<<<<'C>Я>№?А@@*@U@│A^AЦA╙BBSBгC0C┐DDQDxDЯD╞DэEEPEнFFГF╟G GoG╥H HFHИH▓H▓H▓H▓IKI╠JbK"KuK┘LULЮL╞MMnMпNNHN|N╙O,OРPPДP╣P°QkQнR RHRВR╙S!StSьTйUЫUуV,VrV║WW┬XoX│Y8Y╤ZrZщ[7[l[┼\"\в] ]]]!])]1]9]A]I]Б]м]┤]№^^C^m^Ю^╩^╥__M_Р_Ш_¤``a`Н`╝`╩`ЎaSaКaТa╩bb$b9bNbdbzbРbжb╗b╗b╤bЁBН█ с_<їш╫їmt┘`р¤ q т!=<          иOиOSLLLLLL&S0&S0ЄSЄSЄSЄSЄSЄSЄSЄSЄSЄSщSLLLLL-S--S╩S║S╩"╩ °╩ у╩╩C╩"╩ х╩╩ ╤ЁЁ№S№S─S─S┼S─S┼S╩НS-S-S-S-S-S-SLLLLLLLL;;LMLSуSL¤S¤S¤S¤Sс*с*с*с*с*с*╟╦╟╟%O%O%O%O%O%O%O%O%O%O%Oууууу┐¤¤¤¤¤╨╨╨╨            ЄSЄSЄSЄSЄSЄSЄSЄS╩A╩LLLLLLLLLLLLL%O%O%O%O%O%O%O%O¤¤¤з#з#з#з#з#з#з#з#з#з#╧#╧#╘EТ4Т4Т4Т4Т4Т4╘2╘2╘2╘2╜3╜3╜3╜3╜3╜3╜3╜3╜3╜3╜'!E╛ ╛ ╛ ╛ ╛ тEтт ╘л5лDлл щл ╘ллX5л ╓л  л ┬н ▄н ▄н ╒╡E╡E┤D╜M╜╜M╜M) DсDсDсDсDсDсD╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2№2╘E╘E╘24D4D44 ∙u&u&u&u&u&u&BBBBу@у@у@у@у@у@у@у@у@у@у@ИООООО}ЛЛЛЛЛББББп"╥B╤3╘2√@у@/?с@з#з#з#з#з#з#з#з#з#з#з#з#╜3╜3╜3╜3╜3╜3╜3╜3л2л╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2у@у@у@у@у@у@у@у@ЛЛЛ▌EчE2'@,╙D A╤═&┘!б ╦ °A║!щ1°0БL3Ю+%1"*!B28)C*L3Ю+%1"*!B28)C*L3Ю+%2"*!B2:*C*L3Ю+%2"*!B2:*C*В qKQ▐%2╞"Xь"ф!йб-в-┴=├=-┴=┴=&░508а'# ╘T╘NC"JЛ2╟2╟2▀2Y №в-(-')Ц'Ф)i(i)╫(╫) +З+╚╚╚7%Ц)щDф,D │═▀л$р?ЙB═5пI╧;Л4Л│?▓:▌=╣IР5▀=KAF <с-S┐H▌M▌7х. .ХFХF└├=S)&═4╪9╪9^"н%╕J║KУ╡);Е╪  Ьк█LЕ n┤'L cЭd-2Gcdcdddddр═   q■uт1│·КXKКX^2а P {IMPA└√ cэ У╪█ lx@8 /9~H~Тб░ 7Y╟▌  #(5└Е∙    " & 0 : D p y Й м!"!&!.!T!^!У"""""""+"H"`"e%╩рЎ├√   0:аJТап№7Y╞╪ #&5└Аа    & 0 9 D p t А м!"!&!.!S![!Р"""""""+"H"`"d%╩рЎ├√  .├:C■н■u     ■№■·■ю¤йсмсЕс┴сСсYс#с#рїс%р█р├р╒рLрH▀э▀ф▀▄▀╙▀╔▀╜▀Ы▀}▄,"/ mdtРh╬╨╥╪╓╪тшръЪЮвММД╬м╠│╘Ё°═╖╕▓╪и╜з┤йк▀▄▐оў "#(+68:@AGSUVZ`dopuv{╗╡╝ц┴ н╣║└─╧╨╒╪уцщяЁЎ  %&+╣ ║ф╧н╥╓╙╫· √g╚х╛№ ■тХЦю∙░Фh╔бЮвп  2-/0FLHJQK┌OieghwT▓о░╢▒╡╖╜╦┼╚╔▐┌▄▌┴ї√ў∙·█■')│п┤╗╛┐╝┬├ ╠╞╩!═╟%╥$╤'╘&╙*╫)╓5т3р.█4с1┘,▀7х9чш;ъ=ь<ы>э?юBёDєCЄEЇN¤I°M№RWYX[ ^ ] \ cbankfmjlr"x(y|,~.}-ЬTд\ ╕P _  t$q!s#ЙAКBД<Ж>З?И@Е=7Б9В:Г;А8РHСIТJЛCНEОFПGМDФLУKЪRЫSХMЧOШPЩQЦNЭUЯWаXбYЮVвZг[е]з_и`йaж^z*кbлcмd╞╟┬─┼├▒їЄєЇь┘ср░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╡(*▒B@ 5- *▒B@ 91% *▒ B╜ А ААА *▒B╜@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ 7/*╕ Е░Н▒D│dDD╪╪####█╪ █ ·▐ · !!nn ¤!!█m█j╞ |  | Ь 6к  | Fр  & ИF V╬ V╬ 0$ 0$  T 4t  и ▓Copyright 2011 The Dosis Project Authors (impallari@gmail.com)Dosis ExtraLightRegular3.001;IMPA;Dosis-ExtraLightVersion 3.001; ttfautohint (v1.8.2)Dosis-ExtraLightDosis is a trademark of EdgarTolentino, PabloImpallari, IginoMarini.EdgarTolentino, PabloImpallari, IginoMarinihttp://www.impallari.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLDosisExtraLight Ь21$╔╟bнcоР%&¤ d'щ (e  ╚╩ ╦ )*°+,╠═╬·╧-./т01 !"f2╨#╤g╙$%С&п░3э45'()6*ф√+,7-./8╘0╒h╓123459:6789;<ы:╗;=<ц=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkDilkljmnnmаoEF■opqGъrHpstrsuqvwxIJ∙yz{K|}L╫t~vwuАБВMГДNЕЖOЗИЙКуPQЛМНОxRyП{|zРСбТ}▒SюTUУФХVЦх№ЧШЙWЩЪЫX~ЬАБЭЮЯабYZвгде[\ьж║з]ичйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀└┴ЭЮЫрстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ╝Ї  їЎ   лг"в├З ? ^`>@▓│B─┼┤╡╢╖йк╛┐ Д╜жЕЦяЁ╕ П!ХФУзaдAТЬЪЩеШ╞╣# ИЖЛКМГ_шВ┬Н█с▐╪О▄C▀┌р▌┘ !"#$%&'()*+,-./0123456789:;AbreveAmacronAogonekAEacute Ccircumflex CdotaccentDcaronDcroatEbreveEcaron EdotaccentEmacronEogonek Gcircumflexuni0122 GdotaccentHbar HcircumflexIJIbreveImacronIogonekItilde Jcircumflexuni0136LacuteLcaronuni013BLdotNacuteNcaronuni0145EngObreve OhungarumlautOmacron OslashacuteRacuteRcaronuni0156Sacute Scircumflexuni0218TbarTcaronuni021AUbreve UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave YcircumflexYgraveZacute Zdotaccentuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4uni1EB8uni1EBAuni1EBCuni1ECAuni1EC8uni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0uni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEEuni1EF4uni1EF6uni1EF8abreveamacronaogonekaeacute ccircumflex cdotaccentdcaronebreveecaron edotaccentemacroneogonekuni0259 gcircumflexuni0123 gdotaccenthbar hcircumflexibreveijimacroniogonekitildeuni0237 jcircumflexuni0137 kgreenlandiclacutelcaronuni013Cldotnacutencaronuni0146engobreve ohungarumlautomacron oslashacuteracutercaronuni0157sacute scircumflexuni0219tbartcaronuni021Bubreve uhungarumlautumacronuogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexygravezacute zdotaccenta.ss01b.ss02q.ss02g.ss03m.ss04n.ss04r.ss04u.ss04uni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5uni1EB9uni1EBBuni1EBDuni1ECBuni1EC9uni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEFuni1EF5uni1EF7uni1EF9one.lnumuni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni2070uni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079uni2153uni2154 oneeighth threeeighths fiveeighths seveneighths slash.001uni00ADuni00A0CREurouni03A9uni0394uni03BCarrowup arrowright arrowdown arrowleft estimateduni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni031B dotbelowcombuni0326uni0327uni0328uni0335 uni0302.001 caron.alt uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303NULLuniE000uniF6C3  К(*=@DF`b└┬┬─═╧╒╫тфьяєїdщщ#0 !  "LDFLT  kernmarkmkmk  Rrh hfi, B▐>Ъ▄▄▄▄▄▄▄▄▄▄иbbbbbbZZZZД▐ $ $ $ $ $L FLL|LLLLLLLLL|| X X ( ( Ж ( ( (LLLLLLLZZZZZZZZZZZ n tZ╓╓╓╓ЁЁЁЁЁЁ|||||||||||мЄЄЄЄЄTТТТТТоооо▄▄▄▄▄▄▄▄▄▄▄▄LLZZZZZZZZZZZZZ||||||||ТТТ*,*,*,*,*,*,*,*,*,*,*B*B*T$$$$$$6<jX*B*B*B*B*B*B*B*B*B*B*TnHHHHH'░'░'░*╩*╩bАо╪*╩*╩ *╩D*╩*╩ 44*╨*╨N*╨P'░'░'░'░'░'░'░*T*T*T*T*T*T*T*T*T*T*T*B*T*Tz ╪ ╪ ╪ ╪!!!!!!!"D"D!v"D*~*~*~*~*~*~*~*~*~*~*~"V$p$p$p$p$p$Ц*д*д*д*д*д'8'8'8'8'J*T'░* '░'╞((* *,*,*,*,*,*,*,*,*,*,*,*,*B*B*B*B*B*B*B*B*╩*╩*T*T*T*T*T*T*T*T*T*T*T*T*T*~*~*~*~*~*~*~*~*д*д*д*╩*╨-f*┌*р++\+■, ,.-$-f-─/║=╝=╝/ф/ф/ъ/Ї0v0м1F1P4┬5\8 8:╞:╘=К=К=К=К=╝=ц>>B>Ф>▓>Ё>Ў>Ё>Ў??^?Ф?к?─?т?Ё@JAМBJB─B╬чщьчюfыjtdЭЭoзкpннtп░u▓╡w╖╗{╜└А┬═Д╓╓Р╪┘С▄▄Уў°Ф№ Ц.` чa чb чc чu °v ·w ·x ·y ·z ·{ ∙| ∙} ∙~ ∙к ·л ·м ·т  ·  ·  ·  ·  · · ·  ∙! ∙" ∙# ∙$ ∙% Ё& ·' ·( ·) ·* ·+ є, є- є. єb ·c ·d ·╕ э║ ю╝ ьu╓▄тх ф% Єn╬ э╓█▄▌▐ртух н& ▓' ▓( ▓) ▓* ▓b ▓c ▓d ▓n Ё° Ў№ ч Я Я Я Я Я Я Я Я  Я  Я  х  х ш ш ш ш ш ш# ш$ ш% ш& ш' ш6 }7 }G шH шI шJ шK шL шM шN шO шP шQ шR шU шZ ї[ ї\ ї] ї^ ї_ ї ЯА ЯБ ЯВ ЯГ ЯД ЯЕ ЯЖ ЯЗ ЯИ ЯЙ ЯК ЯХ шЦ шЧ шШ шЩ шЪ шЫ шЬ шЭ шЮ шЯ ша шб шн Jо Jп д░ J▒ J▓ J│ J┤ J╡ Х╢ J╖ J╕ J║ А╗ А╝ ╡╜ А╛ А┐ А└ А┴ А┬ А├ А─ А┼ А╞ П╟ е╚ А╔ А╩ А╦ А╠ А═ А╬ `╧ ч╨ А╤ И╥ А╙ А╘ А╓╪ у┘ к┌ ─█▄ у▌ у▐ у▀ ур ус ут уу уф ух уя ДЁ Дё ДЄ Ыє ДЇ Дї ДЎ Аў А° Р∙ А· А√ А№ А¤ А■ А  А А А Д А Д Д Ў Д  И  И  ╙  И  И И ч ч ч ч ч З З З З З З З З З З З О  О! О" О# О$ О% t& О' О( О) О* О+ S, S- ═. S/ J1 А2 А3 t4 t5 t6 З7 J8 J9 J: J; J< J= J> J? J@ JA JB JC АD АE АF АG АH АI АJ АK уL уM АN АO АP АQ АR АS АT АU АV АW АX АY АZ З[ З\ З] З^ З_ З` Зa Зb Оc Оd Оe чf чj ёkl їn ╦p ёqr Їs Ўt шз пи пй ═к ═л и▓ э┤ ╢╕║╝╜ м╛ м┐ м└ м┬ п├ и╚ ╚╔ ╟╩ ╚╦ ╟ў ┼° ы№ ╘u ·т √ ·% Ё╕ Є║ є╝ ёт √0 √▓ █ рт ╒lt╕║╝° ·№ Ї(` нa лb нc нo мp оq оr оs оt оv дw дx дy дz дк дл дм д╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚─ ╖┼ ╖╞ ╖╟ ╖╠ ╝═ ╝° °№ ╦¤ ╡o м╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚° °№ ╦¤ ╡┴ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒  ╒  ╒6 Д7 Д` √a √b √c √u °vwxyz{ ё| ё} ё~ ё ╒А ╒Б ╒В ╒Г ╒Д ╒Е ╒Ж ╒З ╒И ╒Й ╒К ╒клмн що щп щ░ щ▒ щ▓ щ│ щ┤ щ╡ щ╢ щ╖ щ╕ щ║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╬ ў╨ ц╤ ц╥ ц╙ ц╘ ц╓┘ ў▄тх я ўЁ ўё ўЄ ўє ўЇ ўї ўЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ў ц ў ў ў ў  Ї  Ї  Ї  Ї  Ї Ї ° ° ° ° ° ° ° ° ° ° °/ щ1 ц2 ц3 ╫4 ╫5 ╫6 °7 щ8 щ9 щ: щ; щ< щ= щ> щ? щ@ щA щB щC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цZ °[ °\ °] °^ °_ °` °a °n эз пи пл г▓┤ ╦╕ ш║ ъ╝ ш╜ ╞╛ ╞┐ ╞└ ╞┬ п├ г╚ ё╩ ёў ї° ·X ў ў ў ў ў ў ў ў  ў  ў6 ∙7 ∙` ┐a ┐b ┐c ┐o √pqrstu фv ыw ыx ыy ыz ы{ ▐| ▐} ▐~ ▐ ўА ўБ ўВ ўГ ўД ўЕ ўЖ ўЗ ўИ ўЙ ўК ўк ыл ым ын ·о ·п ·░ ·▒ ·▓ ·│ ·┤ ·╡ ·╢ ·╖ ·╕ ·/ ·3 √4 √5 √7 ·8 ·9 ·: ·; ·< ·= ·> ·? ·@ ·A ·B ·з ╧и ╧л ╧о я┤ ъ╕ ф║ ч╝ ф┬ ╧├ ╧┼ °╟ °¤╬ √╓▄т хn їт Ё% ыn▓ °)░ л│ л╢ л╝ ╢╛ й╬ з╥ д╓┘ к┌ ▌█▄ я▌ я▐ яр ят ях яї е й е ў  ╘  н д ▒% ┤- ╬e ъf ъj ёkn ┘p ёqr їt ъ▓ э┤ ╤ў ╥° э№ ╫╤ ┘ ┘ ┘ ┘ ┘ ┘ ┘ ┘  ┘  ┘  √  √6 ╗7 ╗ ┘А ┘Б ┘В ┘Г ┘Д ┘Е ┘Ж ┘З ┘И ┘Й ┘К ┘н ╦о ╦п ╦░ ╦▒ ╦▓ ╦│ ╦┤ ╦╡ ╦╢ ╦╖ ╦╕ ╦║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╬ ╘╧ ·╨ ╦╤ ╦╥ ╦╙ ╦╘ ╦╓┘ ╘█▄▌▐рт&х я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╙ ╦ ╘ ╘ э ╘  ╨  ╨  ╨  ╨  ╨ ╨ · ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ё  ё! ё" ё# ё$ ё% я& є' є( є) є* є+ ш, ш- ш. ш/ ╦1 ╦2 ╦3 ╦4 ╦5 ╦6 ╫7 ╦8 ╦9 ╦: ╦; ╦< ╦= ╦> ╦? ╦@ ╦A ╦B ╦C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╫[ ╫\ ╫] ╫^ ╫_ ╫` ╫a ╫b єc єd єe ·f ·n чqt Єз ╠и ╠й юк юл ╠┤ ╥║╜ ▄╛ ▄┐ ▄└ ▄┬ ╠├ ╠╚ ф╔ Ї╩ ф╦ Їў ч° °№ ї╬ ╪╓┘ ██▄▌▐рт&х  █ ь Ї% єkn ыqt є┤ ╫╕║╝ў ъ° ∙Ц ў ў ў ў ў ў# ў$ ў% ў& ў' ўG ўH ўI ўJ ўK ўL ўM ўN ўO ўP ўQ ўR ўU ўХ ўЦ ўЧ ўШ ўЩ ўЪ ўЫ ўЬ ўЭ ўЮ ўЯ ўа ўб ў║ ё╗ ё╝ ё╜ ё╛ ё┐ ё└ ё┴ ё┬ ё├ ё─ ё┼ ё╞ ё╟ ё╚ ё╔ ё╩ ё╦ ё╠ ё═ ё╬ ∙╨ ·╤ ·╥ ·╙ ·╘ ·╓█▄▌▐ртхЎ ёў ё° ё∙ ё· ё√ ё№ ё¤ ё■ ё  ё ё ё ё ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ▌  ▌! ▌" ▌# ▌$ ▌& ▄' ▄( ▄) ▄* ▄1 ё2 ё6 ъC ёD ёE ёF ёG ёH ёI ёJ ёM ёN ёO ёP ёQ ёR ёS ёT ёU ёV ёW ёX ёY ёZ ъ[ ъ\ ъ] ъ^ ъ_ ъ` ъa ъb ▄c ▄d ▄t╜ ю╛ ю┐ ю└ ю╚ Ё╩ Ё° ·№ ї ╬ ф█рт · ╩0 ∙n сt° °№ хo ┘ ъ0 ·kqtо ї▓ р╡ ▄╕║╝№ Ў¤ х ╬ э╓█▄▌▐ртх нn Ё° Ў№ чт √0 √u ў ∙% °0 √╕ ю║ я╝ ю¤╬ √т °%┤ Ў$│ й╢ й╝ м╛ в╟ в╠ в╬ и╓┘ ║█▄▌▐ртх¤ в в ║ я  ╠  л ╙% ╤e їf їjn ╫pqrt я┤ ╦ў ╒° є№ щo ▐о я╡ я° ют %+ №, №- №. №з ўи ўл ў┤ Ў┬ ў├ ў;о╣.╧╒.╓.╫.╪3┘3┌3█3▄3▌3▐3▀3р3с3т3у3ф3х3ц.ч.щ&ъ&ы&ь&э&ю&.-----801K3L3efм о>▓&╡O╕I║I╝I─ ┼4╞ ╟4╠<═<°№¤@ то▓ ─╞╢ ╤ ╤ ╤ ╤ ╤ ╤ ╤ ╤  ╤  ╤6 ж7 ж` їa їb їc їopqrstu Ўv ·w ·x ·y ·z ·{ х| х} х~ х ╤А ╤Б ╤В ╤Г ╤Д ╤Е ╤Ж ╤З ╤И ╤Й ╤К ╤к ·л ·м ·н ъо ъп ъ░ ъ▒ ъ▓ ъ│ ъ┤ ъ╡ ъ╢ ъ╖ ъ╕ ъ║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы╨ я╤ я╥ я╙ я╘ я╪┘┌█▄▌▐▀рстуфхщъыьэюЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы  №  №  №  №  № №/ ъ1 ы2 ы3 щ4 щ5 щ7 ъ8 ъ9 ъ: ъ; ъ< ъ= ъ> ъ? ъ@ ъA ъB ъC ыD ыE ыF ыG ыH ыI ыJ ыKLM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыз ┘и ┘л ┘┤ ┌╕║╝╜ ╥╛ ╥┐ ╥└ ╥┬ ┘├ ┘╚ Є╩ Єў Ў° щo ∙u хухо ф╡т ╡╕║╝┼╟ т о╡ ╕║╝┼╟╠═¤ т о▓/╝─┼╞╟╠ ═ т о▓╕║╝─┼╞╟╠═т мо▓╡╕║╝─┼╞╟╠ ═ 1╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLм о5▓╡#╕║╝─$┼╞$╟╠!═!¤  т о▓0╝─┼╞╟╠═o ч╬ °0о╡ ї° Є@о╣,╝╧╒,╓,╫,╪2┘2┌2█2▄2▌2▐2▀2р2с2т2у2ф2х2ц,ч,щ$ъ$ы$ь$э$ю$Є∙, <++++-60/K2L2efмо<░ ▐▓$╡N╕J║I╝I─┼3╞╟3╠;═;°№¤?  т&'()*bcd░ ▐Ч  √ ∙ ∙ ∙ ∙ ∙ ∙ √ √ √ √ √ √ √ √ √ √ √ √  √! √" √# ∙$ ∙% ∙& ∙' ∙( √) √* √+ √- √. √/ √0 √1 √2 √3 √4 √5 √8 √9 √: √; √< √= √? √@ √A √B √C √D √E √F √G ∙H ∙I ∙J ∙K ∙L ∙M ∙N ∙O ∙P ∙Q ∙R ∙S √T √U ∙V √W √X √Y √Z ·[ ·\ ·] ·^ ·_ ·` дa дb дc дd °e °f °g °h °i °j °k °l °m °n °o ╙p ┌q ┌r ┌s ┌t ┌v ╗w ╗x ╗y ╗z ╗{ √| √} √~ √Л √М √Н √О √П √Р √С √Т √У √Ф √Х ∙Ц ∙Ч ∙Ш ∙Щ ∙Ъ ∙Ы ∙Ь ∙Э ∙Ю ∙Я ∙а ∙б ∙в °г °д °е °ж °з °и °й °к ╗л ╗м ╗о щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Ї o °u ┘о ╥┤ ╓╡╕ ▀║ ф╝ ▀ў ї° чo ╪о ъ╡ ч Ў  ї! ї" ї# ї$ ї% Ї& Ї' Ї( Ї) Ї* Ї+ °, °- °. °b Їc Їd Їо Ї╡ Ё╕ Є║ є╝ Є3o є╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLмо▓╡ √╕║╝─┼╞╟╠═° є¤ o єо Ё╡ ї° єЖ щ щ щ щ щ щ щ щ  щ  щ6 ╘7 ╘Z √[ √\ √] √^ √_ √` ▒a ▒b ▒c ▒o ёp Їq Їr Їs Їt Їu ▌v ╒w ╒x ╒y ╒z ╒{ ╤| ╤} ╤~ ╤ щА щБ щВ щГ щД щЕ щЖ щЗ щИ щЙ щК щк ╒л ╒м ╒║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═Ўў°∙·√№¤■ 123 ∙4 ∙5 ∙CDEFGHIJMNOPQRSTUVWXYз ти тл то ▀┤ ч╡ Ї╕ т║ ц╝ т╜ Є╛ Є┐ Є└ Є┬ т├ т─ Ў┼ Ў╞ Ў╟ Ў╠ ў═ ў° ў o ёu ▌о ▐┤ ц╡ Ї╕ т║ ц╝ т° Ўи ° ° ° ° ° °# °$ °% °& °' °6 °7 °G °H °I °J °K °L °M °N °O °P °Q °R °U °` │a │b │c │defghijklmno юp Єq Єr Єs Єt Єv ╤w ╤x ╤y ╤z ╤Х °Ц °Ч °Ш °Щ °Ъ °Ы °Ь °Э °Ю °Я °а °б °вгдежзийк ╤л ╤м ╤║ ї╗ ї╝ ї╜ ї╛ ї┐ ї└ ї┴ ї┬ ї├ ї─ ї┼ ї╞ ї╟ ї╚ ї╔ ї╩ ї╦ ї╠ ї═ ї╨ √╤ √╥ √╙ √╘ √Ў їў ї° ї∙ ї· ї√ ї№ ї¤ ї■ ї  ї ї ї ї1 ї2 ї6C їD їE їF їG їH їI їJ їM їN їO їP їQ їR їS їT їU їV їW їX їY їZ[\]^_`aо Ё╡ Ї╜ с╛ с┐ с└ с╚ Ў╩ Ў╠═° Ёo фо э╡ ю° ё ∙  °! °" °# °$ °& ў' ў( ў) ў* ўb ўc ўd ўо ї╡ ▌╕║╝─ Є┼ Є╞ Є╟ Є╠ є═ єo ╩ ∙о ъ╡ ▄¤o ╩ ∙  ∙! ∙" ∙# ∙$ ∙& °' °( °) °* °b °c °d °о ъ╡ ▄─ ю┼ ю╞ ю╟ ю╠ я═ я¤xн уо уп у░ у▒ у▓ у│ у┤ у╡ у╢ у╖ у╕ у║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╨ ы╤ ы╥ ы╙ ы╘ ыЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ц  ·  ·  ·  ·  · ·/ у1 ц2 ц3 у4 у5 у7 у8 у9 у: у; у< у= у> у? у@ уA уB уC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цз ╙и ╙л ╙о ╥┤ ╓╡╕ ▀║ ф╝ ▀╜ ═╛ ═┐ ═└ ═┬ ╙├ ╙─ ў┼ ў╞ ў╟ ў╚ Ё╩ Ё╠ °═ °ў їо щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Їo ╠ ·о ъ╡ ▌¤o ╠о ъ╡ у¤ o ╩u Ё% їо ш╡ ▀╕ ъ║ ы╝ ъ¤ o ╫u ъ%о ц┤╡ ш╕ ш║ ъ╝ ш o Єu ▄о ▐┤ ц╡ ї╕ т║ ц╝ т° Ўт т░ ▐ЭU` Ўa Ўb Ўc Ўn ┌ЭА░ ┘╜ ╩╛ ╩┐ ╩└ ╩╪ └┘ ═▄ Ї` їa їb їc їvwxyzклмЭI╕ ш║ щ╝ ч(67` їa їb їc їo Ўp Ўq Ўr Ўs Ўt Ўv їw їx їy їz їк їл їм їkmnoq эЭMз Ўи Ўл Ў╡ я╕ ї║ Ў╝ Ї┬ Ў├ Ў╠ ї═ ї╪┘ ї■ яnЭO■ Ї` Ўa Ўb Ўc ЎЭJ╕ щ║ ъ╝ ш= ╪ ╪ ╪ ╪ ╪ ╪ ╪ ╪  ╪  ╪6 ╘7 ╘`abcopqrstvwxyz ╪А ╪Б ╪В ╪Г ╪Д ╪Е ╪Ж ╪З ╪И ╪Й ╪К ╪клмkn ├t ъз │и │л │░ ╒│ ц┤ Ы╜ ╩╛ ╩┐ ╩└ ╩┬ │├ │╥ щ╪ │┘ ╧▄ ф` їa їb їc їvwxyzклмЭI╕ ч║ щ╝ ц` ёa ёb ёc ёvwxyzклмt єЭ3з Єи Єл Є┤ Є╕ т║ ф╝ с┬ Є├ Є}  ї ї ї ї ї ї# ї$ ї% ї& ї' їG їH їI їJ їK їL їM їN їO їP їQ їR їU ї` чa чb чc чd їe їf їg їh їi їj їk їl їm їn їo чp шq шr шs шt шuv цw цx цy цz ц{|}~АБВГДЕЖЗИЙКХ їЦ їЧ їШ їЩ їЪ їЫ їЬ їЭ їЮ їЯ їа їб їв їг їд їе їж їз їи їй їк цл цм цj юkn уp юqtЭФ░ ▌│ ь╡ ╙╕║╝╜ █╛ █┐ █└ █╠ щ═ щ╥ ┌╪ ╥┘ ┌▄ ю■ ф j0kSlGmJoLp0qАr<sIto эрт ` їa їb їc їo їp їq їr їs їt їv їw їx їy їz їк їл їм ї Ё  Ё! Ё" Ё# Ё$ Ё& Ё' Ё( Ё) Ё* Ёb Ёc Ёd Ё щ ▐ъ ▐ы ▐ь ▐э ▐ю ▐k Їl цm цo ьq ╨s яt ▄& ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀)6 ▓7 ▓` эa эb эc э{ ф| ф} ф~ ф ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓▄.▌т3х.l Ёt ▀▄ ╧ ╧ ╧ ╧ ╧ ╧ ╧ ╧  ╧  ╧  є  є Ї Ї Ї Ї Ї Ї# Ї$ Ї% Ї& Ї' Ї6 ╬7 ╬G ЇH ЇI ЇJ ЇK ЇL ЇM ЇN ЇO ЇP ЇQ ЇR ЇU Ї ╧А ╧Б ╧В ╧Г ╧Д ╧Е ╧Ж ╧З ╧И ╧Й ╧К ╧Х ЇЦ ЇЧ ЇШ ЇЩ ЇЪ ЇЫ ЇЬ ЇЭ ЇЮ ЇЯ Їа Їб Їн ╧о ╧п ╧░ ╧▒ ╧▓ ╧│ ╧┤ ╧╡ ╧╢ ╧╖ ╧╕ ╧║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╨ ╠╤ ╠╥ ╠╙ ╠╘ ╠█рт я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╘ ╦ ╘ ╘ х ╘  ╨  ╨  ╨  ╨  ╨ ╨ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ф  ф! ф" ф# ф$ ф% ф& х' х( х) х* х+ ▐, ▐- ▐. ▐/ ╧1 ╦2 ╦3 ╔4 ╔5 ╔6 ╒7 ╧8 ╧9 ╧: ╧; ╧< ╧= ╧> ╧? ╧@ ╧A ╧B ╧C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╒[ ╒\ ╒] ╒^ ╒_ ╒` ╒a ╒b хc хd хj ьl їn ▓p ьr яst ┘┤ &` ┘a ┘b ┘c ┘o ▀p тq тr тs тt тv ╓w ╓x ╓y ╓z ╓к ╓л ╓м ╓ Є  ё! ё" ё# ё$ ё& ё' ё( ё) ё* ёb ёc ёd ёkq┼ ╤╟ ╤╠ ╙═ ╙л  я я я я я я# я$ я% я& я' яG яH яI яJ яK яL яM яN яO яP яQ яR яU яpqrstАБВГДЕЖЗИЙКХ яЦ яЧ яШ яЩ яЪ яЫ яЬ яЭ яЮ яЯ яа яб я║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ ї ї ї ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj тk їm Ёn ╥p тr чs щ╖ ю╣ ъ╕ ю║ я╝ эл  Ё Ё Ё Ё Ё Ё# Ё$ Ё% Ё& Ё' ЁG ЁH ЁI ЁJ ЁK ЁL ЁM ЁN ЁO ЁP ЁQ ЁR ЁU ЁpqrstАБВГДЕЖЗИЙКХ ЁЦ ЁЧ ЁШ ЁЩ ЁЪ ЁЫ ЁЬ ЁЭ ЁЮ ЁЯ Ёа Ёб Ё║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы█▐ртЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы ї ї ї ї щ щ щ щ щ щ щ щ щ щ щ ц  ц! ц" ц# ц$ ц& ч' ч( ч) ч* ч1 ы2 ы6 щC ыD ыE ыF ыG ыH ыI ыJ ыM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыZ щ[ щ\ щ] щ^ щ_ щ` щa щb чc чd чj фk Ўm Ёn ╒p фr шs ъ╖ я╣ ы╕ ъ║ ы╝ щн  ю ю ю ю ю ю# ю$ ю% ю& ю' ю6 Ў7 ЎG юH юI юJ юK юL юM юN юO юP юQ юR юU юpqrstАБВГДЕЖЗИЙКХ юЦ юЧ юШ юЩ юЪ юЫ юЬ юЭ юЮ юЯ юа юб ю║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ Ї Ї Ї Ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj сk їm юn ╥p сr цs ш╖ ю╣ щ o ▄u ю Є% сk ёl єm єo єq ╘s яt ┘╠ Ы o ╠ тj Єk Їn фp Єq─ п┼ п╠ п o ╠ тj Єk Їn фp Єq─ п┼ п╠ А ╓▄рт,х є Ўз пи пл п┬ п├ пo╓█ ▄▌▐ртх Є ї% °з пи пл п┤ ╢┬ п├ пў ╕№ э╓▄рт,х є Ўo╓█ ▄▌▐ртх Є ї% °┤ ╢ў ╕№ эo Їo фu Ё% Ў╓█▄рт!х Ї ў%n ╥з пи пл п┤ ╝╜ Ы╛ Ы┐ Ы└ Ы┬ п├ Аў ╔№ Ў ╓█▄рт!х Ї ў%n ╥┤ ╝ў ╔№ Ўj Їm Ўn ▌p Їr Єk яl Ўnq ╞s їt ╧k ёl фm фo шq ╬s уt ╪kq шt э` ╓a ╓b ╓c ╓o эp яq яr яs яt яv ▄w ▄x ▄y ▄z ▄к ▄л ▄м ▄┼ ┴╟ ┴╠ ╬═ ╬P` ╣a ╣b ╣c ╣d √e √f √g √h √i √j √k √l √m √n √o ┌p ▄q ▄r ▄s ▄t ▄v ┴w ┴x ┴y ┴z ┴в √г √д √е √ж √з √и √й √к ┴л ┴м ┴ · · · · ў ў ў ў ў ў ў ў ў ў ў ї  ї! ї" ї# ї$ ї& є' є( є) є* є0 ∙6 ўZ ў[ ў\ ў] ў^ ў_ ў` ўa ўb єc єd є┼ ▀╟ ▀╠ с═ с/ ї ї ї ї ї ї ї ї  ї  ї` ╫a ╫b ╫c ╫o Їp Ўq Ўr Ўs Ўt Ўu їv ъw ъx ъy ъz ъ{ щ| щ} щ~ щ їА їБ їВ їГ їД їЕ їЖ їЗ їИ їЙ їК їк ъл ъм ъ┼ Є╟ Є ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀6 ─7 ─ ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓█▄ртхkn ▌т  Ш  ╘)$ √ · · ∙ ў √ · є ° √ ш ° √ √ · ў √ · · в ° ╨ и ё ° Ё ю ю ° ╞ ш ▌ щ ╔ √ ┌ ┘ ╪ · ° · √ ° √ √ √ ° √ ∙ ў Ў Ы ∙ ∙ ╙ · в Ё ю ю с Ё ╥ л ў м ╥ · р √ ж ў ╓ з ° Ё я я · ∙ √ ° √ ° ∙ Є Ў · ∙ ї ° ∙ ° ° ╢ Ў ▄ ў в ш Ї є є √ ∙ √ ю ° ў ї Ш ° · ╥ ∙ в я ю ю в ў й ┼ ╡ ║ ╪ л ╔ б ╙ ╟ ї ╦ Ч ї м █ ╨ ч ш ╪ ї с √ ░ ╨ ё ° ╧ ў Ў Ў √ · ф ° ў у ° √ ъ ъ ▌ ч д Ч о Ш Ы ┐ є ╨ ё ╝ ╖ ╖ ю я · є ∙ Ї ╣ ° ф Щ ╒ ∙ ° ў ў √ √ √ · н ┌ о є є Є Є √ √ · Ў · є Ї √ ╤ ╘ ▌ ▄ █ Ў ╪ ╨ ╤ Ї с · э ╥ ╞ Ё ч ё ▀ √ Є № п ╪ · Є ў ў щ ╒ Ї т № ░ ╤ Є ∙ ╘ ў Ў Ў ї ° ∙ ї ° √ Є й щ л ╔ д я е ▓ ў н ╤ д ▒ ╧ ъ Ё л г ц о ╒ ╧ ╘ ╒ Ў · ╘ ∙ ╠ Ў ╔ ┐ · ° ╥ ю є ў Є ╔ с ╨ с ╤ ╝ ╡ ╢ ї ╟ ё ▀ Є р Є ╬ ш ┌ я ╝ ╢ ц у ╔ ▄ · ∙ ╙ ы м ╗ ═ у а Ё ° ў ў ї ╘ ў о ┌ ° Є Ў ∙ ° ─ ъ й ┘ ў ё Ў ї ї · ∙ √ ° √ ° ∙ Є Ў · ∙ ї √ √ ї Є Ё ╘ ╘ ю є ▄ Ё ╘ ф ч Ў ╘ ╥ ╠ ╤ ю ч ╧ ъ я ╝ ╢ Є Ў ╟ э · ╢ ф я Є ┌ Ї Ї ў ё ╝ Ё ў ╝ Ў я ╫ ╝ ╥ ю ё ╪ є є Ў Ё ╡ я Ў ї э ╒ э Ё ╓ Є Є ї я ╢ ю ї ╢ Ї ь ╪ ▐ ╢ ╔ ! #R UnPptjv└o┬╬║╨ч╟щь▀юу∙ $&.01 34"7f$зкT╜└X┬═\J   !#'(+,,-56789!:?@FRRVYZ_`cdnptvz {~КЛТУФвйкм н╢╖╕╣╣║┐└└ ┬├ ─═╬╬╨╘╒╫ ╪х цч%щьююяї Ў  $&* +.0011 34 7BCJKL MYZabd ee ffзийк"╜└┬├──'┼┼(╞╞'╟╟(╚╚#╔╔$╩╩#╦╦$╠═&H   "#'(+-5678=?FGRSTUUVYZ_ `cdnptvz {~КЛФХбвйкм н╕╣╣║═╧╧╨╘╒╫╪хцчщю яї Ў   $&* +.//1235667BCJKLMYZabd efзийклл╜└┬├──"┼┼#╞╞"╟╟#╚╚╔╔ ╩╩╦╦ ╠═! .Т▄ !"#(*=&@D:F`?b└Z┬┬╣─═║╧╒─╫т╦фь╫яєрїхdщщTм▓╕╕╛─╩╨╓F.4:>DN ╞ёU▓─╩Ъ─╩|─╩Ъ─╩ T─╩Ъ─╩ Z─╩▓─╩ `─╩ f─╩ l x r x ~^ К в Ц в Д в К Р Ц в Ь в~в и╢в ию ╓ о ┤ ╓ ║ ║ ╓ └ ю ╞ ╠ ▐╘ ╥╘ ╪╘ ▐┌ ф╘hz ъ\z ъ$** №$* Ё$* №$* Ў$* Ў$* №$*$*$*$*& &,>D8P2D8P>D8P>DJPV╛hz\zbzhntzHflrxTflrxАflrxTflrxЖflrxTflrxМflrxТflrxHflrxTflrx`flrxШЮдк░ЖHl~ЖКЖ╢Ж~╝ц╘╬╘┬╘ц╚╬╘ц┌цPЄрPЄцьЄ~ЬвиКЬви°ЬвиКЬви■ЬвиКЬвиЬви Ьви~ЬвиЬвиЦЬви"4.4.4(4.4:@о╞L╞L╞F╞L╞RjpXjp^jpdjpv─╩|╕╩В─╩И─╩О─╩Ф─╩Ъ╕╩а─╩ж─╩м─╩▓╕╩╛─╩╨ ╓Ї ▄ т ш юЇ ·  *$*0flrxTfNrx6flrx<flrxBflrxHfNrxZflrxHflrxTflrxHfNrxTflrxZflrx`flrx~ЬДиРЬви~ЬвиКЬви~ЬДиКЬвиРЬвиЦЬвио┤║╞└╞Ьо┤До┤fо┤До┤╠о┤До┤╥о┤Ьо┤╪о┤▐о┤фЁъЁ№Ў№ & &╪ЁЎ└ЁЎDЁЎ,ЁЎ└ЁЎJЁЎJЁЎ└ЁЎ2ЁЎ╪ЁЎ8>╪PDP└P╪PJPVTb\TbhtntАtzАЖМШТШдЮдк░╢┬╚ъ╬╝╚ъ╬┬╚ъ╬┬╚╬╘┌HTрTцTHьЄT,JPV\8JPV\°JPV\8JPV\■JPV\8JPV\JPV\ JPV\,JPV\8JPV\DJPV\06$$$("""(.LF@F4FL:@FLRX^jpd|jpd|jpv|bАЖМnАЖМВАЖМnАЖМИАЖМnАЖМОАЖМФАЖМbАЖМЪАЖМzАЖМажм╛╕╛╕╛▓╛╕╛─╩Тк╓к╓к╨к╓к▄Ї·тЇ·шЇ·юЇ· $*06bЖ<BHNTZ`о┤fв┤lо┤rо┤xо┤~о┤Дв┤Ко┤Ро┤Цо┤Ьв┤ио┤║ЁЎ└▐Ў╞ЁЎ╠ЁЎ╥ЁЎ╪▐ЎфЁЎъЁЎ№JPV\8J2V\JPV\ JPV\&JPV\,J2V\>JPV\,JPV\8JPV\,J2V\8JPV\>JPV\DJPV\bАhМtАЖМbАЖМnАЖМbАhМnАЖМtАЖМzАЖМТШЮкдк░Цн╡W█W╣T█▐█5 1╣Ц%n╔▐Цнї█ї╔╣█Цne╔eЦe╣eнe╡°█°╣°■■█■ s╣¤█░█¤ sтnG█╣▐█ s╡╔Ц╖нз█з█Є█▐Є sё▐ 1ё╣   sф▐ф█ф sфn╔Ц╖н█r█rЦr╣rр█р Ц ╣▐█▐╣▐▐▐Цшшn╔■∙,√ў╣їз┌█ |▄╬ ў╣їз┌█∙ |▄╡∙╣ e█e |e▄e\ўїз┌█ |╣▄╡m█щ n█ |╣▄╡█<  █  | ▄ ╡ ╘У╘к╘╘▓h╪h╢h╔█╔╪Ў 1╔╢╔Уцъ└╪ъь▀█▀кСС▀╞▀У▀ VЎV╘ёАV╪V╞V╢VкVУV▓W╪W╢W ██╪█ s┌╪┌_З_йй_АА╪Аё╢ё█ё sё▓ф╞фУч┤фкъЪ╢Ъ█<Ъ╪< s╗█╨ 1╗╢└╗╪└ s╪ИИ╪№╪И sИьЄ╞ЄУї┤ЄкЄ─╪─G╪GУG╢G┐╪┐╞У╞╢┴╪┴╢┴█┴У┴┴ь╪╪╪Д щщ╪щъ╪ъ ~╪~Ш╪Шё╪═╪ё▒ ╘¤╘╞═Ў╘)╘°╘Ї╘╢╘Є╙д╘╫╘╪╘ |╘┘╘I ▀Ї▀╢▀Є▐д▀╫▀╪▀ |▀┘▀▓▀Y$V |V┘VMфЇфЄудф╫ф╪ф |ф╢ф┘ф▓T╪фЩ фьЄ╪Є |Є╢Є┘Є▓╙╪Є ╞╪  |╞┘╞▓    6 !Q_>Q |_ sN 1  "x  &,228>DJPU╪n╪C╪В╪М╪m╪Ф╪к╪  &,28>UУnУC╢В╢М█m╞Ф▓к┘   з╪ 0кDFLT    aalt>fracDligaJlnumPsaltVss01\ss02bss03hss04nss05t  Ltж║╘ш. /0234156t н╣╨яЁk e╪fщ╧/0234156н╣╨яЁВн 01╣b╨ 345яЁ" kО*T`vВё┤jjЁ┤j "г┤rб┤nЯ┤mЮ┤lа┤mд┤rв┤nе┤rж┤rjklmoqfcidecomp-2.1.1/documentation/solution-design/_static/custom.css000066400000000000000000000004061473255640600251260ustar00rootroot00000000000000 div.admonition p.admonition-title { font-size: 14px; } p.last { font-size: 12px; } @font-face { font-family: "Dosis ExtraLight"; src: url("./Dosis-ExtraLight.ttf"); } @font-face { font-family: "Barlow"; src: url("./Barlow-Regular.ttf"); }fcidecomp-2.1.1/documentation/solution-design/a_communication_plan.rst000066400000000000000000000016461473255640600263740ustar00rootroot00000000000000.. _a_communication_plan: Appendix - Communication plan ----------------------------- In order to keep :ref:`FCIDECOMP software stakeholders ` updated, communication is established with them as soon as the open source canonical repository, new packages and related documentation are available. Priority is given to :ref:`EUMETSAT ` and the :ref:`HDF Group `, as they are the main distribution channels of the software itself and of information related to it. Communication with the ``hdf5plugin`` package maintainers is also important and, as described in :ref:`a_integration_with_hdf5plugin`, is initiated in the early stage of the solution development process. Finally, for each new release on the open source FCIDECOMP repository emails are sent to the HDF Group and to EUMETSAT user support service, which in turns uses its communication channels to directly update MTG users.fcidecomp-2.1.1/documentation/solution-design/a_design_justification.rst000066400000000000000000000007531473255640600267170ustar00rootroot00000000000000.. _a_design_justification: Appendix - Design justifications -------------------------------- Choice of supported OS ~~~~~~~~~~~~~~~~~~~~~~ The list of supported OS reported in the :ref:`supported_platforms` paragraph is based upon the list reported in the :ref:`EUMETCast Operating System Specification page <[EUMETCAST_OS_SPEC]>`, where only OS that will not have reached their end-of-life and will not be already in extended paid support phases by December 2022 have been retained. fcidecomp-2.1.1/documentation/solution-design/a_fcidecomp_stakeholders.rst000066400000000000000000000054001473255640600272060ustar00rootroot00000000000000.. _fcidecomp_stakeholders: Appendix - FCIDECOMP software stakeholders ------------------------------------------ In the following table, a list of all users and developers involved in the maintenance of software or documentation referring to the FCIDECOMP decompression software is reported, along with their contact and actions to be carried out to foster integration of the new FCIDECOMP software. .. list-table:: Users involved in the maintenance of software or documentation referring to the FCIDECOMP software :header-rows: 1 :class: longtable :widths: 20 30 50 * - User - Contact - Action * - ``hdf5plugin`` maintainers - silx@esrf.fr - Arrange forking and maintenance of the dedicate FCIDECOMP plugin .. _sh_eumetsat: * - Daniel Lee (EUMETSAT) - daniel.lee@eumetsat.int - Aggregate all FCIDECOMP software distribution locations to the canonical repository (see :ref:`fcidecomp_distribution_locations`) * - Daniel Lee (EUMETSAT) - daniel.lee@eumetsat.int - Update all documentation referring to the FCIDECOMP software (see :ref:`fcidecomp_documentation`) * - Martin Raspaud - martin.raspaud@smhi.se - Arrange acknowledgment of his work as developer of the :ref:`fcidecomp-conda-recipe <[FCIDECOMP_CONDA]>` package .. _sh_hdfgroup: * - HDF Group - help@hdfgroup.org - Update information regarding the FCIDECOMP filter exposed at https://portal.hdfgroup.org/display/support/Filters .. _fcidecomp_distribution_locations: List of FCIDECOMP software distribution locations hosted by EUMETSAT ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a list of all the identified FCIDECOMP software distribution locations currently active, to be aggregated in the new canonical repository: - https://sftp.eumetsat.int/public/folder/UsCVknVOOkSyCdgpMimJNQ/User-Materials/Test-Data/MTG/MTG_FCI_L1C_Enhanced-NonN_TD-272_May2020/FCI_Decompression_Software_V1.0.2/EUMETSAT-FCIDECOMP_V1.0.2.tar.gz - ftp://ftp.eumetsat.int/pub/OPS/out/test-data/Test-data-for-External-Users/MTG_FCI_Test-Data/FCI_Decompression_Software_V1.0.2/EUMETSAT-FCIDECOMP_V1.0.2.tar.gz - ftp://ftp.eumetsat.int/pub/OPS/out/test-data/Test-data-for-External-Users/MTG_FCI_L1c_Compressed-Datasets_and_Decompression-Plugin_April2017/Decompression_Plugin/EUMETSAT-FCIDECOMP_V1.0.1.tar.gz .. _fcidecomp_documentation: List of documents maintained by EUMETSAT referring to the FCIDECOMP software ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is a list of all the documents maintained by EUMETSAT referring to the FCIDECOMP software, to be updated with reference to the new FCIDECOMP software: - https://www-cdn.eumetsat.int/files/2020-07/pdf_mtg_fci_l1_pug.pdf - https://www.eumetsat.int/media/45923 fcidecomp-2.1.1/documentation/solution-design/a_glossary.rst000066400000000000000000000005501473255640600243510ustar00rootroot00000000000000.. _glossary: Glossary ------------ This section contains the main definitions and acronyms used throughout the document. Acronyms ~~~~~~~~ :CI: Continuous Integration :CD: Continuous Deployment :MTG: Meteosat Third Generation :OS: Operating System :TBC: To Be Confirmed :TBD: To Be Decided :URL: Uniform Resource Locator fcidecomp-2.1.1/documentation/solution-design/a_improvements.rst000066400000000000000000000030611473255640600252360ustar00rootroot00000000000000.. _a_improvements: Appendix - Opportunities for improvements ----------------------------------------- Integration of CharLS 2.0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Integration with ``CharLS 2.0.1`` is not a straightforward task since it requires a significant restructuring of the FCIDECOMP source code, especially in terms of references to headers and libraries (both changed with the latest release). Such restructuring is considered part of possible future developments of the software. Generic integration with Unidata netCDF-JAVA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Generic integration with :ref:`Unidata netCDF-JAVA based tools <[NETCDF_JAVA]>` is not a straightforward task, and at the moment it is not considered a priority. A :ref:`brief discussion with Unidata developers <[NETCDF_JAVA_TPF]>` on the netCDF-java support to third-party filters resulted in communication that dynamically loaded filters will be supported in the next release of netCDF-java via a filter service provider. This provides a possible future solution for generic integration of the FCIDECOMP filter in netCDF-java based application. Long-term dependencies maintenance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A possible long-term solution to grant the ability to install the FCIDECOMP software even in case the remote repositories hosting its dependencies should become unreachable is the have EUMETSAT host a proxy assets repository. This would be the reference repository for the FCIDECOMP software, acting as intermediate with the actual repositories and caching the required dependencies. fcidecomp-2.1.1/documentation/solution-design/a_integration_with_hdf5plugin.rst000066400000000000000000000011641473255640600302130ustar00rootroot00000000000000.. _a_integration_with_hdf5plugin: Appendix - Integration with ``hdf5plugin`` ------------------------------------------ Integration with the ``hdf5plugin`` Python package (:ref:`[HDF5PLUGIN] <[HDF5PLUGIN]>`) requires communication with the package maintainers (see :ref:`fcidecomp_stakeholders`). Such interaction is initiated in the early stage of the solution development process. The proposed solution is to have a small package including only the FCIDECOMP plugin support (developed and maintained by B-Open) separated from the main ``hdf5plugin`` package, and to have ``hdf5plugin`` use it as a sub-module dependency. fcidecomp-2.1.1/documentation/solution-design/a_requirement_trace.rst000066400000000000000000000007551473255640600262330ustar00rootroot00000000000000.. _requirement-trace: Appendix - Requirement Trace ---------------------------- The following table provides the traceability between the system requirements defined in the :ref:`FCIDECOMP WP description <[FCIDECOMP_WPD]>` and the design. .. csv-table:: Requirement traceability matrix, mapping system requirements to the design. :header: "Requirement ID", "Requirement Description", "Applicable", "Identified Section in design" :widths: 25 35 10 30 :file: traceability_sdd.csv fcidecomp-2.1.1/documentation/solution-design/a_runners.rst000066400000000000000000000031541473255640600242050ustar00rootroot00000000000000.. _a_runners: Appendix - GitLab runners ------------------------- Linux ~~~~~ The runner for Linux is registered following instructions reported `here `_, on a machine with the following properties: - Intel(R) Xeon(R) Gold 6252 CPU @ 2.1 GHz, 1 Core - 51 GB RAM - 50 GB space on disk While registering the runner, ``docker`` is chosen as executor and jobs are run on the ``miniconda3-centos7:latest`` image. Windows ~~~~~~~ The runner for Windows is registered following instructions reported `here `_, on a machine with the following properties: - Intel(R) Xeon(R) Gold 6132 CPU @ 2.60 GHz, 4 Cores - 32 GB RAM - 149 GB space on disk While registering the runner, ``shell`` is chosen as executor. The ``shell`` of choice is ``powershell``. ``Visual Studio Community 2022`` is required for the build stage, and it is installed on the runner as described `here `_. The following additional ``Visual Studio`` workloads are also required: - ``Desktop development with C++`` (with optional package ``C++ CMake tools for Windows``); - ``Universal Windows Platform development`` The standard ``shell`` environment is set using the script ``vcvars64.bat`` for compiling the package at 64-bit, or the script ``vcvars32.bat`` for compiling the package at 32-bit. Both the scripts are provided by ``Visual Studio Community 2022``. Also, to compile the package at 32-bit the ``shell`` environment variable ``CONDA_FORCE_32BIT`` must be set to 1. fcidecomp-2.1.1/documentation/solution-design/canonical_repository.rst000066400000000000000000000023431473255640600264360ustar00rootroot00000000000000.. _creation_of_canonical_repository: Creation of canonical repository -------------------------------- Introduction ~~~~~~~~~~~~ A canonical repository is established on the EUMETSAT GitLab service at https://gitlab.eumetsat.int/sepdssme/fcidecomp for development purposes. Each time a new release is produced, the corresponding code is synchronized to the public EUMETSAT Open Source repository at https://gitlab.eumetsat.int/open-source. .. _repository_initialization: Repository initialization ~~~~~~~~~~~~~~~~~~~~~~~~~ The last version of FCIDECOMP released before the establishment of the repository, :ref:`FCIDECOMP v1.0.2 <[FCIDECOMP_LATEST]>`, is used to initialise the repository. A new minor release adding README, BUILD, INSTALL, and LICENCE files, starting the Changelog, codifying the use of semantic versioning for future versions and adding a standardised build system is published. In this phase, the FCIDECOMP source code is put in a dedicated ``src`` directory at the top-level of the repository. Test approach ~~~~~~~~~~~~~ The code in the new repository is initially tested using a small set of automated tests and test data, following the V&V strategy defined in the :ref:`verification and validation plan <[VV_PLAN]>`.fcidecomp-2.1.1/documentation/solution-design/conf.py000066400000000000000000000175241473255640600227640ustar00rootroot00000000000000# Copyright 2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # # This file does only contain a selection of the most common options. For a # full list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- import re project = "EUMETSAT FCIDECOMP - Solution design" copyright = ( "2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)" ) author = "B-Open Solutions srl" # The full version, including alpha/beta/rc tags. release = re.sub("^v", "", os.popen("git describe").read().strip()) if "CI_COMMIT_SHORT_SHA" in os.environ: release = os.environ.get("CI_COMMIT_SHORT_SHA") if "CI_COMMIT_TAG" in os.environ: release = os.environ.get("CI_COMMIT_TAG") version = release # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", ] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = ".rst" # The master toctree document. master_doc = "index" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = None # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = "alabaster" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {"font_family": "Barlow", "head_font_family": "Dosis ExtraLight"} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # The default sidebars (for documents that don't match any pattern) are # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. # # html_sidebars = {} html_logo = "images/eumetsat.png" # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. htmlhelp_basename = "user_guidedoc" # -- Options for LaTeX output ------------------------------------------------ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', "papersize": "a4paper", "maketitle": r""" \pagenumbering{Roman} %%% to avoid page 1 conflict with actual page 1 \sphinxmaketitle \clearpage \pagenumbering{roman} \listoftables \clearpage \pagenumbering{arabic} """, "preamble": r""" \usepackage{graphicx} \usepackage{background} \backgroundsetup{ scale=1, color=black, opacity=1, angle=0, position=current page.north, contents={% \small\sffamily% \begin{minipage}{.22\textwidth} \vspace{1.65cm} \hspace{-0.175cm} \includegraphics[width=\linewidth,height=70pt,keepaspectratio]{../../images/eumetsat.png} \end{minipage}% \begin{minipage}{.8\textwidth} \vspace{2cm} \parbox[b]{.6\textwidth}{}\hfill \\ \end{minipage}% } } \usepackage{fancyhdr} \pagestyle{fancy} \fancypagestyle{normal}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/solution-design \\ v.version, \today \\ EUMETSAT WP FCIDECOMP - Solution design}} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot{} \fancyfoot[C]{\thepage} } \fancypagestyle{plain}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/solution-design \\ v.version, \today \\ EUMETSAT WP FCIDECOMP - Solution design}} \fancyfoot[CO,CE]{\thepage} } """.replace("version", version), } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ( master_doc, "fcidecomp-solution-design.tex", "EUMETSAT WP FCIDECOMP - Solution design", "EUMETSAT", "manual", ), ] # -- Options for manual page output ------------------------------------------ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ( master_doc, "fcidecomp-solution-design", "EUMETSAT WP FCIDECOMP - Solution design", [author], 1, ) ] # -- Options for Texinfo output ---------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( master_doc, "fcidecomp-solution-design", "EUMETSAT WP FCIDECOMP - Solution design", author, "fcidecomp-solution-design", "One line description of project.", "Miscellaneous", ), ] # -- Options for Epub output ------------------------------------------------- # Bibliographic Dublin Core info. epub_title = project # The unique identifier of the text. This can be a ISBN number # or the project homepage. # # epub_identifier = '' # A unique identification for the text. # # epub_uid = '' # A list of files that should not be packed into the epub file. epub_exclude_files = ["search.html"] numfig = True # -- Extension configuration ------------------------------------------------- def setup(app): app.add_css_file("custom.css") fcidecomp-2.1.1/documentation/solution-design/document_info.rst000066400000000000000000000046541473255640600250500ustar00rootroot00000000000000Document Information ==================== .. table:: :widths: 30 70 +--------------------------+----------------------------------------------------------------------------+ | ID: | fcidecomp/documentation/solution-design | +--------------------------+----------------------------------------------------------------------------+ | Version: | |version| | +--------------------------+----------------------------------------------------------------------------+ | Authors: | M\. Cucchi (B-Open Solutions) | | | | | | M\. Bottaccio (B-Open Solutions) | +--------------------------+----------------------------------------------------------------------------+ Document Change Record ---------------------- .. table:: Document Change Record :widths: 15 15 10 60 :class: longtable ================ =========== ======= =================================================================================================================================== Issue / Revision Date DCN. No Changed Pages / Paragraphs 0.0.1-doc 3 Dec 2021 Initial issue, prepared under contract EUM/SEP/WPD/21/1244304 by B-Open Solutions srl. 0.1.0-doc 12 Jan 2022 Resolve TBCs. Complete appendix on GitLab runners. In "Packaging as a Conda package" section, add details on the role of Conda packaging in the solution long-term maintainabiliy. 2.0.0-rc2 8 May 2022 Rearrange "Packaging and Deployment" chapter. Fix errata. Explain Gitlab runner and GitLab pipelines (RID AM-2) Add "Deploying on supported platform" paragraph (RID AM-1). Resolve TBD on public EUMETSAT GitLab repository. ================ =========== ======= =================================================================================================================================== fcidecomp-2.1.1/documentation/solution-design/images/000077500000000000000000000000001473255640600227215ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/solution-design/images/eumetsat.png000066400000000000000000000311551473255640600252630ustar00rootroot00000000000000ЙPNG  IHDR╞@ArШ IDATxэ}i┤]GuцWu╞;╝Q│,O╪▓Е-уIЄД'l3ЪЪД┘аcРtЪ&!4+щмРР,ТIў :Э╥4 ─ NlГ ╞`└╪▓e╦єИeY├╙ЁЇ▐}ўЮ▒кz}╗юХхIOy`▒┤╓=Zў▌щ▄sкvэё█╗╢Фs╬ax )0д└3(аЯёn°fHБ!ДC┴2┬Р╧CБб`<QЖ )0М! )Ё< ╞єe°╤РC┴Є└Р╧CБб`<QЖ )╛8$(╫Ч9fItчмS╨PГ╠Йspиа┤ъГ╧№▌P^_Ьu^ї`)ЁвF]aГ[gсмБ░ ░D ,а╡ВV~╞~н┤ ■`g0Ў(\|▐Y8ядЧ№"i2╝ўРXШ`8а6╡─ :P`Xmа╙│°╔]ўb╫lзА┌YTd| ╢FYЦ(╩uaРч9КкFf*dEЙ┬╘(╩YYртП└√пxF# б{Ue]│0ьc╜є:ы xdr уА&Йю╠лИ'NC╬Е'Є░8╨pЄЮ▀sГs№Щ╞(MзQЙЛ╚kЖP2 0A;╕╧┼ф°ЎЛ╗№· Th■Ъу▓░жBЁюJ└ ║и┌4<╪7C8┬yA▀╓Єs <┬¤т╗┬A%╩O╪√№I╖}.нбt║╛JиAЪ(ШZ!▄>фэd╝з  йЇ╟─╣╦фЎY?╛фBhаок°╥Z╘Aь╬"рНeЎ<═╩їq ░╝$╩SЩ&Р╪Vї╫|└/|С ЖO60~░░ё╙эSxшБЯв╢t┴j ├I╓5▓┌ак*Ї╩yePd╒>┴ш╒%Є▓B^W√Cugq┬╤+ёё]ЙхM"*TBДИцбЛы39GFВD:Ф#ЩКЛ ВБC╨ЗНфсrР┴╚╜°╣Vj▀y√╗╧7╠KV%K{╞свУё7В №ўЇA^у┴▀9a╢ЦZГЯЕz▀g╡3г=;з├╣PР jшч$A=3ї╩ IФЇКвM@Ш╪8#Яя?&╣∙│ 8ОхiX}0 ▐ЯА?8Ogм0с`╢вяМкДЙjU!айа08  ╠▀У9╔ШdШРч "рХЬтщХ_▀Тr|ц╣ ё∙.│0┴ртPє╢lЯ╞жAЮ╫ШX┤aТвнщV(╔Mв▒4L о4LаыU ╝fН п╕°MШ8├Ж█o╟л╬>┘SГtч∙∙&ЄМ╧*яU0│кX╛ mт╡9пФЄЩht╟{ЛкЧevL@*j$о▄╙М╠╡▄зИ╕╞Є жцЩ┘ЇЕ┬Б.ж▐Зо╤═сD├╬]ў] { ▌▒hвт_*г<│ЁzтЮ╓Ї(Я^hОРoj?\zNd4~Кт)c*З(в+ё┬^▄АЖU╒CУn╬3лД~)"╛яУИ┬MУдDш╔Оw╫+╬i ▐Э▓и ZЖH~├ RЖюjЁ▓%рRo№~2ЬвP9п╝Г}ЮgZTz ╝ЯvБ║у▄Я╢■╧є│g|┤0┴7 ╞l╧р▐AзS`ё╥хт.НООв{эXVF4▌й║PBх╦CшSGУh|Ё}╨WU1Лvв╙┘ЛШ< ╝├I╥ "╡Юf╪g╠ж Ж№hЛ:Ў╙│╢F@S*5Y╘▒╝` \╪╛KEa╫!їеХекro┼┬╪╦ ┐aтrЯ+сM║еыу(зби∙Oфb*8M╟MfЛ┌╤rЙNюЗ}╖@ДИc"чRрX[FKya!Г╤g╫Їёy'щ5▓CяOИA}4 зкАXb 3┴╛№рЩ╧axWР&$фє╤@й=╞╬ЯQСЇЯ¤ а,k▒√[HоХВТ─дПё┐эпy]хИ"╞b┤╛"б╛R╠{ёюTМ╬WH╠3~▒H┬ONrZо!┤еvС?s╬╧~╖ ┴░:ВS w▌ў╢Mэ┼╪теB¤v3Eи Т4Х(2PXЦbYВ└Йы}Oю~t╧#▀╖"[dX║Ї8ъдЗ║АОX[Bif=pшЪ─<ЗH╠!оСюЭJЬўХ)Ф▐%р▌)8С╕a№Ї}и╤8DLBJ Cцт54м ╝л|╨hз┤и┤┤▐j14T$iЪ27"яТp&Jjї8 рT"УSA("l-УЯМ{JДМEP@QkS█К|ш Ё▓H║JВvQ:Л-E└НЄ╨пO{! ╓H╝PяРАЫ<\AQ$г┼е7;тW╥-м"5╡CСF^Й8*3ВЪ,OБя+▄д%нЪ╕Кd┼HтЛ8д4;бЙ─л╔Ди·q[мyЭСзпbЬ(г8МdХ%╢█╧т╛╨U$FkLMgxшё═@╪Ф╔═╬╬bb╒T┘,К(АК,*ыP'╚М▒DБ╕HнGДиDЛPAў_sаБн┴Z}ъ╪ `D)$Q SH√VрЕ&─╧kг┼B0gFlЙА ~у╔NЦЎЎ'пйQ}8╦ёQ!хї║лШx┤Hтб°R K[(<╞╟%tЩ*еCгЙ╝й~ЁЩх%-╤Г"Ж"zеБT╞D еU ╘^ОDщsБj"К4B$Tи║Е,/Р$ЙA╞░Ь ё▒XЙd_░Z╘Рё╫К╠┴▒╪bИlПy└Р2╤┤▐bЄє╨#duцдD]°TR9ДСЦэ~ТW?,*ep╞▒kЇr@ЇOТ чВЖy┼╔c╠┘н╨hQИ№<5ш√Fw:вKн╪h_Ь╖ЯwyаKЇ#ФЮЄ▄/ozЁAФ╡C(К Iд╤ЭЩA#f║ё!Н╒(КUeЭвР╨З▐_п∙╠Г╧ ╨Т╓(╛√Г ╪╕ёnш▓ЛvTу№sN╟╦╧<эY@щs╟g┬▌ ╕■·[1╫╦&MФЇ▒├ХТ╨в╬3й█rоF+ЬrЄIXsтB∙п|ї{иMЕfв(цЁТгWс╝їз√КaA\bФ╡╞m?║█ЮЬF╞(к9┤'B╝ъ╒б┘К°Ў ?DЦ╫°R;jаЧ╕№їЧ"И╕└^ГТIL\wэН╪M╔T1с▐▓Зеcxх% &╘ аkАЫxvNэBзB_·╥ riбxMjщв&лY,^<Й /9?4Е√я┐жЎщ╣ФєЯx1ж█eAз▌Кqъ╔k▒zїr19"№tє46▐■0║я)ь▐;лkМ-nb╤╥Q╝|їRм^}<Ц,ЫЇАAeУШ@xН>=SсЪkn@7+з сС╔%Kp┼хg{!p└L╟р;7▐М,я╗гд·Ъу&щ9с│О?з╛ь$д▒ўl}Ах∙ь~║яуY в$ў>ЇTL,╒@3HВfrН.ЪhYfP╣ б┌┌а45*Уг╥╠~QФ└мsВ2Ф%єdТ╙I╞╟s╗ЎxAВAKЧ╪<√Ьyцщє F\╜*╟G>Ў9qуt╤@ЭFИv┘"аМ3аИGmДuБ╨n├╖■х│`шаВ ┐∙╗WбЩ╖С╟9ФНp╓╣╦q═╦OvЪШWНЯ∙ЗятGw<КС┘▌6}ш3Ч_и╩$╪Н┐Є╔╧#▓G└Ъiдї(:н.F╩╛w╥)XuтR4┼us╚а1╡e/>Ё▒k1;Zв╡+ДЮиБвЕ░5Н╟~r┴╛√'╨°Э?╛;╖N#R]T▌╪н═дfкС=P╢ Э╟Иь оx )╕фU'у_o▌А┐№╘═ш╤Иц2┤т d6GЎ╫═вg'▒sll╘┴▓╬ P╜зp▌ППЕQvnэсЯ■~p¤ПСЛQФ\ф`в ╓ в! ╨p└%чп╟o ╞;Ё▓УузY╣дbъ ├╖п▌КO¤╬НШkЎрВЖА"═bЧ^pVМv┌╜О┴o|Ї_▒╗a╣Йю"*и├YХ!HcX╞ОЕFПбьu1^Лnt?■ЁO▐Кїы╓@1╟дш■╒╝b5P√dфр_LэЮKрГъ╩√qu-┴wЩWшd=╠х▓,CСТ┤гх t[х╡а@;vяТ┌@!╧ ╤p┤╝цDЮa▓╩1Ц═aСй1I▄╛3Гjzz3Q:╨hщw╙ы╤qN╡рв*·╕c@СB4┌m│╘t9N?k-VЯ8*ююБо{░▀╤№s ╗w╬КыBME°Ъ╚ !X[;|├=√ШЕeў╘Б▀■сЭтЧ6DШ─░╣Г╔k╘yЕЭ{─╤7Ф┌╠кe┼фиГ SXе6"╕иЖю%P6АU9тЗ °ц7"@М8РЖ1F╤F┌UhVMиоF\╡╫-DUЙEфЩ 1ZОCя╬qю∙ы░·╚уЁ°fЛ╖┐хS╕х·█СЖуs8ЕAhА8╙hdMд∙(вrQ8Жып╗_°ч╧Б0,TЕ*ыЛепМ |їы╫аО ╥н БJ2╟╕ю;╖вFSФ6Дэ╓hгНСj ёЮ&lH▌┌XКд7Кf5Ж4KбўфhыY╛УЛ"\zсy^PлJ<q&Є╪■`W{┐є╢m▀!хеоaUИ RPY!ж╛о║HгўY╞╩╥Н▓(kГ┬T(ЙN0kЖb-:▌ =╞"e ║6~у+▒|bЩ+пj╪@ Тб╗=,k╪М╩0┼иPY&Ў"D6F>7ЕF[├┼{╨╩╟PdЇXfёб gIкS%█ЯK┘╗wy╢l▐ m"ЄВИ╪~ЙИ▐kс║Ыя╞Хя╛DЦЙБ7Л,┐■э█Б8Ж╬rБUM$Н~YДй╙8r|Ь2p╢фi╨═к Б2D>╗ УG╓шOaдZО╥їаRГK/YП3NY B QAх3И╚02>Йщ'жб'╟6b8V&LыIL$ЛP╓FЧh|°╫▐(▀я ┴ч▒∙╤╢щ▌Ск7Н▒┼)ТЦA╘H▒wк+┬l]А▐▄╜ц№ц╟оДЦ░╣B╘lБЙи*щaєц6▄Гм╔дчбаЩ 2_·чясЭo>WE╒AsYН╜nмОС╢ кдЙ▐Tq{Б `Є н▒╬╬uБxeИW┐ъ,м\▄ЁаJ╘Ф`╔x▓█ПйЯїrAо╘ЇЮnU5о(2и.Й¤0щgсЯйдW╚Т·╜5д4Т╠ff╨┴O╖oE│▌F▐ЩЕ-╔4Ч]p.∙ЩЭGY╚GyЧПF0╩ы√Ё╧Ъ╦╛╖d@╧щ╠╩zДfty┐√бwрхп]Г▒▓ЙВcш╨nk,╒И@WПх ■~╓ГA#░cы ┤'Гїy┘A8╥F=[сОMOp %qШв;[у╬{ЮD]жHужЄ(ЬСЭР!жvvА5+Ya)Гh^GбBЪZЬu┴)°єO]БEН6J&╤ВеЩ├СK╟аъ.В0└я;\╛ L┬╕ yс?¤П╪╕i3Є*ГЭ`)7|ч/╤Ы7 ┤В╟?ЙG╢Mужя▐Ы,БkЕ(╦FЦ[№ї▀|чЯsДTЮd9░щ'[ёO╫▄Ко╜ °▀KG5┴ t,╣╣·_nCнRФtы*┼$+*хЁЁ▌█ЁфVЛгЧЦx╔╤г°ЄW~U3Bh5в▓┬ЧozЯ√лпIЬH┐:tя∙╡╫уЄW┐ kQX`эZ║йЇы·k╔єTИ\B|ПЪhХ$3Y&░ЪеЎВBйB)SpeНТ┴│л╜▀Gд┬I>1┘WЪ UYA╟╢ю╪БFлЕм*aлоштМ5лёо7Ь s`оDЇ)Сжl·X╝LЇ└и]ЮaкQФ"pLoVМм]1Ва*А0Р _ы2─ Кэ╕"┘№▀1Rв█;╜3У╥AI╚м╚б ]╗{wх╪╕щ Ьy·`-╒6lBw╞!╥ ╦iu╪&Шpмa▒kк'ЛLЧм.,\R╞!ъ╝Г─┼8їш&┤aВМ0o .С\┤p#ЦНжHG┤° СnвBНf SЎ$╧!Tb═1cОбЎЩED┤Ю┌╝FЗш5шкё зЮ▒ыO;-ц]lQ`q┴┘Л▒■▄7# фы1╓К% Z>&я╕v ш"┴Ч╛rГp)┴▒h/I╤▌Ы┴jЛl┌тжяn└пX╟Ї?╬zщ2а╗I@ ─[╢гм║PHбcФ%VЯ░gмЩD╚-╥Бч╔Зи╨ч┤R╧ъ╦Ёц░рБ▓и╤+j╤■м}Т:з╩ ╦+Б{eНвиСў╧╦кZ ∙;&¤К║Ца)ыцш╬╠┬Х^▓l >Ё╓7cФиK]·=ТФвVд╞ї┼{мeЪяpеУ╠М6s)l╕Xа.¤5(Д+у▒|a┐\СдЯї`¤y█ЎiqiA)дУ╟L┬ft ▓!о┐∙n╓ер\w╙OыA└d]4ЧдилЖ╣`╫ЎY┼╥ НB0▒LЬVЩ╕Wi▄Аб·TЇ═ЛўДY┐Bц╧а└╕к╨`EА╪wа╩╘╢╨╥ИVu╔nБ─ t┘╚╔БMСў\┴╝ЙFмту▀╗q3n°Ў#╪3┬щ1шp░ ┤3М╖TщЕY┤ ы╡FА╓r [Ю╪ ЗHъугзп;RP║Ъnx#┴UWХ У шРШ╩E@/ВлjдeAС┬ЎT∙Ь(r╔OQR┘J6Ю 8б@L*К+{ |░ЇМK▒▄гиJш E`2ц|├┘VЯgА═║%╨л╘єPєI1a_а╩ ╝д╡| >Є■+░D й═[■~5-Х;╜TC№ ёаВЇ#zцE╗╚а-РDMzW}ы.▄ё╘vа(4Фy'п^Йў╛хbaв2╧╤ ▐№3м г╛}jє6Я│QFr!ы╧YЗы┐q l╓A ЎПю╟'■ы@^7▀■иoХgHSЕ╡gЮА█n╝ЦЙQD╪╢}П@е─ўЩcл]ХJZ╡Ёрc№┴Я}6g@ё╣Ю┼∙э╖aм Б,╔а┌08щ╫eа`2▒╨░│шХXC┼фb─╤Р╟RС{▄qKО[еБ-;И┬║╗~ыcЙxд─Й'н└║╙^ЖЛ/║gЯ9.s!L*кИAджzгaЁ┼/▌ т·:╥h╬е8√╥уЁК╫ЮЖ ▀┐9cє░ЕM=ЕMПm├╟мР*г6╔A░тдtИm"ё-sЛ|РядвБиK═№U"▒-╖O╟:Жf┼/└в═Гр·Г8х╣\╥|1╤D$КИK▌п#2*МEZB▌IF╓8Л╥║н$1╞,05тXлН_} {▒дM▀з4E A Х╚б$йXN@nИ91┌у∙ьл*мC╥H╤ы╒0.DQ5Ё╜ЫFvч}hШ6╩вЗ(58g▌KЁО╖^ ЄШdl>щsз}╨Я *_wю╪-К┴▒·6╓8їЇ╡╕ёЪ█dm"╕√Ю╟0╫Юzъ)<№ш6М╕ШXc╤У8єьS▒ёG#C]ь┌1▌/▌bЦЛ-З*╕╪въ╒Г[этп ■;И│QdiIнб╙i╝єгп╞Hбб[n&'▒╨√┘╠шт╘IА╩e╪a kйъ" VЬ}╘(╬║шd▄|├у╨эЮ└┤Q:К^`f╞af╙▄rч7ёчw NX╓─п~рЧЁоw]И╡$eн5rkg*▄Ї═█Qs;B╒├H╤─┼чн├ygSU░К0~В^ ▄t√Э8си╦СFTнмAуР{x ╩.lиfKиА)G╤╠f╩Z▒]нkfr╔IЙ0c■е\Р`,M%G1Ухe∙G9Г$ ╨3Д╫"д╡CЪРёЩи─Ч╧нF╖╓иY╘W√ ╦М;▌.~уў T{Г2СЮ╨и+┤UИЮu0НD╗&ъ■чя■7мZ╕p@Ъ╨[0жЖС┬┼HЁ▐fтCя3▐°▐ 0Rf c╟1QУ УT,┌╤┬РМSг7`еЦ█"N╔╢*Бнj)oлё╔▄JY╦ъ▌-ГWь;wLCЄJRRO╘.├шxИ╦^y&■т a▄Ж*C№x├&l}j+╞еГJ╥╥8єЬcpыэ╘КvCr!{w╧╔&пV┬zдQшjnzщ▌┬О=u╛ЄўЯВFUа1X- м\NMm$WРp-юf╕?╧╤/3ЧШFрЄaеpьТ№'чууЇ №р{рюНПр╬ wу╬{╒▄(Ъ╔┤щ└N:Їfc|уKwруx+tФуз█+▄▓ёqдIД╣щI:Ж╓╪*№у Sg`й !¤╚еиУZ,▐u ·cЬ■╤╫#рn>╓жIхё∙Й+цъ╘╢Р-пa!Кй╚Z╕·ъ █IsфI╗$C5СгWЦ╨═Qй┘кm.є2╠С1Ю|tю╝g;Ь-╓пШg¤_/H0иvVМжx═ЕganчУY,XPI"-rX╪┼Ао7╗Й*▒д|ь╩wу▄╙╓`Фf┘0А %Рe0√ьG└ДT?#DИ7╘,аP╨═Щ▀GНhЩО╔╢NцtЛ]Ц]╟dn·i°а▄ЯоСш&@Н╪0ИЪ>╗Ly█╬▄u Ї$цiбЛ?║k+Юxrзь╤а36╟Q╟,эяG0╡}╖дгjmQ┌Jv─Н&M(cёЪ╦╬@U╠╔.3X║oДО;ИВчп?t▄F ┬▐!O"qvLM√║#G╘о Х▒┘@$┼ЧЕ 0║╖ PgQcОuВ ╪C╨c░│b>s╤O╦╛ л┤╛H┼m■╙╧~їЕ[1▌5`%J-e─▄Б[█[ЯТ└╪╓й╬a╒ЪQD рО{╢сЙGзQ5┼r[#4sЛdoнMйX[└Г┬Zb╓╩SШ┐г╫·ёДq√I&F>ерEх┤sЭ┴4╕=u'М╥▓1&Au`Дх%5ZИ╩&итsf6$PKA4X╖╛Н▀√╠╗1╣иBnw╚^Г┬Ж╚ЪХе█4 П╔>j╒▌ГгПiуo>¤!Ьw|елQ└}[v jд│mш<┬тE)f╪е#Ю%№ъ╫Ь;╫ГоЪ╨ХЦЛ^s"║d╔`/fL.Oс▓)Ц└ЩПlc║╪еАд╡ К∙Щ╝-┼Вж9уЩЩ:Е■╣ОQ╗Ek; ▌`оF╬@14╓Ш▒pQО:▄%╒┐ХrИ▓╢fлlШ╬А╗є^┤Ц▓t`╡AC%hх▄╧╥D╜EЎ6зРПьFаfЁ╢wЭВп¤пПбaАo▌°8▐; ╗$DЬЕhЎ №Є█_Г▌%╣bLD░эТ^nщz√/A╪ьв(z0Н│qИ/|¤┌Q(L#7+Pк]H4БгчРЫ░_l╩=Я?√▒ Л┴^▄╦!z∙N;ёx|ф╩ўтя╛°Ut З╖╛э]mу┴й.ЬafЦ°│ТАЦ┴▄р╡ Я╪*ИнfЬя вєiм\╣qв( i т√═/╝V жw9Ь║цXLўLDнk█Qэ6ZшХ╛ы x+YЖ╒╦Ag`¤в`яyч:м=єH\¤═Н°Ўїё─}█ЫTкu│цу`fc┘кХx╙ы▐Д╖┐х╡x╔Q бь╗`▐ШМcм\ъ`WF0eНУО\МQ╟J╨IЮ]r╬щ╕~эн╚YEл5╞╟с╘уY╩╝IНvЬ╛fюмvHYМуйA┬К╝t┼j╘S;аг1#╦P╫sТяИ]Щ▐fеIывш`м╜ fh.бУ2Ў2└qKЦcч╩=▓Ш╣╟-lk─=цUvY╘Ёх· n╗ыI| {╖уцЫ┴он;Счв ёНрЬ├q'ЯА3╓ЯЖ7┐{ N?j9"tP╫ ║ыЬz▄╤Ш┘^г╜tсшЬsЎ▒eо╫ЇР▓╚yQ"Ic╝ю▓гЁ┘Uу(╘╩В▄в░эбeЪoь┬┌ЦвGd╧жh6[Ш╨▄lLFъ7гоZ°Я5\глB~.╦L0~о!Y|ю ■ ~░qУьgv▄jщ┘╜╟Eb ,u▓¤╛C▄$аЙO3╚д┴JЙЄп╝цм_┐ЛM°·Аь╢с|╫щК~А9;ьБ┬(ff─г▄└я]хБyд;FqdЖTтK╓щю'l╒ЕVУТ[б'Q ь+{r─СF═ЄСзKnдб6░uО !P·▐╝ ╚,Р7(+4┘Єдd-Xyfї╟@ў2ъ╗Р╥ЪCkщ┬╖▒Ъи┼)═ЮBзСДУтq>RЦ╥░▒@▀·К$╕kFИЩKЖЬзїfПм┘Ю╠фЫ┐■АFТ-F│и║9вf[ИEгOЛ(CЕ&х`DTдГ ╟╚=0R╝_╧▒A║&BбB42а■сy∙/!G┴Ёmw*KEJlР╣┘F!чТ6!П█╪ьA6)Ёf■ЪЬKЁe├X_Ї│  йл'G╤ g V▓Ї░FыоG╖сж▐ВНЫA╫▒Ф9Сь1┐P+d,й(sDбBвнььП\x╬z╝ЄвЛqь╨h°HД╒┤lцПБ┼,▀ M╛т╞b┐[М\г Tьв+╔;v!dОЫД╘Є▀и~WЛ}1)╣YvЎР┌╥7OтоTp├сW▐Ыьaa╪ЮЗЭKT|·В7ы▒Wг╘ r▌пЙЫ┤Нм№>$ЮejтC2i┴Х93ЬКUЕ$╔J╠k!]RO6? ├A[&3╔°ДQqедm╤ ▓FмB?ю>∙(ф"щ(┌ОЭ J╘I Т.4Q WеJСТP░Oс╬╒вк╣Ч╛-Ь;╩ ┼ДЙ╔Z`ъ2b9}Йx L╓°╣░щп┬d!h_ыK╠А╖сг{В&К0 XВ╗ Т~б"5с╧x,H0╚╥╜П╙к╩╩·RqйrЇZс╔йю╝ i╚╢e╦6dY╩╠Еf3┼фXлV.├║У_К3╓о┴"v╬и!┘mоSmJiкр{qpж¤Ў4╥┬цЕgNvн╚Г╢МГl)59 IfаdЁDб8 ╔пб╝g═╧м┤Сqь:B╞,┬@(Ji╝+^Ио╠a3■ЪоўZ╚&|ЛлР╞▒)╗э╔┴ДўЮ╓▀╫─ХСy╦ўф^.4╟╞6::v╜р4╚$RГф+7ВъЬA3V _┘j█$~U* Gs┬FТх'AXmP"e;E░DЕ$Йд Od╤! е7оМл?vrРMUt[KPHс_Км╥ЇPeC;ш└╚xТ¤tiIe╫%I\!d▒#Хо2(Л9─iKrd!;┼HgB_╜mrnЙ&)fTЄN╣л╤Шз=РLrЮ?  [∙ЦЦ╝6УWм╒ё╗J░╛╟УЫ( [эp∙`ЛбЭшQ╧4нв╜Л└№j│Vh.+∙▀Ш╕<еп#╟р~¤╖╧z*еsэ/рўСa$╣ Ўе%sx^у яЮ \╚$]JЯaf╧еЪdП│`6:Ц╓,ЮQ№═∙эри0+╣▒HP╚Лi╥ш╖╟д}еЎdЎ├g█Y D"╨Ў╓тD╨кqk┤oG#уўеF┴2j╫Рё√√УhL7ТКь9╦=ХX8& ┘{Чп╟╛L<╪UKJqd;чЕCТАВZ∙k▒╗Л┤ъ╗4№5╧iИeу┴╒хў~@4,Ц=о─║B║▓ v (йЕаVM|,■ТF╘;BS^Я▓UxYїG┤3╛▀07+▒ШС │ыt╜їgп-:Q№Ю▒Ж╖@~` √╗ ┴РQP{p4Фtge#N,=Я╪╚Щy2/R6╓bЩ│'6[шД▓'Ь^Шgз}ыx╜кЖУЎР\╤uЮ╜%░їэwцН1·J╓3╗J▐RМуf┐0z)}╧fЁ∙АД,ечN║╛\ №ыш╛єЯ╙бЇехеэ │фв■ЎM║t!╕ ┴╦Ъ╨ДфРFЗ╩·▀│бZ_Hyя┴ыAci╛чГўцXд}gЯ╦°Ъэ,┘ Э#%%╜C┼nш╛-еиz]}=BЛ($▀яЪ№ПD);'T┌ yYрГ╜лrщчхЩM<.Z"i╤:а╟╞┼є▌═Зp╠<Ч╛?╗─°f═МBШвFH7С╫я%╦+Q∙ЙRхеxЇiH▌·DVbUЗаЇєл@р▀─чЄ√Тa4╡? ╤lrМ] __+V9°{ IaЪ╖(д_qПOв╪БЛ П╒╥¤ оn?R-фхc!╖■fHБ├З}q<|<щРЗВC┴8T▐у░г└P0╗%°PP`(ЗВ╩├{v ╞a╖d├ уPPyxП├ОC┴8ьЦl8рCAБб` *яq╪Q`(З▌Т |((0МCAхс=; у░[▓сАЖВq(и<╝╟aGБб`vK6Ёба└P0ХЗў8ь(0М├n╔Ж>° g▌╔╢є{├МIENDоB`Вfcidecomp-2.1.1/documentation/solution-design/index.rst000066400000000000000000000006531473255640600233210ustar00rootroot00000000000000EUMETSAT WP FCIDECOMP - Solution design ======================================= .. toctree:: :maxdepth: 2 :caption: Contents document_info introduction canonical_repository support_to_usage_patterns packaging_and_deployment a_requirement_trace a_design_justification a_runners a_integration_with_hdf5plugin a_fcidecomp_stakeholders a_communication_plan a_improvements a_glossary fcidecomp-2.1.1/documentation/solution-design/introduction.rst000066400000000000000000000105161473255640600247320ustar00rootroot00000000000000Introduction ------------ Purpose ~~~~~~~ The document describes a design proposal for a maintainable solution allowing users to reliably decode FCI L1c products compressed with CharLS. Applicable Documents ~~~~~~~~~~~~~~~~~~~~ .. list-table:: Applicable documents :header-rows: 1 :class: longtable :widths: 30 30 40 * - # - Title - Reference * - [FCIDECOMP_WPD] .. _[FCIDECOMP_WPD]: - Work Package Description - EUM/SEP/WPD/21/1244304 Reference Documents ~~~~~~~~~~~~~~~~~~~ .. list-table:: Reference documents :header-rows: 1 :class: longtable :widths: 30 30 40 * - # - Title - Reference * - [CONDA] .. _[CONDA]: - ``conda`` installation instructions - https://conda.io/projects/conda/en/latest/user-guide/install/index.html * - [CONDA_VARIANTS] .. _[CONDA_VARIANTS]: - conda-build тАУ Build variants - `https://docs.conda.io/projects/conda-build/en/latest/resources/variants.html `_ * - [FCIDECOMP_CONDA] .. _[FCIDECOMP_CONDA]: - FCIDECOMP Conda recipe developed by Martin Raspaud (SMHI) - `https://github.com/mraspaud/fcidecomp-conda-recipe/ `_ * - [FCIDECOMP_LATEST] .. _[FCIDECOMP_LATEST]: - FCIDECOMP v1.0.2 repository - `https://sftp.eumetsat.int/public/folder/UsCVknVOOkSyCdgpMimJNQ/User-Materials/Test-Data/MTG/MTG_FCI_L1C_Enhanced-NonN_TD-272_May2020/FCI_Decompression_Software_V1.0.2/EUMETSAT-FCIDECOMP_V1.0.2.tar.gz `_ * - [FCIDECOMP_TEST_DATA] .. _[FCIDECOMP_TEST_DATA]: - FCIDECOMP v1.0.2 test data - `https://sftp.eumetsat.int/public/folder/UsCVknVOOkSyCdgpMimJNQ/User-Materials/Test-Data/MTG/MTG_FCI_L1C_Enhanced-NonN_TD-272_May2020/ `_ * - [EUMECAST_OS_SPEC] .. _[EUMETCAST_OS_SPEC]: - EUMETCast Operating System specifications - `https://eumetsatspace.atlassian.net/wiki/spaces/DSEC/pages/739115041/Operating+System+Specifications `_ * - [HDF5FILTERS] .. _[HDF5FILTERS]: - HDFGroup ``filters`` - `https://support.hdfgroup.org/services/filters.html `_ * - [HDF5PLUGIN] .. _[HDF5PLUGIN]: - ``hdf5plugin`` python package - `https://github.com/silx-kit/hdf5plugin `_ * - [HDFVIEW] .. _[HDFVIEW]: - HDFView Software - `https://www.hdfgroup.org/downloads/hdfview/ `_ * - [MTG4AFRICA] .. _[MTG4AFRICA]: - EUMETSAT Data Tailor mtg4africa plugin - `https://gitlab.eumetsat.int/data-tailor/support-to-mtg/mtg4africa `_ * - [NETCDF_C] .. _[NETCDF_C]: - Unidata - NetCDF-C - `https://docs.unidata.ucar.edu/netcdf-c/current/ `_ * - [NETCDF_JAVA] .. _[NETCDF_JAVA]: - Unidata - NetCDF-Java - `https://www.unidata.ucar.edu/software/netcdf-java/ `_ * - [NETCDF_JAVA_GITHUB] .. _[NETCDF_JAVA_GITHUB]: - NetCDF-C for reading (nj22Config.xml) in non-Unidata netCDF-Java based tools - `https://github.com/Unidata/thredds/issues/1063 `_ * - [NETCDF_JAVA_TPF] .. _[NETCDF_JAVA_TPF]: - Discussion on the status of support for third-part HDF filters in netCDF-java - `https://github.com/Unidata/netcdf-java/discussions/922 `_ * - [PANOPLY] .. _[PANOPLY]: - Panoply netCDF, HDF and GRIB Data Viewer - `https://www.giss.nasa.gov/tools/panoply/ `_ * - [VV_PLAN] .. _[VV_PLAN]: - FCIDECOMP WP Verification and validation plan - documentation/verification-validation-plan fcidecomp-2.1.1/documentation/solution-design/packaging_and_deployment.rst000066400000000000000000000123171473255640600272200ustar00rootroot00000000000000.. _packaging_and_deployment: Packaging and deployment ------------------------ Introduction ~~~~~~~~~~~~ This section describes the strategy to build and package the FCIDECOMP software in order to ensure support for all the required systems, and how to deploy it on supported platforms. .. _supported_platforms: Supported platforms ~~~~~~~~~~~~~~~~~~~ The FCIDECOMP software supports the following platforms: - Windows 10, 32 and 64 bit - Ubuntu 18.04, Ubuntu 20.04 64 bit - CentOS 7 64 bit Details on the selection process leading to the list presented above are provided in :ref:`a_design_justification`. .. _conda_package: Packaging as a Conda package ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Packages are built using Conda, as it provides standardised environments with a large set of pre-compiled packages. From the point of view of Conda, the operating systems listed in the :ref:`supported_platforms` paragraph can be considered as two groups of OS: in Conda standardised environment it is enough to build the package for one Linux distribution in order to make it compatible with other Linux distributions. So two Conda packages are released: one for Linux distributions, and one for Windows 10. As Conda is both a package manager and an environment manager, it allows to generate the same environment and install the packages on different OSes of the same type and architecture (e.g. Linux 64-bit). For this reason its use ensures long-term maintainability of the chosen solution, even in the case any OS listed in :ref:`supported_platforms` should reach its end-of-life before the end of the period covered by MTG operations. These Conda packages install both the FCIDECOMP libraries and its Python bindings. As a blueprint for the Conda recipe, the :ref:`Conda recipe <[FCIDECOMP_CONDA]>` for the packaging of FCIDECOMP mantained by Martin Raspaud from the Swedish Meteorological and Hydrological Institute has been used. Conda packages are uploaded to EUMETSAT Anaconda repository https://anaconda.org/Eumetsat/repo. .. _packaging_process: Packaging process ================= Three Conda packages are released: one for Linux and two for Windows (32-bit and 64-bit). GitLab CI/CD pipelines to compile, build, test and upload the Conda packages to EUMETSAT Anaconda repository are implemented. Two GitLab runners, i.e. applications dedicated to running jobs of a GitLab CI/CD pipeline, are deployed to run the pipelines: one with a Docker executor on Linux and the other with a Shell executor on Windows 64-bit, which is used to build both 64- and 32-bit packages. See :ref:`a_runners` for details on the deployed GitLab runners. .. _building_binaries: Building the binaries from the source code ========================================== The build system for the software binaries is drawn from the one used in the :ref:`FCIDECOMP v1.0.2 source code <[FCIDECOMP_LATEST]>`, and adapted from there to guarantee support for all the required systems. It uses ``GCC`` and ``MSVC`` to compile the binaries respectively in Linux and Windows systems. Deploying on supported platforms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The FCIDECOMP software is hosted on the public EUMETSAT Conda channel, and can be easily installed on supported platforms using Conda. Prerequisites ============= Installation requires: - ``conda``, installed as described at :ref:`[CONDA] <[CONDA]>` - a connection to the Internet Installation procedure ====================== The following instructions describe the FCIDECOMP software installation procedure, and are valid for any fo the supported platforms: #. Create a new Conda environment. Let's call it ``fcidecomp``, but any valid name would do (change the following instructions accordingly):: conda create -n fcidecomp python=$PYTHON_VERSION where Python versions currently supported by the FCIDECOMP software are 3.7 <= ``$PYTHON_VERSION`` <= 3.9. #. Activate the environment:: conda activate fcidecomp #. Install the FCIDECOMP software and all its dependencies (see :ref:`installing_dependencies` for more details):: conda install -y -c anaconda -c conda-forge -c eumetsat fcidecomp Once installation is complete, deactivate and reactivate the Conda environment to ensure the FCIDECOMP software is correctly configured and ready to be used:: conda deactivate conda activate fcidecomp .. _installing_dependencies: Installing dependencies ~~~~~~~~~~~~~~~~~~~~~~~ All :ref:`dependencies ` are installed through Conda (see :ref:`conda_package`) except for Windows 32-bit version of ``CharLS 2.1.0``: this dependency, in fact, is currently not present on any public Conda distribution channel. It is thus compiled and installed, together with the FCIDECOMP software binaries, starting from the source code available at its :ref:`GitHub repository `. In order to grant the ability to install the software even in case the remote repositories hosting its dependencies should become unreachable, a separate assets repository is hosted on EUMETSAT infrastructure. This assets repository hosts ``.tar.gz`` archives and Conda packages of all the dependencies needed for each release tag of the FCIDECOMP software. For a possible more general solution, which is out of the scope of this project, see :ref:`a_improvements`. fcidecomp-2.1.1/documentation/solution-design/support_to_usage_patterns.rst000066400000000000000000000104501473255640600275300ustar00rootroot00000000000000Support to required usage patterns ----------------------------------- Introduction ~~~~~~~~~~~~ This section describes the strategies adopted to ensure that the FCIDECOMP software supports the required usage patterns. .. _dependencies: Dependencies ~~~~~~~~~~~~ External dipendencies of the FCIDECOMP software are listed in the following table .. list-table:: FCIDECOMP software dependencies :header-rows: 1 :class: longtable :widths: 30 70 * - Name - Reference .. _charls_v2: * - CharLS v2.0.1 - https://github.com/team-charls/charls/tree/2.1.0 * - zlib - http://zlib.net/ * - netcdf-c - http://www.unidata.ucar.edu/software/netcdf/ * - hdf5 1.10.x - http://www.hdfgroup.org/HDF5/ * - h5py - http://www.h5py.org/ The procedure used to include the listed package in the FCIDECOMP software is described in :ref:`conda_package`. Envisioned strategies to support higher version of the listed dependencies, in particular with respect to the ``CharLS`` and ``hdf5`` libraries, are described in :ref:`a_improvements`. .. _integration_with_netcdf_c: Integration with generic tools based on netCDF-C ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Version :ref:`v1.0.2 <[FCIDECOMP_LATEST]>` of the FCIDECOMP software, already satisfies the HDF5 filters interface; FCIDECOMP is a registered with filter id 32018 (:ref:`[HDF5FILTERS] <[HDF5FILTERS]>`). Integration with utilities relying on the ``netcdf-c`` library (:ref:`[NETCDF-C] <[NETCDF_C]>`) is therefore ensured, provided that: - the location of the FCIDECOMP filter library is specified in a specific environment variable, ``HDF5_PLUGIN_PATH``; - the filter id (32018 for FCIDECOMP), if required by the utility, is specified. .. _usage_as_cli_tool: Usage as CLI tool ~~~~~~~~~~~~~~~~~ In order to provide a baseline support for CLI usage of the FCIDECOMP software, ``nccopy`` (a software utility included in the ``netcdf-c`` library) is chosen as reference standard CLI tool. To streamline the ingration with ``nccopy``, the FCIDECOMP Conda package (:ref:`packaging_and_deployment`) provides to: - put the filter's library to a specific path at installation - set the ``HDF5_PLUGIN_PATH`` environment variable automatically. The FCIDECOMP software documentation also provides instructions on how to call ``nccopy`` to decompress files using the FCIDECOMP filter. Integration with Python ~~~~~~~~~~~~~~~~~~~~~~~ Integration with Python is provided by a small Python package developed ad hoc, which satisfies the required ``h5py`` interface to make the FCIDECOMP filter available for Python applications. Such package, based upon a stripped-down version of the :ref:`hdf5plugin package <[HDF5PLUGIN]>`, is essentially composed of an ``__init__.py`` defining the filter interface to ``h5py``. See :ref:`a_integration_with_hdf5plugin` for details on the proposed integration with the widely used ``hdf5plugin`` package and interaction with its maintainers. .. _integration_with_data_tailor: Integration with EUMETSAT Data Tailor ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ At the moment, the Data Tailor supports reading compressed FCI L1C products through the optional ``epct_plugin_mtg4africa`` :ref:`customisation plugin <[MTG4AFRICA]>`, which in turns install FCIDECOMP by installing with ``pip`` the ``hdf5plugin`` package. The approach to integrate the described solution with the Data Tailor includes a revision of the current build and installation approach for the ``epct_plugin_mtg4africa`` customisation plugin, so that it installs the FCIDECOMP support and its dependencies from the new Conda package (see :ref:`packaging_and_deployment`). .. _integration_with_netcdf_java: Integration with tools based on netCDF-Java ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :ref:`Panoply <[PANOPLY]>` and :ref:`HDFView <[HDFVIEW]>` have been identified as the key software based on netCDF-Java to support. The integration of the FCIDECOMP software in these applications is achieved by instructing them to use the netCDF-C library (instead of netCDF-Java) to read netCDF files (see related :ref:`github issue <[NETCDF_JAVA_GITHUB]>`). Support is then granted by describing the aforementioned procedure in the FCIDECOMP software documentation. The issue of a generic integration with :ref:`Unidata Netcdf-Java <[NETCDF_JAVA]>` is discussed in :ref:`a_improvements`. fcidecomp-2.1.1/documentation/solution-design/traceability_sdd.csv000066400000000000000000000021611473255640600254770ustar00rootroot00000000000000"[DTWS-FCI-010]","The solution shall be compatible with all MTG user stations that match the approved baseline.",Y,:ref:`supported_platforms` "[DTWS-FCI-020]","The solution shall be included in standard installations of the Data Tailor software.",Y,:ref:`integration_with_data_tailor` "[DTWS-FCI-030]","The solution shall allow users to read FCI L1c data compressed using CharLS directly, i.e. without requiring the use of the Data Tailor. The solution shall be compatible both with netCDF-C and netCDF-Java.",Y,:ref:`integration_with_netcdf_c` :ref:`usage_as_cli_tool` :ref:`integration_with_netcdf_java` "[DTWS-FCI-040]","The solution shall utilise only software that is licensed in a way that is compatible with any use, i.e. free and open source software. Any dependencies shall be archived at EUMETSAT to ensure that they remain available even if their repositories in the Internet should become unavailable.",Y,:ref:`creation_of_canonical_repository` "[DTWS-FCI-050]","The solution shall be maintained by the Contractor for the remaining duration of the Contract.",Y,"Contractual requirement, doesn't need to be covered by design" fcidecomp-2.1.1/documentation/verification-validation-plan/000077500000000000000000000000001473255640600240735ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-plan/Makefile000066400000000000000000000011041473255640600255270ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)fcidecomp-2.1.1/documentation/verification-validation-plan/_static/000077500000000000000000000000001473255640600255215ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-plan/_static/Barlow-Regular.ttf000066400000000000000000003000441473255640600310660ustar00rootroot00000000000000GDEF7╟8м9шЄGPOS<(пд:▄6МGSUB▀▓╨╤qh║OS/2T╬бэ `cmap_4=│ x.cvt Ъ0!ШаfpgmЮ6╥иgasp9рglyf╛╝W·Шhead6▒(6hheaЎ═ Ї$hmtx Lg` Тlocaш╨)√╘Rmaxpё|√┤ nameNZye"8|post(й"Ъ%┤,prepnРF └╓г╝ 1=U@RА~i i Y _O22 2=2<86 1 /%#  +03!254#!"6554676654&#"#'"554632##&54632#Ы■e░-&&0  L=6Lg g_L@'AL¤╚^m╝3=@: Li_;;424#424# +##"##"54#!"##"54##"5543325543323!255433233554#!"3!p / 3 ■┴ 3 / / 3 ? 3 /z■┴?0 ■ 3■═ ю ~ ~~ ~▒uu  ^3">Бщ├▒░├░5+^е╝ @L LBQQBщ ■>_4   °<"LБ`├▒░├░5+^H╝'&@#!L * ьLjk ■═й┼э^n╝)(@%% LА1K(jHRrШM ■╘ N;ЛA2/<GUbR10 C4<0(  6?PG■П=3493?+╝!@_ГЧ▒░░5+  . °╗N"нб┐▒░░5+  . °╗y"нв┐▒░░5+  . °╗1"нг┐▒░░5+  . °╗║"нВв ■ ▒╕ ■░5+  . °╗╝"нБЯ  . °·"нд┤  . H╗╝"н#Л>БЯ  . °╗0"не╢  . °╠Y"нж╢  . °╗:"нз╢  . °╗╔"н|Н  . H╗"нЛ>  . °╗╝"н~  . °╗с"нЗA  . °╗Е"нЬy. F╨CPЗ@&8<LK░&PX@(gaEMaCMaAN@%geaEMaCNY@DDDPDOKGB@53*(#!' +2#"&'&5476&##"554&#"&546332554&#"''&76632327&6554##"3─1; P1G`mat9<0< 6  gMZb! вViBP=1К 6. )HJKW&3;%!  7D\L■ж.└;2N60,-  . °╗"нДf  . °╗║"нЕЪ. °BQ^Т@  <LK░PX@&  g aEM a CN@1  g aEMa CM a CNY@ RRECR^R]YUMKCQEQBA(&&&)%$ +&546332554&#"''&7663276632#!"3276#"&'&"#33254'&&#"6554##"3Тdlbt;=.> 3  gJ;UU4Di ■╟M9[" #cC9We?▐∙ D01BЭUjCN>2DHJT+4?&  7D1'%4K?99 &26I 1@.'(.*++76,-ї96B/-*/P °с╝":zK░PX@ L K@ L KYK░PX@H + и ь I@р5/17!()"6105#**$@ °┘14@1LАaEMaCN10($(( +&'&5476632#"''&&#"3267576#╟g hHIk 2 F22C C21G  1 lIK@,PH2>KJ7  &55,&?B$-53(  :H  @ °┘╝"╞д  @ °┘╝"╞Хp@ F┘No@ 6" LK░&PX@$А~aEMbAN@!А~faENY@LJB@<:20 +%76"#"'&77663267654&'&#&&'&5476632#"''&&#"3267Р 1 ]A31 8P hHIk 2 F22C C21G Х  5F,2  . G7,PH2>KJ7  &55,&?B$-53(  @ °┘╝"╞Бо  @ °┘╞"╞}JA °╤╝":]@  LK░PX@-RS)@Iы¤х6007")(!71/5$**#@ °╨╝EY\@@<5.(LK░PX@-RS)@Ir  B B■+6007")(!71/5$**#A ў╪%4/@,gaEMaCN&&&4&37))&# +#!"32676#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'dAG`gI[b ·A  C36* 7-4&#  07B;0Z*5AN\Tr3+/--5  A ў╪╝"╨а  A ў╪║"╨Вм ■ ▒╕ ■░5+A E╪?Nq╡LK░(PX@&АgaEMbAN@#АgfaENY@@@@N@MGD=;+)!&# +#!"32676#"'&776632654'&#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'S531  7:PgI[b ·A  C36* 7-4&#  *5+2  *,@40Z*5AN\Tr3+/--5  A ў╪╝"╨Бк  A ў"╨д┐  A ?╪╝"╨'ЛM ўБк ▒╕ ў░5+  A ў╪0"╨е┴  A ў╪Y"╨ж┴  A ў╪:"╨з┴  A ў╪╔"╨|Ш  A ў╪╞"╨}F  A ?╪"╨ЛM ў ▒╕ ў░5+  A ў╪╝"╨~(  A ў╪с"╨ЗK  A ў╪б"╨ЖСA F╪@Ov@ 0$LK░&PX@&АgaEMbAN@#АgfaENY@AAAOANHE><*(&# +#!"32676"32772#"&'&5476'&&'&54676632&3!25&'&&#╪ ■╜ H8*@'T76  .3:OgI[b ·A  C36* 7-4&#  *6,) 1,@40Z*5AN\Tr3+/--5  A ў╪║"╨Ее= °╘%4/@,gaEMaCN&&&4&37)&&& +#"&'&5543!25&'&&#"''&766367674#!"3╘gI[b  C H8*@'dAG`ЗA ■¤ C3UZ*5AN\T* 7-4&#  07B;■▒3+/--5> <┌·63@03Li_?MaAN3[%(&  +32#"'&574632654&&#"#"''&54776&##"5543!2╓Vr5GzLEBB?Ym(T>0<эї V ╩ @g?Kj5 +TS/Q1┬ - -ж  > <┌║"уВз ■ ▒╕ ■░5+"9╝,5@2!La ~1; - ■U л - >G! * = 9╧+A┐@+' LK░ PX@ a?MaFMaANK░ PX@ a?Ma=MaANK░PX@ a?MaFMaAN@$?MaEMaFMaANYYY@ (-)'6$0 +332#"'&574626554&#"&'&54676632655654&'&&#"3267И 3 Бq ]T.UAe ^BY.?0/A C01?· ■!ph .IO%╤╝9;@84Li  P╤|"ьВл└▒░└░5+  P╤m"ьБ┤▒▒░▒░5+H╕╞ LK░2PX@a45? 3 3 E*4JP3ZN■▒ A7A@6■╜ A7A@6■╜ ц (*())P╤!L╡LK░"PX@a?M=N@?MaEM=NY@ ! 34$4 +##"54&#"##"54332763r_ 3 C57D 3 3 ,[^O■╢ <7FD7■┬ ц +>  P╤╝" е  P╤╝" ХqP S╙-[@$ LK░"PX@ea?M=N@e?MaEM=NY@ &34(#$ +%3"5543655'&54&#"##"543327632╥GU UC57D 3 3 +[P_╬╓RQ ' b<7FD7■┬ ц +>^OВ  P╤║" Ек? °с',@)aEMaCN'&( +&'&5476632#667654'&&#"3╔hhJGggH0D  E11D  E2JA.MM-@JJ?+PQ*AJ>5-$AB#-55-#BB#-5  ? °с╝"в  ? °с▓"Гд▒░░5+  ? °с╝"Бм  ? °"д┴  ? Hс╝"#ЛKБм  ? °с0"е├  ? °сY"ж├  ? °с:"з├  ? °с╔"|Щ  ? Hс"ЛK  ? °с╝"~*  ? °сс"ЗM? °сK#71@.LЕaEMaCN(.7(% +#"&'&54766323667433254'&&#"3267сgHHhhJ!'  39 E11D  E20D NPQ*AJJA.MM-@J$ 0$@╜AB#-55-#BB#-55-  ? °с╝"в  ? HсK"ЛK  ? °с╝"~*  ? °сс"ЗM  ? °с╛"ЕЪ▒░░5+  ? °с╝"А▄  ? °сЕ"ЬЖ6 р█ +;K4@1DA0'LaEMaCNIG53% +#"'&''&776'&'&5476632776276'&#"$54'&'&3267█ gHE1 $&  hJ=. $# ■╛┴ '1D  ╞"/0E MOP+AJ!/ 7.MP*@J/ 3&щ5-!DD!FH■▌5-  6 р█╝"$Я  ? °с║"Ез@ °6JYJ@G! Lg aEM aCNKKKYKXROHF><65&&*&) +$676#"&'&#"&'&&5467663276632#!"3&54'&&#"32673325&'&&#ИC !^>7VW4FefF4VU3Gh ■─ F6╪ B0/A  A/0B вA · C05)" 19.)(/K?8,.7>K/((/M=88 9.5|ML,66,KI,66,,6,46,6W >ш":]@  LK░PX@a?MaCMAN@?MaEMaCMANY@ **'37% +#"&'&##"5433276632654&'&&#"3267ш _H'B 3 3 A(F_D  =*(6  7&(; LOP,@Iы и * H>ч71/5$**#6007")(!P 8▄╝#>3@05 L  >/0Dd:./4?L$ ∙ p ЄCJ;╫&12&*63'┴)56*A >╤":^@ " LK░PX@a?MaCMAN@?MaEMaCMANY@ *.('30 +332##"554&#"&'&5476632655654&'&&#"3267К 3 3 B'G` _F(A  6(*=  :(&7 · ¤X ыI@)SR->H *■ж7006#**$5/17!()"P] L╡LK░.PX@a?M=N@?MaEM=NY@ 34 +'&###"543327663=   4D 3 3 A+   1 I8■┘ ц =%)  P]╝"+n  P]╝"+Х:8 √░ 66@3А~aEMaFN65$5,$5 +&&55433232654&&'.54632##"554&#"#╛W/ 0 E44@!-/8H1dR7U. / A73> DCLE<; ::@D>;J 3 Ї]jeV5K\?]h ) JDBJ % >7■ $  3|,+@(Еa?Ma=NB4#C!5  +##"332##"&54##"5543325543323323 q+. HJ= = 1 q ┐■┘0' ) 6I= ' t t '$  3|D<@9 Еi a  ?Ma=NB><953C#C!5#C +##"332##"332##"&554##"554332554##"5543325543323323 qn n+. HJ7 7= = 1 q ┐[  Х0' ) 6Iл  [ ' t t '  $  l╝"4ЙrH ∙╔·"D╡ LK░"PX@?Ma=N@?M=MaCNY╖$5&30 +332##"554&#"&&543323265В 3 3 *[0Q/ 3 @79C· ■ +>'J4R ■├9CD8=  H ∙╔╝"7г  H ∙╔▓"7Ге▒░░5+  H ∙╔║"7В░ ■ ▒╕ ■░5+  H ∙╔╝"7Бн  H ∙╔╔"7|Ы  H H╔·"7ЛE  H ∙╔╝"7~+  H ∙╔с"7ЗOH ∙(K-a@* LK░"PX@Е?Ma=N@Е?M=MaCNY@-+4$5&8 +##"554&#"&&543323265433267433(2& 3 *[0Q/ 3 @79C / K +7 ■: +>'J4R ■├9CD8= $#   H ∙(╝"@г  H H(K"@ЛE  H ∙(╝"@~+  H ∙(с"@ЗO  H ∙(║"@Еи  H ∙╔╝"7А▌  H ∙╔Е"7ЬЗ= 9╧╕ 9Oї@95#LK░ PX@-А'J4R ■├9CD8= ■ +'  H ∙╔"7Дt  H ∙╔║"7Еи ╛·!@ L?M=N74 +2''433227632##╚д 9 }} 9 д :ч■xИ ■▓·+!@$ L?M=N(%'74 +2''433227633227632##"'&"##▒О 4 jl 0 mm 4Р5mj6ч ■vК ■vЙ ■v■К  ▓╝"S№  ▓╝"SБ  ▓╔"S|є  ▓╝"S~Д├·, @%L?M=N(() +2&776''&543322776332##"''&"##зз 6ГВ;зз7ВД9юю╜╜юю╜╜ 8╢·"(@% L?MaAN" 783 +55433>76''4332276332##2 '+й 5 ВА 4 ╣*?9╚ ( 9:ь■lФ ¤хC@   8╢└"Y|▒░░5+   8╢└"YБЖ▒░░5+   8╢═"Y|t▒░░5+   8╢·"YЛП   8╢└"Y~▒░░5+   8╢х"YЗ(▒░░5+   8╢╛"YЕБ▒░░5+"Щ·/@,L_?M_=NU3U +255476&#!"5543!23!2#!"■Ё _ ■с ■Э 0n - 0■Т -   "Щ╝"ar  "Щ╝"aХ>  "Щ╞"a}  "╞"хЁd  "√╝"хd  ^ °ц╝"AL"d╞ 7coт╢c*LK░PX@5 a 6Lg g_(Ma)N311:3:5$23C#C +#!"332##"3!2#!"554##"##"&763!233254"я ■р└ └ ■Ю ╠4 90 Ж ¤╫лм╣ * ╜ * ^b. +■Ъ?■┴L▀A -/@,g_(M_)N!!!-!*%$G36+##"54332&332654&##654&##"33~-/eS╤ ╠UaUЁП1;;1П┼<=2ТХ*F1KR - OKX#╓╡4)+5■=7..8├: °╙H&<@9 LА~a*Ma+N&%4%$4%+&554632#"554&#"32655432#кpp]\p3 M@9EJ<<2ш3;■DLA3=@: Li_(M_)N1-*(%!#5 +##"54##"554332554334&##"332##"33265нhgW╦ ( ( ╦w?5Н^ ^О4?AYJ√KX   Ё н3;╖  ╦<2  L▀"~ВлI▒░I░5+  LAL╘@#)@&g_(M_)N33C#C +#!"332##"3!2#!"543!2╘ ■═╒ ╒3 ■М t ╣ * ╜ * , *  L╘"Вк]▒░]░5+  L╘"ВВ╖Z▒░Z░5+L N╘@?4@1ge_(M_)N3D()#C#C +#!"332##"3!2##"#"'&776632654'&##"543!2╘ ■═╒ ╒3 к11 6Л t ╣ * ╜ * +2   ), , *  L╘"ВБ┤]▒░]░5+  L╘&"В|в]▒░]░5+  L╘#"В}Q]▒░]░5+  L╘"В~3]▒░]░5+  L╘■"ВЖЫ]▒░]░5+L N╘@@:@7'Lge_(M_)N3V)&#C#C +#!"332##"3!2##"32772#"&'&5476&##"543!2╘ ■═╒ ╒3 п6  /1Е t ╣ * ╜ * ,) 0* , *L╙A#@ g_(M)N34#C +#!"332##"##"543!2╙ ■╬╘ ╘ 3 s ╣ * ї - +@ ∙ЁH-8@5Аga*Ma+N-,3C%$4%+&554632##"554&#"326554##"554332#╢vvdau 2 NBDPPDCM| ╝ uama│aml^ CILF▓EJJE ) T`n  @ ∙Ё"НГЮO▒░O░5+  @ ∙Ё"Н}BN▒░N░5+LфA#!@g(M)N234230+332##"554#!"##"543323!255Э 3 3 ■■ 3 3 A ¤╙ її - ЄЄ ё@A;G;@8   g  g(M)NGDA>;8424#B424# +##"##"554#!"##"54##"5543325543323!255433233554#!"3!@ N 3 ■■ 3 M M 3  3 NЩ■■╫ ■k її Х \ \\ \ЦZZLУ@ @(M)N 3+254332##L 3 3 , ¤╘   D┼"ТL▒░L░5+   Ёы"ТБL▒░L░5+   т¤"Т|¤L▒░L░5+  7з"Т}лL▒░L░5+   У"Т~НL▒░L░5+  L ∙ЕA"ТЫ▀   щЎэ"ТЖЎL▒░L░5+   Fй"Т#Ол}лL▒░L░5+ ∙жA(@%А(Ma+N4$4+&55433232654332#Дm 3 F::G 3 nZjX  * к;W6 ■з┬лLA)(@%% LА(M)N#8'30+332##"54&##"''&##"54332277╘4 3 ВГ 3 4ЪЩA ¤╙ ╜╞╟■B - ыыLЎ@@ L(M)N#8#0+332##"'&##"5433265п 3 5■ь 3 5@ ¤╘ │■Q , ■Mп  LЎ "г┤P▒░P░5+  LЎ "гВ┴N▒░N░5+L xЎ@-3@0)&"Le(M)N-+#:#&+'"55432674'&##"54332655655433ЎBR *#■ъ 3 5 3@ ¤╤H> ) #&╢■Q , ■P6m   LЎ "гЕ╣P▒░P░5+: ∙рH,@)a*Ma+N %+&554632#66554&#"3нss`?_5t_?MM?@LL@r`к`s4_@к`r=ODнDOODнDO  : ∙р "игN▒░N░5+  : ∙р "иБнN▒░N░5+  : ∙р"и|ЫN▒░N░5+  : ∙р "и~+N▒░N░5+  : ∙р "иА▌N▒░N░5+  : ∙ря"иЖФN▒░N░5+0 щьW'5C5@2 ;7-) La*Ma+N@>20)+#"'&''&776'&5546327766276'&#"$'&&32655ь&t_K5%% s`J6&■Э▌$7@L▄#8?M492Fк`r$.82Gк`s%.■wMODн╟■▓ODн  : ∙р"иЕиN▒░N░5+: ∙цH8F▐K░PX@ 2/LK░"PX@ 2/ L@ 2/ LYYK░PX@"ga*M a)NK░"PX@,ga*Ma)M  a)N@2ga*M_(M_)M  a+NYY@999F9E(6''3C#C +#!"332##"3!2#!"554&#"&&55466325543!26554&#"3ц ■э╡ ╡ ■м G)3R//R3)H T ■RFF:8EE8╣ * ╜ * #0W8╨8W1$ +■*F9╘:FF:╘9FF▌B0@-g_(M)N4$+##"##"5433654&##"33~_`NЮ 3 т*;;/ЬЬB[JIZь . ■Є9./:╚F╔A%4@1gg(M)N%"34$+##"##"5433233654&##"33l]_NЛ 3 3 Н,88-ММ├ZJIXp - p■ї8..9┼0 е┴H&+@(Lea*N$":+##"554'&&554634&#"3265SnVJ 3 KWn[БG:;GG;:GHo]╝Pi H H hQ╝]o╚?JJ?┐?KK?LсB,3@0Lg_(M)N,*&"342+ ''&##"##"54332##332654&##ЪzВ 3 ▌L\@6~6■ЁХ/::/Хїё . ZI;R Ї─8-.9  Lс"╡ФG▒░G░5+  Lс"╡ВбE▒░E░5+. ∙╠H46@3А~a*Ma+N43$4+$4+&55433232654&'.54632##"554&#"#Эo 1 LE>BBQEG.f]ak 2 GC:?19EP3lbSJ -82+%2 ";/IPWK -9-+#(?0IU  . ∙╠ "╕ОN▒░N░5+  . ∙╠"╕ВЪL▒░L░5+. G╠HO;@8LА~~fa*N$4+$<(*+$"#"'&776632654&'&#&&55433232654&'.54632##"554&#"╠[T30  T] 1 LE>BBQEG.f]ak 2 GC:?19EP3UT+2  .RC -82+%2 ";/IPWK -9-+#(?0"╠A!@_(M)NB4#+##"##"54##"5543!╠ ж 3 б ЦA + ■ Ї + "╠A/)@&g_(M)N3C#B4#C +##"332##"##"54##"554332554##"5543!2╠ жq q 3 j jб Ц Р  ■╙ -  Р + +  "╠"╝ВЧE▒░E░5+  " B╠A"╝М[E ∙у@!@(Ma+N4$4+&5433232654332#╖r 3 J?=J 3 q]m[u ■К?JJ?v ■Л[m  E ∙у "└лP▒░P░5+  E ∙у "└Б╡P▒░P░5+  E ∙у"└|вP▒░P░5+  E ∙у "└~3P▒░P░5+  E ∙у "└АхP▒░P░5+  E ∙уё"└ЖЬP▒░P░5+E Nу@6,@)# LАf(N$=)-0+332"32772#"&'&5476'&&543323265Ь 3 eT. 1,N[ 3 J?=J@ ■ЛVk'' ,+ iQu ■К?JJ?v  E ∙уk"└Д{P▒░P░5+ тA!@ L(M)N74+2''4332276332##┌╢ 6 УУ 4 ╕ 8.■-╙ ¤╥▄A+!@$ L(M)N'5'74+2''4332276332276332##"'&"##├а 6 vq 7 tx 3Ь 3 ws 1. ■H╕ ■H╕ ¤╥ ╡■K   ▄"╩G▒░G░5+  ▄"╩БG▒░G░5+  ▄"╩| G▒░G░5+  ▄"╩~ЪG▒░G░5+"тA) @" L(M)N()((+2&76''43322776332##"''&"##&╡╡ 7РР7╡╡ 7РР7сс■ю■я▀▀"╥A#@  L(M)N'8+6554'&543322776332##╒░ 6 ЙЙ 7▓ 3 ш=№№■├ш   "╥"╨ПF▒░F░5+  "╥"╨БШF▒░F░5+  "╥"╨|ЖF▒░F░5+  "╥"╨~F▒░F░5+$мA/@,L_(M_)NU3U+255476&#!"5543!23!2#!$2■╫ t ■╬) ■М 0╢ + 0■I *   $м"╒|R▒░R░5+  $м "╒ВИP▒░P░5+  $м"╒}"R▒░R░5+°#─&3?Y@VLKАi g iW_O''=:74'3'2.*&%&4)% +2554&#"''&76632##"554&#"&54636554##"3332##"55ъ)()  C0:C  D1>J?9F,4(!v ° ° 4#*  #,=2┌ '/.2:д(#0"!d  °=─'3@@=iiW_O(((3(1.+'&( +&'&5476632#667654'&&#"35543!2#!БA B/-A A-))(*П  ■ўo0+11*00*35*1+"/.!!++!в " "  ^╝0@- LM_N&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤шH9─=/@,%LaM_N=;+3W*#+25543326'&&5546632332##"5547>554&#"##H S(-;lGGm;-)T ╗ 6!\LK\!6 ║ * Y9ьEi::iEь9Y * ,-F+°L\\L°+F-,   P 8╨·d'_·+%@"_MaN3B44#& +##"2#"&&54##"##"54##"5543!2_ I  ):%э 3 P $ ╜■р%& ) 54?■Q п ) )G Ўю┼ ,@)aJ>C=JJ=■╜>J:╝@ L * *(Ф\wB5@A5 (M^.Q3Ux?й2 °┬╝;:@736LА~_0 ,3P!1<&H #╬ * 1└^1ъ╝.7@4+LjD@A5 LА~i_ E>&:@D>(68Ra^M 3@C7У<83Я-4%*+&2,&.+)$├╝O@  LK░PX@r_ 68#749 °╚├(<>@;LАia-+> <,6■╚Ra_L 3@C7Т;83*H=':@E=√+&4+&.+)03$+> Ў╨┼ ,@)aJ>C=JJ=■╜=KRu╝@ L 0 E7╪─+8@5 LАa * *7ЛUwC5@A5 (M^.Q3TyFА<4 °╦╝?:@769LА~_1 (,3('',<'#$ #╬ * 1└4-)┌╝.7@4+LjD ∙█─(<7@4 KАiaGG=$89Qa^M 3@C8Х"БЖ+/(33**'(5/.2ю╝O@  LK░PX@r_ °╤╞&:L\╢"LK░2PX@ia@;LАiaБ@<>GG=∙3*.+(5///.)3  °$з *@'iaCN % +&554632#66554&#"3fFF;;HH;%++%#,,#D9╖8CC8╖9D-)#╜#*+"╜"*Лд"@ LАa=N%3! +332##"54##"55477W#  2 3д ■p f  #&й)2@/LАi_=N)'F$4+ +25547677654&#"##"556632332##$,H9)! (  E48D6?:░ ю 3WD'$$ /9>/2GQA  % ∙в<j@58LK░ PX@!r~gaCN@"А~gaCNY@ 3Z&%5% +$#"&'&'4332327654'&#"#"''&4776&##"5543329'*=   %+ * eа ▄ Z8о.)!,&  #!'#p  i1.д.7@4+LЕja=N..4D&B4# +$##"##"554##"55477633233255433233.   п u p{  Я  c c  ЇX X  °б:B@?3 LА~giaCN!&%6% +$#"&'&'54332327654'&#"##"554332##"7632 :(+=  $- ,%" ╥ ж.$5з($!#+%  '& с  А" % °ж';6@3LАiiaCN(('#4'% +$#"&'&554632##"54&#"763254'&&#"3267 @+*< B82A  % '.'< ,$$%#г$!$,,$$╖3<:. $&"K+#N  дK@  LK░PX@rg=N@Аg=NY╢&34C +2&76&##"##"554332##PЕХ  ъ Ж"g! G ■Ц  °з'=Q7@4='LiiaCNOMEC97-+) +6#"&'&547676'&'&5476632&326765654'&&#"54'&&#"3267с  >,*=   ;*+=  У#%%#С&#$%▄!#*)$#"#%!P  ╥  °ж(>6@3LАiiaCN*(('$4$ +#"&554332326554&#"&'&547663254'&&#"3267B82A  %!'.'<  ?+*< ,%"%#B$╖4;9/ $&!L+##%#-,$P   $─є ▒╕░5+  Л╝Ї ▒╕░5+  #&─ї ▒╕░5+  %┬Ў ▒╕ ░5+  .╝ў ▒╕░5+   ╗° ▒╕░5+  %─∙ ▒╕░5+    ╝· ▒╕░5+   ─√ ▒╕░5+  ─№ ▒╕░5+  ║Л^Ї║ ▒╕║░5+  #║&cї║ ▒╕║░5+  %│\Ў║ ▒╕║░5+  ║.^ў║ ▒╕║░5+   ▓[°║ ▒╕║░5+  %▓`∙║ ▒╕║░5+   ║ ^·║ ▒╕║░5+   ▓a√║ ▒╕║░5+  ▓`№║ ▒╕║░5+ Йl╝ @54&#"#'"554632##&54632#░*+"@56A 3 jVTf(!"" 4  ╚ ;+6"!.2=>2  Ob`P,@((7 ╞  * /еЄ 3mK░2PX@&А~a?MbAN@#А~fa?NY@ 3 1&$  $ +#"&546332655432#"&546676655433 #+*!?56B 3 jVUf(!"" 4Є  ╞ ;+7! .2=>2  Ob`P,@((7   2▐вN р▄▒░▄░5+'Ч~ @YaQ $ +6&54632#kDD0/DD/ЧE/0CC0/E ЙmыC*@'=1$LYaQCA" +574#"''&547764''&&77665'433277632''&##пo nn o  o oo o Й z@==@z z@==@z HKдWcнK░PX@'  Еg _  ?M=NK░"PX@'  ЕЖg _  ?N@.  ЕЖ   hW_OYY@c`]ZUQMKGD@>:8C#D$4$#C  +##"332##"#'"&774##"#'"&774##"574332574##"5543325763233257632332574##"33J LC  K 3Я 3@  I? I 3Ю 3C ║ЯЯнЯ * л зл з * Я + л зл з +▒ЯЯG╝ @ +%76"##"574'&&'&54766765'43323#"''&&#"3267Р 1 ]@ , 8M N7 , A\ 2 F22C C21G я  5EG I G5,PH24F I FG2  &55,&?B$-53(IЇEU=@:71)A$L.J Iea?NRPJH64 +$#"''&#"'&''&776'&5476''&547763276327766326654&&#"╚$A >2@=1; ='$@=2AA5A E!■░%?%%>&&?$%?%ю1A>$!;<3B@2@=$(AD1=$>%$>%%?%%?%5 г°KB@?1( LА~iYaQA?;8/,$96 +$"##"574#&&55433232654&&'.546725'43323##"554&#"°cY , [f - [PHL#HCHM1^S + Xd / VLCH#ADEU3db H H cM :GA6#2,-G6M[N O dN :J:7$/#4K6H ў:─VS@P-LА g   ga_3F FF Fr^Up 3I8>KЄ  ц╨  ─K>6>4  KZ2\D└ └-> * ,@*u ' Н\hE@ ,)DAО ' sO+J  <╝W7@4NA>2) QLА~7ї 3 >uP52 bpbp 3 КШКШDe8 ?mH  +;╙ ╛'*;'*■°6W4^Ч╜8E=@:  gg _#C#B4#C#S +332##"332##"##"554##"554332554##"5543326'&5433227633M╛u ЖЖ Ж 3 Л ЛЛ z╛ 6 ий6╝■и  R  У У  R  X■╧1'├к @YaQ $+6&54632#kDD0/DD/├E/0CC0/E!├╝ @Еv%$+2&76332##%^ -■г .й¤W'j═#MK░PX@gaEN@YgaQY@# 4#B4# +##"##"554##"55433255433233═ ж * ж ж * жX * в в * к к'═X @W_O 3+5543!2#!' Т ■n * * +Ш{ш+│!2+"''&"''&4776''&477627762{ussuvxxv┬ussuvxxv'{═ #@@=igYaQ #"   $ +&54632#5543!2#!&54632#у ╥ Т ■n▓ ╕С ) ) м  '╡═─&OlOЫ▒░l░5+▒╕ Ы░5+'_═3AK░ PX@)pq hW_OK░ PX@/pqX hg_OK░ PX@)pq hW_OK░PX@(Еq hW_O@'ЕЖ hW_OYYYY@?:$#S#T$#S +##"332##"##"&776&##"554332776&##"554332776332332═ ХC┘ °' $b БC┼ ф- *v НМ ) SL ) М ) _X )'.═я│2+7"5547%6'%&5546/Q■пУ■m. 1ШШ1╝0╝'-═ю│ 2+$'%&5547%72═■mУ■пQ2╝0╝ 1ШШ1  '═6'O■цTG▒╕■ц░5+▒░G░5+'═6" @ JW_O +$'%&5547%72#!"5543!2═■mУ■пQ ■n Т y╝0╜ 2ШШ1~ ) )  '═7&N'O■ц▒░'░5+▒╕■ц░5+  'Т╬ц'[Д[л▒░Д░5+▒╕ л░5+'в═X>K░ PX@qW_O@ЖW_OY╡B30 +3!2##"554#!"55' Т + ■з X в j *'ч╬b"0▒dD@%YiaQ"!%)$ +▒D$&'&&#"''&7663232676#;*#1@(%#$ 9%ч )")  !'*3Ч╝!▒dD@LЕv(&$ +▒D&76332##"'&"##.Т/У*vv*3u■Л4■╠'а╣▐-;J@G6" Li  Y  aQ.. .;.:42 - ,(&&&& +#"&'&#"&&5466327663676'&&#"3 654&#"3HH))I05O&%M2+G*)I-4K#*Q0■╧:""6'-89)Г98,(?%"<*▐*I-,H*5418*J,,H*6252■√314.9,,;9,-:1230" 8t╝(@%iYaQ3&3+5'433265>72##"# 7( ON  7)!NN╚ * 1;4FE * 1;¤╠FE  H9─▄ ^╝6@3 LЕW_O&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤ш^ 81 '@$ЖW_O423+##"54#!"##"543!1 3 ■├ 3 ┐ №, Ь№d ╘ ^ 9*┘%2@/LgW_O%#W#<+55476'&5543!2#!"3!2#!^Ёю ╖ ■ОЁёs ■H╟ ,пd- * ■Я■T )   8С*@' LЖW_O#?+''4?2276332##"##еБ/_ш ╬ Ьў 6╚b■∙\ ) №k P 8╨·)V@ " LK░"PX@?Ma=MAN@?M=MaCMANY@ $36&30 +332##"554&#"'&##"543323265Й 3 3 *Z8, 3 3 ?29C· ■ +>═ о ■░18D8=@ °¤├#2A@>&LiiYaQ$$$2$1(*'%$+#"&5466325&'&#"#"/47632674'&&#"3┘$gЖ^r:b;,N 1,O219Dr>ONN0+F)N?;ШSУ┼udDf6 ДE>,%S¤╞ql(4(I0FW^ ўЇ┼)9EТK░PX@+  i ja*9*820)($"& +&&546632#&76332##654&#"3&&546632#6654&#"3╟B''B''B&&B'{ ■Ж !?77((88(QB''B'&B&&A'(78')88)й&A''A&&A''A&■Wй¤W╫8((87)(8■ &B'&A&&A&'B&.8)(77()8    °Z─"¤#(#є°є6' ╥─ъ@LЕv'&+'&76332##6276'&"┘мн%он'ЗЗЗЗ.}}■Г■ГM::■╞■╞? г√iWoпK░.PX@ *  JEL@ *  JELYK░.PX@, i  i iYaQ@3  А i  i iYaQY@mk`^WV-&'('*&' +#"&'&#"&'&54767663225763323267654&&#"3267632#"&&54663676'&&#"3267!НM ZD#57 6D J., &*; BuLVЩ_*Xv1*6>&B)'0¤│##*!a'L005$ 8х╝*@'L_╝ №Р A№┐ ┤=d=?g;4 1О├L]Z@WCLА~ ~~a+,6 )@:(H3-H)Y,(.&!'-H °─Fh▒dD@]А~ii   i Y b R  F EB?;942.+'%& +▒D&&546632#>54&&#"3&&554632#'"554&#"326554372#Kе^^еggж]]жgXНPPНXYНOOНY1<<22<  %$$%  =1]дeeд]]дeeд]3PМVWНPPНWVМPА8/Щ/76-  !!в!!  -7Dж╩>Kд▒dD@ A/$LK░ PX@2Аp ii Y bR@3А~ ii Y bRY@KIED<963)'& +▒D#"&&546636654&&#"36##"''&##"##"554332&332654&##Z44Z66[45Z6,I**I,,I**I,?   5T  ╩4Y56Z44Z65Y4■Я*I,+H**H+,I*▓?@= Я - ]b╝AE@B=-#LАДY_ O:852*(!4#3 +554332##"##"54##$332##"54&##"''&##"54332277 ч \  W  EE  RSХ   ■╓ *' ■╡ hh■№ K }}ч`(8▒dD@-iYaQ& +▒D&&546632#6654&#"3ТJ++J,-J++J-/@@/.AA.ч+I-,J**J,-J*2@//@A./@хК╝ @Ж<N%$ +##"&77633ЕK&< 5╝├─х'╝ $@!Ж<N   # +##"&776332##"&77633бF #83СG #93╝ ── ──/ ░v° @Еv 3 +54332##/ 3 3P 4 №╠ / ░v° /@,iYaQ   3 +54332##54332##/ 3 3 3 3О V ■к ■" V ■к ' 8Д╝#'@$g6@33,LiYaQ<:21'%++$67632#"&5'4&#"''&5476765'&6632376654&#"E,A'@H% !&E-2Ak`++WDL!&4/ RIb║3_;K8LГHЙ85?7d5#0YH' 8Д╝;0@- ggFE=  яЙ╝8яЙ╝▒dD@Еv$2 +▒D54332##"''5 ; &J▓║╣И ╗ &▒dD@W_O 3 +▒D554332## ∙ ∙И     ■хY╔&}} Y▒░░5+▒░░5+ МV №╞ &▒dD@YaQ $ +▒D&54632#U V   А<  ╝▒dD@Еv6" +▒D##"''&54332 $D- <Dmm ?< └╝ ▒dD@Еv%$ +▒D&776332##╜< -D$<mm■╛< ▀╝ ▒dD@Еv%%%$ +▒D&776332##2&776332##■┬8 .< *Ю; +=(<mmmm■с> ▄╝!▒dD@LЕv''4 +▒D&776332##"''&"##■хP : Q( <= (>llRR  ■у> ▐╝Х■┐■эD у▒5▒dD@*LЕYaQ3#4 +▒D&'5433232676332#╩D  *+  F2D9* "! +9 ,C 8▒dD@-iYaQ   $ +▒D&54632#6654&#"3Х?@..??.''''C>.-??-.>+%&&%■╓[║!0▒dD@%YiaQ! &($ +▒D&'&&#"''&76323276#o  !5!/[   1   ■єmб &▒dD@W_O 3 +▒D554332##■є ∙ ∙m ■e% с! ▒dD@YaQ)* +▒D&76676654&#"''&76632''■▓ & %/ +  *" _< ▀╝ ▒dD@Еv%$ +▒D##"&77633&; -D#╝mm   y< ·╝: p╨ яK%▒dD@LЕv8 +▒D55476674332Р (  C-╨  $ 1: Н H ў ▓ &▒dD@YaQ $ +▒D&54632#U╕   X B ┘ ┬У 8¤ ▒╕¤░5+ u FO▒dD╖ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"'Л 2<1▓ &-/7  t F ■S▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772 /;2 м 4/+' ■├=l ▒dD@W_O30 +▒D3!2#!"55■├ ) ■╫ l  ¤▒7 &▒dD@W_O 3 +▒D5543!2#!¤▒ ; ¤┼   ■U$;в│ 2+$#"''&547632■{╗■F$N■▓■V ┘ №щ ▒dD@Еv%$ +▒D&76332##■Zj %■Х $'¤¤   <б╝с2б5▒dD@*LЕYaQ3#3 +▒D&'433232676332#gE  ))  F229, !! ,:$>╝!▒dD@LЕv5'$ +▒D5463322776332##"''$( =< (Q : P▓RRll FМN▒dD╢ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"' 2;1▓ '+05   ">╝БA  Y8╔|8  VН╞}С  #<в╝~г DJ─ ▒dD@Еv%%%$ +▒D&776332##2&776332##%; -D#г; -D$DmmmmR Е &▒dD@W_O 3 +▒D554332## ∙ ∙R    FКS▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772К /;3 м 4/+'   C°Дё  [G║ЕG  ¤╞D■╝M#Г■┘■уС▒░С░5+  ¤╞D■╝M#Г■┘~■^С▒░С░5+  ¤╞D■╝x#Г■┘З ВЧ▒░Ч░5+¤╗D■╓0!8y╢5$LK░,PX@ ii e<N@+АiiYa QY@"""8"741.,)&! &(# +'&&#"''&763232676#&'5433232676332#■b  5  ,pE  *+  F2╓  /   Т9* "! +9  ¤╠> F#Б■ыЖL▒░L░5+  ¤╩>■я0#Б■щ~■Ёt▒░t░5+  ¤╩> Y#Б■щЗ x▒░x░5+  ¤║>■ф:#Б■щЕ■фА▒░А░5+иpЭ(TНГ}}}}╬▀Ё'8IZk|Св│─╒сЄ 1B▒gxЙ%6GЖч°EVgЁ'8IZk|ИЩк╗M^ЩЇ'hсЄ  $ 5 F W c t Е Ц в │ я O z Л Ч г  Q Т г ┤   Y j { М б ▓ ├ ╘ х ё   $ 5 A R c t Е Ц.·AРр9J[╜╬▀ДХ¤0Р╔┌ы№ *;L]izЛЬн╛8IZСхЎ)}┐╨сЄ■ 1xЙЪл╜╔╒сэ  ПЫж╖╠▌ю )9EQ]iuБНШIUa-╛".9уя√~.:цMYk".DP\htАТЮк╢ d p ╪!=!O!б"_"j"|"И"Ф#Х#█$@$Q$b$н$╬$┌$ы$ў%%%%'%3%?%J%Z%f%╛%щ%ї&C&T&u&Ж&Т&Ю&░&■'v'╠'╪'у(N(Z(н(╣(╩(╓(т(Є(■) ))").):)F)▒)╜)╔)╒)с)Є)■* *Ъ*ж*▓+Y+█,M,╤-(-4-?-в-о-╣.[.g.╔//Д/Р/у/я0000*060B0N0╛0╩0╓0т0ю0·111■2 22"2Щ2л2╝3f3r3~3╡4 44"4.4:4М4╒4ц4ў555%565G5О5Ъ5е5▒5╜5╔5╒6╬7Z8╢9>9О9Я9░9┴9╥9у9Ї:::":3:в:∙;K;\;m;ч;°<6<Х<ж<о<Є===Б=Т=г=┤=┼=╓>F>А>╓>ч>°?7?к?╦?▄?э?■@@ @,@=@R@Л@┘AAAZAfA├BBSBdBuB╤BтC#C4CECVCgCxCЙD DDщE.E{E╚FF0FAFбF▓F├GKG~G═G▐GъH H1HBHSHdHuHЖHщH·I1IЕIЦIзI╕I╔JJYJjJ{JМJЭJфJїKKKШLLLL│L╗MMHMzM╙NDNЭOOЗO┘PvPъQ+Q[Q┤R+RДR·SjS╝T[T╬U U>UРVVpV▀WMWЬX.XаXпX╛X═X▄XыX·Y YY'Y6YEYTYcYrYБYРYЯYоY╜YтYЄZZZ"Z2ZBZRZaZЗZЮZ▌Zэ[([А[х\c\q\Ц] ]с^^(^X^И^р_8_m_Я_├_╦_я```B`J`Y`Т`╦`эaadapaеa┌bb1b>boboccеd'd╜eereчfyfэgggМg░hh'hph─h┘i│i▌jjjdjzjРj╩kkTk╘lllflЭlяm3mЧnn│n╟o pp╡pўqеr8rёsis▒s╒tt1tmtоu%uГuєu√v!vHv]vЖvнv╘wwJwSwТw╘x#xKxТx╣x┴xЁyy(yy╪y■z'zNzwzАz╛zў{M{V{_{h{q{н{╘|-|6|?|Q|c|u}}})}:}Lhr=┼h║_<їш╪№Ч╪┐¤▒ /Z<г╚╚_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!Щ$s^_H_H_H_H_H_Hj^л^j^л^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^8^eHeHeHeHО^О!О^^V ЇIM( №ы$ ЄAAc^8^8V8^8^W ъ╦^д^д^д^д^д^nHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHn2nHШHPW7W@:d^d^d^H4H4H4H4H4KA9+9+9+ИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVM#nААААM%7%7%7%7%7%7%7%7%%-%-%-%-eHc^д^d^9+H49+ .■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.@."P@@@@@@"A@"A"AAAAAAAAAAAAAAAAAAA=>>d"=====/=PPP H╘F╘?╘ я╘ ы╘ ▌╘2 H╘╘ьH╘ фH╘ █ї ▌ё ▌ё ▌їPїPцPцIiPц QV;PPPPPP!?????????????????????66?Z@(WP(AlPlPlPс8ф8ф8ф8ф8-Pl$l$l$HHHHHHHHHHHHHHHHH=їPPl l$ф8l$HHH█ ╤╤╤╤╤▌════════╜"╜"╜"╜"d"J"D^л"Ч" =ЇH L:::::LGLLGLLLLLLLLLLLфL)@@@,L, ё▀L▀D▀ Ё▀ т▀7▀ ╤L▀ щ▀Є LцLцDцLцL√dLBLBLBLBLBL:::::::0::√FцFё0LLL°.°.°.°.я"я"я"я"(E(E(E(E(E(E(E(E(E №№№№№"Ї"Ї"Ї"Ї"Ї"╫$╫$╫$╫$D] ~ БH"PЖ'5G^:92'1BA┘$ ; 9>R74)DD2>;> ╕F#B%Q. 7% : 7> ╕F#B%Q. 7% : 7╕F#B%Q. 7% : 7ы Й&Е%{%R  RBSq7`R?f?f═(═*╥25'Н УHРРK √U. . | |ЖК'К'┬'н'К'фXB  ММVdkAЙdДн'~_╚@ /5|H#"Й^^^}J╗^░c5'!Ї'Ї'ж+Ї'Ї'Ї'Ї'Ї'Ї'Ї'Ї'ї'Ї'ї'┬*р'Я"БH~ Н^d^с "PN@P^t ъ';?Т4A$┼4eH├Т}XDж/ж/л'ЇSл'kHММ ■х М А ?■╛■с■у■э ,■╓■є■e _ y p Н X u t■├¤▒■U■V├ 1A$М"Uк├#k  Мc¤╞¤╞¤╞¤╗¤╠¤╩¤╩¤║ш 8t¤▒ ZбРКXKКX^2/ TRBY└√ш 8X∙ У·╝ дА$ /9~+17>HM~ПТб░╬╘хчщя )7YТ╝╟╔▌ #(8Фй╝└Е∙     " & 0 3 : D y г м ║ ╜!!"!&!.!^""""""""+"H"`"e%╩'щ√   0:а-39@JOПТап═╘хчщя (7YТ╗╞╔╪#&5Фй╝└Аа     & 0 2 9 D t г м ║ ╜!!"!&!.![""""""""+"H"`"d%╩'щ√   їп■э┤ f   ■ї &■╧■╚■Й■Q ▓ v o h f Z■G■3■!■т!тсЎт7т?тс╠сЦсдсЩсПсНсcсMс9сJр╣рcрZрRр8р?р3р▀є▄Ю┌Wdа╝D*T\dn~Д▐рт╪▄╪┌┌фьцЁЮвжЖЖА=$Dfj>'(#N-%URTi#'9:>ALNOTUZqstw}АУФЩЪв+&,\2Ън┼╞╠╨хцьЁ■  (*+.47RSXYa)s*[ABHCKtlШm┘9Z.nЬpX Уdk!Ц┌:   4(+1GBCD$Yd[\obPnЖБГДЫr3╛о╢├╝┬─╔▌╤╘┌°ЄЇї═&Q$>8;<Z)\└п┴╟!╩"╦╚%╬&╧6▀2█7р)╥<щ;ч=ъжH@я?эK¤I√єJ№Eё·MзIPRQSV иJW X m#l"p'u,йKv-x/{2z1y0кL6~5ТQПGВ9СPОFРOЦUЬ[ЭгbеdдcfИ@ ╡лMмN*╙zyЧХФЩЮЭЯЫ~БЕЖГ}|ЗДАВШWХTЧV╜┐╖╣║╗╕░ ▓ │ ┤▒3▄5▐8с,╒.╫/╪0┘-╓H∙Fўce]_`a^gij k!hЕ=З?ЙAЛCМDНEКBЯ^Ю]а_б`783564uw"bOLcWV░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╢E5!*▒B@ J:.& *▒B@ NB4* *▒ B╛└└ └ └@ *▒B╛@@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ L<0(*╕ Е░Н▒D│dDD─· 8─· 8GG>>AH ∙GG>>AA ∙AH ∙GG>>╝╝· 9╝ °╝  √ 9\║\║ в Т  Т Ю 2м ▐ ·  0 F &` &`  Ж 4жCopyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)BarlowRegular1.408;TRBY;Barlow-RegularBarlow RegularVersion 1.408Barlow-RegularTribby TypeJeremy Tribbyhttps://tribby.com/This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFL ╡2и$╔ ╟    bнcоР%&¤ d'щ(e╚╩╦ !"#)*°$%+&',╠═╬·(╧)*+,--././0т01123f2╨╤45678g9╙:;<=>?@ABСп░3э45CD6Eф√FG7HI8╘J╒hK╓LMNOPQRSTUVW9:XYZ[;<ы\╗]^_`=aцbcdefghiDijklmnopkqrstulvjwxynmаEF■oz{Gъ|Hp}~rАБВГsДЕqЖЗИЙКЛМIJ∙НОПРKСТУL╫tФvwХЦuЧШЩЪЫMЬЭNЮOЯабвуPQгдеxRyж{зийкл|мzноп░▒▓│┤╡б╢}▒SюTU╖╕V╣х№║ЙW╗╝X~╜╛АБ┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥YZ╙╘╒╓[\ь╫║╪┘┌█]▄ч▌└┴▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOЭЮPQRЫSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy╝ЇїЎz{|}лг"в├З ? ^`>@~▓│B─┼┤╡╢╖йк╛┐ АБВД╜ГжўЕДЕЦЖЗяЁ╕ П!ХФУздaAТЬИЙЪЩеКШ╞╣# ИЖЛКМГЛМ_шВН┬ОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзиН█с▐╪О▄C▀┌р▌┘йклмноп░NULLAbreveuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni01CDuni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2AmacronAogonek Ccircumflex CdotaccentDcaronDcroatEcaronuni0228uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4 Edotaccentuni1EB8uni1EBAEmacronEogonekuni1EBC Gcircumflex GdotaccentHbar Hcircumflexuni1ECAuni1EC8ImacronIogonekItilde JcircumflexLacuteLcaronuni013BNacuteNcaronEnguni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0 OhungarumlautOmacronRacuteRcaronSacute Scircumflexuni018FTbarTcaronUbreveuni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEE UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave Ycircumflexuni1EF4Ygraveuni1EF6uni1EF8Zacute Zdotaccentuni0122uni0136uni0145uni0156uni0162uni0218uni021Aabreveuni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni01CEuni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3amacronaogonek ccircumflex cdotaccentdcaronecaronuni0229uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5 edotaccentuni1EB9uni1EBBemacroneogonekuni1EBDuni0259uni0292uni01EFgcaron gcircumflex gdotaccentuni01E5hbaruni021F hcircumflexibreve i.loclTRKuni1ECBuni1EC9ijimacroniogonekitildeuni0237 jcircumflexuni01E9lacutelcaronuni013Cldotnacutencaronengobreveuni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1 ohungarumlautomacron oslashacuteracutercaronsacute scircumflextbartcaronubreveuni01D4uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEF uhungarumlautumacronuni0123uni0137uni0146uni0157uni0163uni0219uni021Buogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexuni1EF5ygraveuni1EF7uni1EF9zacute zdotaccentI_J.liga f_f_i.liga f_f_l.ligag_j.ligai_j.ligaa.sc aacute.sc abreve.sc uni01CE.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc atilde.scae.scb.scc.sc cacute.sc ccaron.sc ccedilla.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ecaron.sc uni0229.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.sc gdotaccent.sch.schbar.sci.sc iacute.scicircumflex.sc idieresis.sc i.sc.loclTRK igrave.scij.sc imacron.sc iogonek.scj.sck.scl.sc lacute.sc lcaron.sc uni013C.sc lslash.scm.scn.sc nacute.sc ncaron.sceng.sc ntilde.sco.sc oacute.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.scs.sc sacute.sc scaron.sc scedilla.sct.sctbar.sc tcaron.sc uni021B.scu.sc uacute.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.scuni0394uni03A9uni03BCzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tf zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079 oneeighth threeeighths fiveeighths seveneighthsuni00ADuni2010hyphen_hyphen.ligauni27E9uni00A0Eurouni20BAuni20BDuni2219uni2215uni2126uni2206uni00B5minuteseconduni2113 estimateduni02BCuni02BBuni02C9uni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni0313uni031B dotbelowcombuni0326uni0327uni0328uni0335uni0336uni0337uni0338 uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303   ╓!8:SUptТФШЪ├╞╦╬╬╨фц &+24QSWYdeklvyЛНЪЬбг▒╡╚╩╬╨╪▌▌??BBDEKKdd|Таз|ЙККЛОаз 8|DFLTlatn    kern&kern&mark.mark.mkmk8mkmk8 ▓╓BЇ3╕4$4╢4р╥X,ВRXbhВrxВИОФЪажм║▀рстуфхцчшї¤■рр Єт ·р ∙р дц тр юр% ┼р фр ьЎ № ы& ∙ ╥є ф° √6 8 *4 ▐ ў=>М=▀$, ё ╙уцц=>ММ (0 х ¤ ёMNNссMMNN>▄z╪РCтттттттттттттттттттттттшшшшшЇш Jddjш|тшшшшшюЇ· &C #$%&ANqrstuvwxyzЪзйн═х3Xlx~АБТЬ▓┤╡╢╖╕╣║╗╨ > ∙J ї ї ї ї ї  ї  ї  ї  ї  ї ї ї ї ї ї ї ї ї ї ї ї ї ї ї} ·~ · ·У ёФ ёХ ёЦ ёЧ ёШ ёЩ ёЪ ┘Ы ┘Ь ┘Э ┘Ю ┘Я ┘а ┘б ┘к ·м ·l їm ёn ёo ёp ёq ёr ёs ёt ёu ёv ёw ё╝ ·╜ ·╛ ·┐ ·╔ ё╩ ё╦ ё╠ ё═ ё╬ ё╨ ┘╤ ┘╥ ┘╙ ┘╘ ┘ ∙ ∙М ∙ п п п п п  п  п  п  п  п п п п п п п п п п п п п п п Є ц ц ц  ц" ц# Є% Є' Є( Є) Є* Є+ Є, Є- Є. Є/ Є0 Є1 Є2 Є3 Є4 Є5 Є6 Є7 Є8 Є9 Є: ц; ц= цL фU ЄY ЄZ ц[ ц\ ц] ц^ ц_ ц` цa цb цc цd цe цf цg цh цi цj цk цl цm цo цp цq Єs цw Їx Їy Їz Ї| ┬ж цн ╙о ╙п ╙░ ╙▒ ╙▓ ╙│ ╙┤ ╙╡ ╙╢ ╙╖ ╙╕ ╙╣ ╙║ ╙╗ ╙╝ ╙╜ ╙╛ ╙┐ ╙└ ╙┴ ╙┬ ╙├ ╙─ ╙╞ ┬╟ ┬╚ ┬╔ ┬╦ ┬╠ ┬═ ┬╬ ┬╧ ┬╨ ┬╤ ┬╥ ┬╙ ┬╘ ┬╒ ┬╓ ┬╫ ┬╪ ┬┘ ┬┌ ┬█ ┬▄ ┬▌ ┬▐ ┬▀ ┬р ┬с ┬х уц ╝ч ╝  ╥  ╥  ╥  ╥  ╥ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬  ┬! ┬" ┬# ┬$ ┬& ┬' ┬( ╥) ╥* ╝+ ╥, ╥- ╥. щ/ щ0 щ1 щ3 Є4 у5 у6 у7 у8 у; у< у= у> у? у@ уA уB уC уD уE уF уG уH ╝J ╥K ╥L уM щN уO уP уQ уR ▀S ▀T ▀U ▀V ▀W ▀X уY ▀Z ▀[ ▀\ ▀] ▀^ ▀_ ▀` ▀a Їb Їc Їd Їh уi уj ╝l пy цz ц{ ц| ц} ц~ ЄН цО цП ци цй цк цл цм цн цо ц░ ц▒ ц┤ ц╕ Ї╣ Ї║ Ї╗ Ї к к ╨ ╨% х- ┬r ▀ ╙М кi √% ·68Y| ыноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─╞ ы╟ ы╚ ы╔ ы╦ ы╠ ы═ ы╬ ы╧ ы╨ ы╤ ы╥ ы╙ ы╘ ы╒ ы╓ ы╫ ы╪ ы┘ ы┌ ы█ ы▄ ы▌ ы▐ ы▀ ыр ыс ыц Їч Ї ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы  ы! ы" ы# ы$ ы& ы' ы* Ї. ¤/ ¤0 ¤1 ¤H ЇM ¤j Ї ў ў- ыА ·Щ ЇР ∙Щ Є╧ ЄЩ Щ ъx єВ єМ єЫ хг є▓ єА ¤ъЦ▐ Ї ▄ ┐ ╨ ╕ ы є ║ ф ╧ ╩ Ї ■ ° ы я я ∙ Є щ · Є ь Є ┌ № э ╪ ▌ ш ╬ р ╝ ф ё · Ї щ Ї Є ў Ї ў Ї ё ь · ¤ е т ы ╫ Ї ъ ч є* ў ∙ ї Ў     ∙ ∙ Ї ° Є ў ю щ ¤ ▌ °   ў Ї ¤% ы ў Ї ■ Є ы ╨ ■ ╚ ║ ▌ ∙ ╚ ё т ╧ ╒ ╦ ╥ Є Є ф ° Є ы ъ ў ╓ ╧ ў х г ╨ ─ ь ° ╙ ў Є ф · Ї щ я ь ё ў ¤ ¤ ∙ ю є Ї ∙ √ ь ў Є ∙ "'9;"=>%LL'NS(UU.Ym/ooDqzE|БOГЩUжзlйкnммp──q╨сrД''Е33ЖlБЗНПЭЬбаиож░░н▓▓о┤╧п6 ""#&''99:;==>>LL NNOSUUYYZmooqqrrsstvwz ||} АБ ГТ УШ ЩЩ жжззййкк мм ──╨с ''33mw xxy}~БНПЬЬЭбио░░▓▓┤┤╡╖╕╗ ╝┐ └╚ ╔╬ ╧╧ P ""##%%'9:;==LLNNUUYYZmopqqsswz|| }УШЪбвежжккммн─╞╔ ╦с ххцчЁЁ   $ &' ()**+-.1334678;GHHJKLLMMNNOQRW XXY` adhijjllmwy}~~НПио░▒┤┤╕╗╝┐╔╬╨╘╒╪%%-- 66 88 => rr ММfЇ╛  х я ё ю № · ў Ї √ ў х ¤ ў Є ∙ у ў · ы ∙   ¤ Ї ы ╩ · ь щ ў Ї ¤ р6 ▐ √ ¤ Ї ■ ф   с Ї · ё ∙ ё ·? ╘ я с т ъ ї1 ў ╥ ╤ я ╒ ю э № Є ў ·н├┼╔╦╦══хчьэ!ЁЁ#$%'  (-$/&&B(1C46MHNPRWWY`]jje--frrgh!о├┼┼╞╔╦╦хх цчьэЁЁ      $&&()**+-.146HHII JJKKLLMMNNRWY`jj--rr/|| }Ъбккммн─┼┼ ╞╔ ╦с ххцчьь ■■   $ &' **.146HHII LLMMNNRWXX Y`ad hijj╝┐╨╘цц%%-- 667788=>rrММ■> ы ы Є є ╪ т ё т █ ╬ ─ ы х ц · ў ў ы ш ╫ Є Ї ╓ ├ ╚ ы ¤ ▐ ы ╢ ╩ ф ╠ ы ┴ ▌ ы ╞ ╝ · ў ╔ ╔ ф · ┐ ╛ є у н Ї ы Є ╢ ў  %578=>М  %%557788=>:  "":;==LL Zmopsswz||}УШЪбжжккммн─ ╞╔╦сххцч  $&'() **+- .1 4678;GHHJK LLMM NNOQRWXXY`hijjll mwy}НПио░▒┤┤╕╗╝┐╔╬╨╘--rr ",6 р Ї єМвгвxxВВММЫЫгг▓▓ ыM||╞╔╦с$&'--x ОBDEKd &║,2║║8║>D║ъЁЎRT °─l─ZY╗ "Р|Оаз▌№ &,28>DJnЖМТШPPPPV\\\·№· ░2|Раз8:S3UpMtТiФШИЪ├Н╞╦╖╬╬╜╨ф╛ц╙ &Ў+24QSW9Yd>lvJyЛUНЪhЬбvг▒|╡╚Л╩╬Я╨╪д╝┬╚╬╘┌рцьЄ°■ .FLRXv| a8■┘н&ДДДдДДД&ДДД─ДДД╩ДДД╨ДДД╓ДДД▄ДДД&ДДДшДДДтДДДшДДДюДДДЇДДД·ДДД&ДДД&ДДДДДД ДДД&ДДД&ДДД&ДДДДДД*0ДДД*ДДД*0ДДД*ДДДД*$ДДД*0ДДДД6ДДДД<ДДДД6ДДДД<ДДД~xДДД~BДДД~xДДД~ДДДД~NДДД~HДДДfNДДД~TДДД~ZДДД~`ДДД~xДДД~xДДДfxДДД~lДДД~rДДД~xДДД~ДДДД~ДДДД ДДД ДДДКДДД ДДДДРЬДДДРЬДДДЦЬДД└ъДДД└╪ДДД└вДДД└ъДДД└ъДДДиъДДД└оДДД└┤ДДД└ъДДД║xДДД└╞ДДДД╠ДДДД╥ДДДДДДДфъДДДф╪ДДДф▐ДДДфъДДДЁЎДДДДДД№ДДДДДДДДДДДДJDДVДJ&ДVДJДVДJДVД,ДVДJДVДJДVДJ ДVДJDДVД,DДVДJ2ДVДJ8ДVДJDДVДJ&ДVД,DДVДJ2ДVДJ8ДVДJ>ДVДJDДVДJDДVДJDДVДJPДVДД\ДДД"(ДДД"zДДД"(ДДД.4ДДД.bДДД.4ДДД.ДДДД.hДДДДnДДД:@ДДД:@ДДД:@ДДДЮШДкДЮАДкДЮtДкДЮzДкДЮШДкДЖШДкДЮМДкДЮТДкДЮШДкДЮАДкДЖШДкДЮМДкДЮТДкДЮдДкДЮШДкДЮШДкДЮДДкДЮШДкДЮдДкДД╝ДДДД░ДДДД╢ДДДД╝ДДДД┬ДДДь┌ДДДь╚ДДДь╬ДДДь┌ДДД╘┌ДДДьрДДДьцДДДьЄДДДДДДДД°ДДД■ДДДДДДД ДДДДДДДДДД"(ДДД:@ДДД.4ДДД:@ДДДЪФДДДЪ@ДДДЪФДДДЪFДДДВLДДДЪRДДДЪXДДДЪ^ДДДЪФДДДЪjДДДЪdДДДВjДДДЪpДДДЪvДДДЪ|ДДДЪФДДДВФДДДЪИДДДЪОДДДЪФДДДЪДДДДЪФДДДЪаДДД▓╕ДДД▓жДДД▓╕ДДД▓ДДДД▓мДДД▓╕ДДДД╛ДДД·ДДД─ДДД·ДДДДДДД╨ДДД╩ДДДш╨ДДД╓ДДД▄ДДДтДДД·ДДД·ДДДш·ДДДюДДДЇДДД·ДДДДДДД2ДДД ДДДДДДДДДДДДVДДДДVДДДДVДДДДвДДДДVДДДДVДДДДДДД$ДДДД$ДДД$ДДД$*HДДДД`ДДДД0ДДДД6ДДДД<ДДДД`ДДДД`ДДДBHДДДДNДДДДTДДДДZДДДД`ДДДДfДДДДlДДДДrДДДДrДДДДxДДД\ДДДД\ДДДДДКДДДД~ДДДДДДДДДКДДДДРДДДДЦДДДbhДДДbЬДДДbhДДДbhДДДbвДДДФЁДДФ╠ДДФиДДФ┤ДДФоДД╥┤ДДФ║ДДФ└ДДФ╞ДДФЁДД╥ЁДДФ╪ДДФ▐ДДФЁДъДФ╠ДъД╥ЁДъДФ╪ДъДФ▐ДъДФфДъДФЁДДФЁДДЎТДДЎ№ДДФДДntДДДnДДДntДДДzАДДДzДДДzАДДДzДДДДz ДДДЖМДДДЖМДДДЖ&ДДДШТДдДШ8ДдДШ,ДдДШТДдДШ2ДдДШТДдД>ТДдДШDДдДШJДдДШТДPДШ8ДPД>ТДPДШDДPДШJДPДШЮДPДШТДдДШТДдДДVДДД\ДДДДbhДДДntДДДЖДДДДzАДДДЖМДДДШДДдДШТДдДШЮДдДД╢ДДДДкДДДД░ДДДД╢ДДДД╝ДДДц╘ДДДц┬ДДДц╚ДДДц╘ДДД╬╘ДДДц┌ДДДцрДДДцьДДДД■ДДДДЄДДД°■ДДДД■ДДДДДДДДДДДД ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД"ДДД.4ДДД.(ДДД.4ДДД.ДДДД.4ДДДД:ДДДД@ДДДД:ДДДД@ДДД^XДДД^FДДД^XДДД^ДДДД^LДДД^XДДД^XДДД^RДДД^XДДД^ДДДДjpДДДjdДДДjpДДДДДvДДДДvДДДОДДДД|ДДДДВДДДДОДДДДОДДДДИДДДДОДДДДОДДДДОДДДФДДДДжмДДДжЪДДДДаДДДжмДДД▓╕ДДД╩─ДДД╩╛ДДД╩─ДДД╩─ДДД╩╨ДДДДшДДДД╓ДДДД▄ДДДДшДДДДтДДДДшДДДДшДДДДшДДДДюДДДДЇДДДДДД·ДДДДДДДДД ДДДДДДДДДД$ДДД$ДДД$ДДД$ДДД<BДДД<*ДДД<0ДДД<BДДД<6ДДД<BДДД<BДДД<ДДДД<BДДДДTДДДДHДДДДNДДДДTДДДДZДДДДlДДДД`ДДДДfДДДДlДДДДrДДДД~ДДДДxДДДД~ДДДД~ДДДT.q.94їь╩.~МЄг1■/ H~.б/2~L~3~ ў3╝7╝x╝U~√╩<~ЪЄ▒?■A H~<б<╝A@~2АI╜IH№Б~Б HV~БбvБЕ~└╜└Ъ~B╝Б╝=а╝i~T~Ї╩6~ФЄл9■O~7 H ~6б1З6╝79~6╝█╝7~~5DqC~]~F H~DбD╝FG~t╝╪~┐~╢╝У~4}} H╗Ё}а~%~2 °2╝@UP╝8*╝# °╝╝%O п╙O w3╜ ╝]0tW<  H╙╝ ▀¤  ╝'╝╝ °·@╝#╝╚ ╝h0W < @▐╝ ▀ · ў · ╝mз"АГ╝jпi╝А HА·>╝j▀l·j·Ъ·m╝v·v╝Н~╝t╝И╝ж╝(╝╝ п╩ ╝j0АW<$╝  Hр╝ ▀└Ж·· !╝r·╝x·ё╝ ╝Є╝.╝ п ╝&╝ Hс╝ ▀щ·· ·p┘·Ў √ё·шУ| ·№╝ї·╝e╝f·:╝ └ц└Q Hц■║└цтPъ└ї╝▐>▄·Ў┌A   ю °H E?E-щV■¤ ∙HгИoDoFИ"AїoA'бA7 J#" &   с  H ШA ■A °H№ ∙ЎЇA.  щ JХ||AQ°∙@═ цL  JЛОИЛХ$ ┴ б о ° ┼ ° Ь< ┴ Hб>╚ т( ~БГЕЗЙУЧЪЫЯ  &,28>DJPV\ ╢╝ Г╝ `╝ hо i╝■╛▀ ╝╝d╝б╝Y╝ ─п╝ К  п· &ц|ЙазазZ`flrx~ДКРЦЬвиоооо┤║║║ r· ─· т· j· 0· `· ^№ h° Щ· e· y·■╛· }· г·■@°■K·■I·$*06<■fM■M■@u■F2  ■з0■╛W■L< @DFLTlatn0    (6>FNV^(AZE FCAT fCRT ЖKAZ жTAT ╞TRK ц    !)7?GOW_    "*08@HPX`    #+19AIQYa    $,2:BJRZb    %-3;CKS[c   &.4<DLT\d   '/5=EMU]efaaltfaaltfaaltfaaltfaaltfaaltfaaltfaaltfc2scnc2scnc2scnc2scnc2scnc2scnc2scnc2scnccmptccmptccmptccmptccmptccmptccmptccmptdnom|dnom|dnom|dnom|dnom|dnom|dnom|dnom|fracВfracВfracВfracВfracВfracВfracВfracВligaМligaМligaМligaМligaМligaМligaМligaМloclТloclШloclЮloclдloclкlocl░numr╢numr╢numr╢numr╢numr╢numr╢numr╢numr╢ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚sups╬sups╬sups╬sups╬sups╬sups╬sups╬sups╬tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘     4zО╪XXX6XXlжДТж┤№:RjЎ м 6 V└▌mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСУФХЦЧШЩЪЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪єЇїЎў°∙·√№?  "+1244679;=?"AE%GG*IJ+LL-NY.[\:bb<dd=lz>}БMГДRЖЖTОСUУЭYЯЯdвеeммiопj╡╢l╝╝n╛╛o└╔p╦╘z┌█Д▌▌Ж▀рЗхчЙъъМьэНЄЄПЇЎР°°У·№ФЧШЬгдеж"$з&1к48╢;<╗>>╜FG╛OP└R\┬^^═ad╬¤╥%%▄▐:N:@HNT\fpzДОШвм╢║╛┬╞╩╬╥╓┌┘lёЎТ Ы┌и¤єщ■Їъ їы Ўь ўэ °ю ∙я ·Ё√ё№Є▀рстуфхцчшZZннЁЁ■■▀Є Ц6Д$КЛНТ|ЙN , е~дзЕжЗ б~агЕвЗБГ!Ё'рш╘ ы%▓ "4є№¤ $Zн@Z ЎщЄ ▀ш▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐  "+1244679; =?#AE&GG+IJ,LL.N\/bb>dd?lz@}БOГДTЖЖVОСWУЭ[ЯЯfвеgммk▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪"нп╡╢╝╝╛╛└╔╦╘┌█▌▌▀рхч ъъ#ьэ$ЁЁ&ЄЄ'ЇЎ(°°+·№,■■/015>?@"$A&1D48P;<U>>WFGXOPZR\\^^gadh^@JTgL  hхЁiхeЁfj■k■?-AхцЁ-Ё■!"┘┌┘┌єЇїЎў°∙·√№Zн¤■ fcidecomp-2.1.1/documentation/verification-validation-plan/_static/Dosis-ExtraLight.ttf000066400000000000000000002650601473255640600314030ustar00rootroot00000000000000GDEF!*!┐¤L└GPOSа6Р9■ iдGSUBWq╖g░~OS/2Воa_╘а`cmapд,▄╒Аcvt бшщdvfpgmЮ6╨┌Аgasp¤DglyfVь╫ъ┼рhead╬Т╩╦А6hheaY╟╘|$hmtxЙd:╦╕─loca*■[б╟dmaxpД^╞№ namerуЩнщ▄МpostфсS╣юh┌preppШU/шШ╦<_z'$@!%LЕv''--+w"&54677'&&546327632#"''N JJ  BB  JI  AB_ rs ff sr ddЁс/@,LgM N +s"&&5476632#"&''!7!+ ┘  ╫  3■╓2 IЙ╜¤Cдд╒└  Ё╣&┬ ▒╕░5+  Ё╔&Ш ▒╕░5+  Ё╣&Г ▒╕░5+  ЁЦ&░ ▒╕░5+  Ё╣&┬ ▒╕░5+  Ён&Е ▒╕░5+   >Ёс&"А▒░░5+  Ё&л ▒╕░5+  Ё╡&q ▒╕░5+OМ█*1@@=g _Ma  N/-,+'&"  ** +s"&54663!2##32##32##"&5#3#"a 4Y7h  эа  аэ    ўўWKU ЎKZ)  ■╔  ■╚  J■╗ А7SW  OМ╣&  ▒╕░5+S┌█",9@6Lg_M_ N,*%#" 6+s"&546332#'326554&##532654&&##e Ц:]6/&.4Y7ЯЯKUUKЯЛSO+K1Ж ╕ HF@W +D4KY'$PWWG$?W88L ·╙█-;@8А~aMa&N(&  --+E"&&546632#"&5.#"32>766325Z57Z6@U+  !=1OSTR2:  ,W)ZKEKZ).H' -)SW■╗XR(. &H.  L ·╙╣&╠ ▒╕░5+  L ·╙▐&Г ▒╕░5+  L 1╙█&!ч  L ·╙╣&Н ▒╕░5+  L ·╙Я&б ▒╕░5+S┌█-@*L_M_ N6+s"&546332#'32654&##e ▒7Y44Y7ЯЯKUUKЯ ╣ )ZK■┴KZ)$SW?WSф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█    S┌▐&З ▒╕░5+ф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█  S┌█ /@,g_M_ N %$6+s"&5463!2#!32##!2#e d  ■оа  аR  ╖  ■╔  ■╚    S┌╣&╒ ▒╕░5+  S┌╔&л ▒╕░5+  S┌▐&М ▒╕░5+  S┌╣&Ц ▒╕░5+  S┌Ц&├ ▒╕░5+  S┌Я&к ▒╕░5+  S┌╣&╒ ▒╕░5+  S┌н&Ш ▒╕░5+  S =┌█&"kS┌█-@*g_M N +s"&5463!2#!32##e d  ■оа  а  ╕  ■╔  ■╡ L ·╙█1>@;АgaMa&N*(#" 11+E"&&546632#"&'.#"32655#"&5463327X44X7>W/  *D,KTTKKUЯ ▓ 4Y)ZKEKZ),K. -:SW■╗WSSWФ  еKZ)  L ·╙╔&#е ▒╕░5+  L ·╙╣&#Р ▒╕░5+  L s╙█&# л  L ·╙Я&#д ▒╕░5+S┌█,@)gM N +s"&54632!4632#"&5!e  ?   ■┴ ╕  ■├=  ¤H W■й █15D@A  g gM  N5432.-*(%# 11 +s"&5#"&5463354632!5463232###"&5!!5!e - -  ?  , ,  ■┴ ?■┴   И  ИИ  И  ¤є W■й НТ  S┌╣&(Х ▒╕░5+Sw█ @M N  +s"&54632e  ╕  ¤H   S ·k█&+6╩  "з╣&+" ▒╕░5+   °╥╔&+ ° ▒╕░5+   уч╣&+ у ▒╕░5+  ║Ц&+ ▒╕░5+  CЖЯ&+ ў ▒╕░5+  "з╣&+" ▒╕░5+   хфн&+ х ▒╕░5+   B|█&+"▒░░5+   ╤°╡&+ ╤ ▒╕░5+ ·б█!2@/А_Ma&N !!+W"&&546323265#"&546332▐=X/  +I,KTЯ  ▒ 4X,K. ,;SWя  ¤ KZ)   ·б╣&6v ▒╕░5+SЇ█%)@&"! LM N %%+s"&54632632#"&'e  C ч √` ╕  ■xУ ■с■|xxў   S sЇ█&8 ЯS╢█@M_ N&+s"&54632!2#e  0 ╕  ¤Z    S╢╣&:├ ▒╕░5+  S╢х&:%   S s╢█&: ЮS╢█WK░!PX@Ma"M_ N@iM_ NY@&+s"&54632!2#"&54632e  0e ╕  ¤Z  Б╝█(,@) LM_ N('"!+s"&5#"&5467746327632!2#k 9 J  s Д0 ! +s  ■бC L■р  S:█'2@/$ LАM N!''+s"&54632>32#"&5#"&'e  ┬├   ╜  ╝ ╕ ■В~ ¤H q■Ф l¤П S┌█'@$ LM N+s"&546324632#"&'e  2   ■╠ ╕ ¤вq  ¤H  _¤П   S┌╣&A╘ ▒╕░5+  S┌▐&AЛ ▒╕░5+  S s┌█&A ╕S ┌█*3@0L KM Ma$N**'%+%+E"&5463266554&'#"&546324632` '% ■╠   2  5э  (F,0 _¤П ╕ ¤вq  ¤7V0  S┌╡&AГ ▒╕░5+L ·╙█-@*aMa&N +E"&&546632'2654&#"7X44X77Y44Y7KUUKKTT)ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS  L ·╙╣&G═ ▒╕░5+  L ·╙╔&Gг ▒╕░5+  L ·╙╣&GО ▒╕░5+  L ·╙Ц&G╗ ▒╕░5+  L ·╙╣&G═ ▒╕░5+  L ·╙╣&GХ ▒╕░5+  L ·╙н&GР ▒╕░5+  ; ьу&G┤%  ; ьу╣&O═ ▒╕░5+  L ·╙╡&G| ▒╕░5+L ·5█0>З@ .LK░'PX@#g aM a &N@+g aM_ M a &NY@21971>2>*(#"! 00 +E"&&5466325463!2#!32##!2#!"&55'2654&#"7X44X72U b  ■оа  аR  ■Ю U2KUUKKTT)ZKEKZ)"&6  ■╔  ■╚  0&"$SWEWSSW■╗WSS┌█3@0Lg_M N +s"&546732##326554&##e ▒7Y44Y7Я ЯKUUKЯ ╕ )ZK K[)■р VTW WSS░█0F@C LiiM N )'0 0 +s"&546326632#"&&'7266554&&#"e  G7,N12L(>. Ы!>''="&C(&A ╣ м- A0└0A"#┬ й2&└&01!└3"L У╙█/6@3"LeaM&N*( +E"&55.546632'546326654&#" 3Q.4X77Y4.P3   BKUKKTKm V*YGEKZ))ZK■╗GY*V ЛT  SRREWSSW■╗RSS┌█ ):@7 Lg_M N)'#!   +a"&'##"&54673232654&##╚ аФ  з7^9-L/е■кХK__KХ 8■╢ ╕ #SI@P(■┐АISSH  S┌╣&V╨ ▒╕░5+  S┌▐&VЗ ▒╕░5+  S s┌█&V У* ·▒█:E@B#LА~aMa&N,*(& ::+W"&&546632326654.54>32#"&&#"ы@V+"=37J&%&G╞ ▒╕░5+  L ·╙╣&Ь═ ▒╕░5+  L |╙>&Ь┐  L ·╙╣&Ь═ ▒╕░5+  L ·╙┴&Ьf ▒╕░5+  L ·╙╡&Ь| ▒╕░5+  O |╓█&d┬  O ·╓┴&di ▒╕░5+  O ·H>&d_ ▒╕░5+  O ·H╣&д╨ ▒╕░5+  O |H>&д┬  O ·H╣&д╨ ▒╕░5+  O ·H┴&дi ▒╕░5+  O ·H╡&д ▒╕░5+   |ц█&vо  ц┴&vU ▒╕░5+  ц╡&vk ▒╕░5+# ·g▐&3ЬK░'PX@ $L@ $LYK░'PX@(Аia(M a&N@,Аia(M M a&NY@('.,'3(3! && +W"&54663354&&#"#"&546632#"&55'26655#"о:Q;iE8:0* %9>H  K3&E,73[9<AC59&H/   7W2■Ї 4/#%4T ),2/  # ·g╢&нС  # ·g╞&нg  # ·g╢&нR  # ·gУ&н  # ·g╢&нС  # ·gк&нT  # @i▐&н"√▒░░5+  # ·g&нz  # ·g▓&н@# ·з▀>KXi@f<LАА  i a(M a &N@?USNLFD?K@K:810.,)'  >>+W"&&54663354&&#"#"&5466326632##326632#"&''26655#"732654&&#"л$>&:hE8;2* %9>IT4>6" $#ы_F)- 0E!7__+*D(75Z6;ш▀(#@+(@%;,69&H/   9,+9.J6 /DO62:.#&4T *-/0х&D,'@&  # ·з╢&╖%E ·в/МK░'PX@ L@ LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&'#"&546326632'266554&&#"Ё.I   C21R11Q.&@''@'"?($?-4 ▌ ■г/1Q2z/T3#*D%z%B*#@.Я4)4 ·t▐'A@> LА~a(Ma&N  ''+W"&&5546632#"&&#"326632ы>Q('R>(; *(HLLI*- !=0R4x3S0 ODxDO   4 ·t╢&║Ж  4 ·t█&║=  4 1t▐&║!и  4 ·t╢&║G  4 ·tЬ&║[2 ·П/МK░'PX@  L@  LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&&55466324632#"&55'266554&&#"ф/R11R12D   J0(>$(?"'@''@3T/z2Q1/] ¤# 4-#)4Я.@#*B%z%D*2 ·Х7IN@K0'L*Ka!Ma(Ma&N98B@8I9I%# 77+W".5546632&&'#"&5477&&#"&5466327632'266554&&#"у$?20Q0;/-b \ H! #T&P J&11Q0(@''A'(@&&A4A$z0R2&Sz)8  5"  *+.  +2Т_╜/T3#*D%$@(*B%z%D*  2 ·&└%╬2 ·┌/AиK░'PX@-  &L@-  &LYK░'PX@'i!M a(M a &N@+i!M a(M M a &NY@10:80A1A*(%# // +W"&&55466325#"&546335463232###"&55'266554&&#"ф/R11R12DК К  9 9  J0(>$(?"'@''@3T/z2Q1/╡  Е Е  ¤╦ 4-#)4Я.@#*B%z%D*3 ·Ц▐!.>@;Аga(Ma&N+)$" !!+W"&&5546632##32663232654&&#"¤;[41Q0/Q1%э`I*, !>╥с%#@+(A&.Q7}0Q0/Q4$ /DO $D,(@&  3 ·Ц╢&─Ь  3 ·Ц╞&─r  3 ·Ц█&─S  3 ·Ц╢&─]  3 ·ЦУ&─К  3 ·ЦЬ&─q  3 ·Ц╢&─Ь  3 ·Цк&─_  3 WЦ▐&─" ▒░░5+' ·К▐!.C@@Аga(Ma&N#")'".#. !! +W"&&54663354&#"#"&&546632'26655#"╪/Q1&э_J*,  !>+;[41P1)@&с%#@/Q4%/DO .Q7}0P1#(A%+$D,E 5@2La!M_"M N   +s"&5466332##"32##U 1Q0   (A%Щ Щ =0Q1  )A%v  ■\   │ы;IWТ@$ .DLK░'PX@* ia(Ma(M a$N@(i ia(M a$NY@KJ=<RPJWKW  | |  ╛/1Q2■ш %B*#@.■ш    ╘в╘&╒ ╘ ▒╕░5+5t│ 2@/ Li"M N  +s"&54632"&54632U     ╡ ■K t  Dg╪ !@ L"M N  +s"&54632U  ╡ ■K   Ш╢&┘   щ├╞&┘щ   ╘╪╢&┘╘  лУ&┘  Ш╢&┘  5  │&╪ул   ╓╒к&┘╓     CwЬ&┘&ш" ▒░░5+   ┬щ▓&┘┬ ▄ u│!6@3 Li"Ma$N!!&%+G"&546326654632"&54632 '%  5:  э  (F,ў ■ 7V0a   ▄ h╪%@" L"Ma$N&%+G"&546326654632 '%  5э  (F,ў ■ 7V0   ╒ ┘╢&ф╒Eи$2@/"!  L!M"M N $$+s"&54632%632#"'V  б╣╕i ▌ ¤·ыМ■я   \и   E sи&ц |Dз╪$+@("!  L"M N $$+s"&54632%632#"'U  б╣╕i ╡ ▐ыМ■я   \и Mp !@ L!M N  +s"&54632^  ▌ ¤#   бЗ&щ╤▒░╤░5+  M№&щ%╡   sб&щ M 5@2 Li!M N  +s"&54632"&54632^  И ▌ ¤# #'@$! L!M N##+s"&5#"&5467746327632О O `  ^ o )- 7М ■И7 @■┬ D┐▐;d@ 9 LK░'PX@a"M N@"Ma(M NY@53-+%# ;; +s"&5463266326632#"&54&&#"#"&54&&#"U  C24OS+*K/  '<"=(  #:$!?( ╡ 5/8,31*P:■ш 0@!#>*■с  (?%#@.■ш Dб▐%V@ # LK░'PX@a"M N@"Ma(M NY@ %%+s"&546326632#"&54&&#"U  C21R1  '@'"?( ╡ 5/1Q2■ш %B*#@.■ш   Dб╢&Ёо  Dб█&Ёe  D sб▐&Ё ТD б▐-e@ "LK░'PX@a"M Ma$N@ "Ma(M Ma$NY@--%%&'%+E"&546326654&&#"#"&546326632' '% '@'"?(   C21R15э  (F,Z%B*#@.■ш ╡ 5/1Q2■ж7V0  Dб▓&Ё]2 ·Х▐#-@*a(Ma&N## +W"&&5546632'266554&&#"у/Q10Q00Q11Q0(@'&A((@&&A3S0z0R21Q2z/T3#*D%z%B**B%z%D*  2 ·Х╢&Ўб  2 ·Х╞&Ўw  2 ·Х╢&Ўb  2 ·ХУ&ЎП  2 ·Х╢&Ўб  2 ·Х╢&Ўi  2 ·Хк&Ўd  2 рХ¤&Ў╢  2 рХ╢&■б  2 ·Х▓&ЎP2 ·╒▐-?LY@V  +LА  g a(M a &N/.IGB@86.?/?)'  -- +W"&&55466326632##326632#"&''266554&&#"732654&&#"у/Q10Q03WW5/Q1%э`L)) $>)AaV3(@'&A((@&&A┘с%#@+(A&3S0z0R29.-:/P3%!/DO  80-;#*D%z%B**B%z%D*х$D,'>%E в▐/t@ LK░'PX@a"Ma&M$N@!"Ma(Ma&M$NY@(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э в 5/1Q2z/T3-■▀  *D%z%B*#@.Я4)E в/J@G L!Ma(Ma&M$N(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э ╩ ■г/1Q2z/T3-■▀  *D%z%B*#@.Я4)2 П▐/МK░'PX@L@LYK░'PX@a(Ma&M$N@!"Ma(Ma&M$NY@(&//+E"&5#"&&554663254632266554&&#"~ J./R11R12D  д(>$(?"'@''@э !-3T/z2Q1/5 ¤^  )4Я.@#*B%z%D*D(▐R@  LK░'PX@a"M N@"Ma(M NY@+s"&54632>332##"U  &6#% %#@( ╡ 5"  #@.■ш   D(╢&W  (█&   ∙ s(▐& ▌& ·O▐3E@BLА~a(Ma&N'%#! 33+W"&&54663232654.546632#"&&#"╕-A$ 2/?6$:@:$A48$**2$:@:$P 1"'+/)<(    +!$5.7A  & ·O╢& x  & ·O█& /  & 1O▐& !В  & ·O╢& 9  & sO▐&  a ьфKЭ@ C'LK░#PX@5Аi a !M_"M Ma &N@2Аi e a !M_"M NY@<:64/.+)#! KK +E".546632326554&&'&&5467>54&#"#"&5#"&54633546632? $& $&ANIA &=>,4  Q QD6-H) !@+0L ^[#O; .2IS)A%¤├ д  v0Q1&O>$I8 8U3K_.B¤┐5@2LЕ_"Ma N +s"&5463232##332#╘GK  З З2= BI# ╓  ■╓9/  B¤┐'A@>LЕg_"Ma N! '&+s"&5463232##32##332#╘GK  З ЗЗ З2= BI# ╓  s  Ф9/    B¤х&%░  B s¤┐& )@ ·г╪+@(L"Ma&N +W"&&54632326654632Є1Q0  &A((@&  0Q2S/ ■ш%B*)C% ■ч0R2  @ ·г╢&п  @ ·г╞&Е  @ ·г╢&p  @ ·гУ&Э  @ ·г╢&п  @ ·г╢&w  @ ·гк&r  @ =г╪&"┐  @ ·г&Ш  @ ·г▓&^ ·u╪#@ L"M&N +W"&'&&5466326632─Ь ОН Ь ▓ ■wГ  ■N ·{╪,2@/)LА"M&N&$ ,,+W"&'&&5466326632632#"&'─Ь Нs  oР Эus о ■yj■СМ  ■Mw■П    ·{╢&    ·{╢& ┼   ·{У& Є   ·{╢&  ·c▐-)@&*L(M&N'%--+W"&&5477'&&54663276632#"&''-ЛЛГДММДГ┘╒╚╚╒┘╦╦ x▐%(@% L(Ma$N%%&*%+W"&54632>7&5466326632$ +# а  СР а "+7э  'AK$║■pР■F%WM1   x╢&&Г   x╢&&D   xУ&&q   x╢&&Гg╪%@"_"M_ N%+s"&5467#"&5463!2!2#,  є  ■Ї  Щ  ■g    g╢&+~  g█&+5  gЬ&+S" ·в▐-:O@L+LАia(M a &N/.53.:/:)'"! -- +W"&&54663354&&#"#"&&54663232#"&''26655#"л%>&:iF8:0* %9>H 'L6(F,75[7;:,6:&H/    7W2─"  *"-#%4T *-/0B ·Я*>@; L!Ma(Ma&N$"** +W"&&546326632'2>554&&#"ъ(N2  C21R1+E/+8 '@'"?(PC8^ ■г/1Q2z@7"#.3z%B*#@.ПA=3 Р▐+>@;La(Ma&M$N#!+++E"&5#"&&554>32266554&&#" D21R1)D2)O4 ж$@('?&+7 '?э "/1R1z@7" RK■  %4Н=G.3z$C*2 П▐+=кK░'PX@! L@! LYK░'PX@*Аa(M a&Ma$N@.А"Ma(M a&Ma$NY@-,64,=-=%# ++ +W"&&5463232>55#"&&554663254632266554&&#"▐'E,  6-/9 J./R11R12D  "M>(>$(?"'@''@э 2@"_-3T/z2Q1/5 ■6^9 )4Я.@#*B%z%D*@╗▐55@23 La(M N/-'% 55+s"&5466326632#"&54&&#"#"&54&&#"Q .I),UT,*K/  '< ">&  '>#;' :P*3553*P:■ш 0@!%A+■ч  +A% @1■ч @г▐+@( La(M N +s"&546632#"&54&&#"Q 0Q01Q0  &A('A& 0R22R0■ш %B*)B&■ч ?#▐'@$La(M N +s"&554>332##"P ,;#2 2'9  (J:"  2O*  @ ·Э╪%jK░'PX@ #L@ #LYK░'PX@"Ma&N@"M Ma&NY@  %%+W"&&54632326654632#"&55Ї1R1  '@'"?(   D1R1 ■ш$C*#A- ■K 5/  # ·g&н&  # |g╞&н'Гg  # ·g&н'∙  # ·g&н(  # ·g°&н)▄  # ·gЇ&н*   # |g╢&н'ГR  # ·gЄ&н+   # ·|ю&н,   # ·g╫&н-▄  # |g▐&нГ  # ·g╛&н*  3 ·ЦЇ&─*  3 |Ц╢&─'О]  3 ·ЦЄ&─+  3 ·Цю&─,  3 ·Ц╫&─-ч  3 |Ц▐&─О  3 ·Ц╛&─5  3 ·Ц▓&─K  2 |y│&╪  Ь╛&┘м  2 ·ХЇ&Ў*  2 |Х╢&Ў'Уb  2 ·ХЄ&Ў+  2 ·Хю&Ў,  2 ·Х╫&Ў-ь  2 |Х▐&ЎУ  2 ·Х╛&Ў:  2 ·Ц;&Ўн  2 ·Ц╢&Tб  2 |Ц;&TУ  2 ·Ц╢&Tб  2 ·Ц╛&T:  2 ·Ц▓&TP  @ |г╪&б  @ ·г╛&H  @ ·;&,  @ ·╢&\п  @ |;&\б  @ ·╢&\п  @ ·╛&\H  @ ·▓&\^   x▐&&╕   x╛&&   x▓&&2EЪ%3S@P *1#LАa!Ma"M  N'&.,&3'3"  %% +s"&546632#"&&#"32##!"&54632U +T?#B,1*/>#Л Л +  =*R6 .0v  ■\ ╡ ■K EЪ'>@; % La!M_"M N$" ''+s"&546632#"&5&&#"32##U 8Y060  <(H.Л Л =7P+¤X г%C.v  ■\ 'п№█'4M@J%LАi ea7N)(/-(4)4"  '' +S""'&&5463354&#"#"&546632#"&55'26655#"В &Q@ ")&)0  +'3!п&%2" 8  "7в *,о█*@'ea7N  +S"&&5546632'26554&#"а5 5 5 5!/.""..о!5F4 4 F5!!4F22F4DП╪$@!_MN+s"&5463!2#"&5!V '  ■¤  ╡ ■K  г■] A ·╚█+>@;iaMa&N! '% +!+  +E"&&546632'2654&#""&546327X44X77Y44Y7KUUKKTTL  )ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS,  Ж█*@'LАM N +s"&5#"&546776632t +  B  mP А  ¤H &н█/4@1LАaM_ N/.%$.+s"&554>54&&#"#"&546632!2#8 2NYN2"D4;N -O3:T.2NYN2R  a*F?=CM0%E.CA ,G*4U25VF=;?%O  ! ·и█CN@K<LААiaMa&N64-+%# CC +W".54632326554&#"&546326654&#"#"&&54>32ц1J2   ">1MUUI /??J.: 'I:3L+2",:4X.7 ,)SWKK  ?4HK(*  43""L@IQPDKZ) Т█*3@0iM"M N'%!**+a"&55!"&5467663235463232##3 ■√  °ш  ; ; а ¤■ъ  ъ  а   ·з█2D@ALАg_Ma&N+)(&! 22+W"&&54632326554&##"&5465663!2##32у=X.  +H,KUUJЗ   ∙|7X44Y-J. );SWSQ +  ■ь'XIKZ)A ·╚█'5I@FLАiaMa&N)(0.(5)5  '' +E"&&546632#"&54&&#"6632'26554&#"7Y44X7.I2  +I,KTT27X44X7KTTKIWU)ZKEKZ)/;! (:!SWо&$$UKKZ)$SWWIDS&WS!и█4@1 LА_M N%#+s"&&5475!#"&55463!2Y <■┴  c ■┬l1Г Х H¤С 1 ·╕█+7E@BLiaMa&N-,31,7-7&$++ +W"&&55467&&546632'26554&#"2654&#"ї7Y4:.&//P22P//&/84X6JTUJJVVJBKKBBKK)[J MZMACLLCAMZM J[)$TV VQQV WSВBKJ@@JKB0 ·╖█'5I@FLАiaMa&N)(0.(5)5  '' +W".5463232655#"&&554663226554&#"Ї.I2  +I,KTT27X44X77Y44X8IWUKKTT/;! (:!SWо%%$UKKZ))ZK■╗KZ)VER&WSSWWIt█!0@-LАM_ N! $%+s"&54633#"&54677663232## О+  E  Н   [P  Е  ¤Z    3 ¤n  gnА  % nБ  " ¤nВ  ¤nГ  ! ¤nД  2 ¤nЕ    nЖ  ) ¤nЗ  * ¤nИ3 ¤n-@*a/Ma2N +W"&554632'26554&#"ж1BB1!44!&,,&&++1:Ы:1/'Ы'/%'Ы'%%'Ы'%gn.@+LА/M0N +s"&5#"&54677632W -  (   ;■м% n,4@1LАa/M_0N,+%$, +s"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡0(%%** %, 1'""  " ¤n<R@O%5LААia/Ma2N0.)'"  << +W"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4&  $' #  %    &(0"+ '! &/¤n(=@:&Li/Ma0N%# (( +s"&55#"&5477663235463232##┐ РН  Гr   Iўу``  I! ¤n/>@;Аg_/Ma2N(&%# // +W"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!433 #( %$  Е  x-% &/2 ¤n$2M@J LАia/Ma2N&%-+%2&2 $$ +W"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+90Г'/'%'M,& :1%& (!%&%  nY@  LK░PX@r_/M0N@А_/M0NY@ %# +W"&5475##"&5546332L кг  ╞ й :L+■▀) ¤n'3E@BLia/Ma2N)(/-(3)3" ''  +W"&55467&&54632'26554&#"72654&#"Ь0C!<,-;!B0&+,&%,,%"%%"!&&07', ' 2&&2 ' ,'70&&&$$&&&╝ !! * ¤n$2I@FLАia/Ma2N&%-+%2&2 $$ +W"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++' %'L,& :1/'Ы'/│%'%%' '!3j█-@*a7Ma:N +S"&554632'26554&#"ж1BB1!44!&,,&&++j1:Ы:1/'Ы'/%'Ы'%%'Ы'%mg█.@+LА7M8N +S"&5#"&54677632W -  m(   ;■м%m █,4@1LАa7M_8N,+%$, +S"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡m0(%%** %, 1'""  "j█<R@O%5LААia7Ma:N0.)'"  << +S"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4j&  $' #  %    &(0"+ '! &/m¤█(=@:&Li7Ma8N%# (( +S"&55#"&5477663235463232##┐ РН  Гr   mIўу``  I!j█/>@;Аg_7Ma:N(&%# // +S"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!43j3 #( %$  Е  x-% &/2j█$2M@J LАia7Ma:N&%-+%2&2 $$ +S"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+j90Г'/'%'M,& :1%& (!%&%l█Y@  LK░PX@r_7M8N@А_7M8NY@ %# +S"&5475##"&5546332L кг  ╞ йl :L+■▀*j█'3E@BLia7Ma:N)(/-(3)3" ''  +S"&55467&&54632'26554&#"72654&#"Э0C!<,-;!B0&+,&%,,%"%%"!&&j07', ' 2&&2 ' ,'70&&&$$&&&╝ !! *j█$2I@FLАia7Ma:N&%-+%2&2 $$ +S"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++j' %'L,& :1/'Ы'/│%'%%' '!  3j█Й  mg█К  %m █Л  "j█М  m¤█Н  !j█О  2j█П  l█Р  *j█С  *j█Т q ь1K░#PX@ !M&N@ Ж!NY@ +G"&547632 З  ■| Ї ¤   ь)&К'ЭЮБ    ь(&К'ЭЮВ   % ь╡&Л'Э+Вн   ь&К'ЭЮГ   " ь▒&М'Э2Г┤   ь/&К'ЭЮЗ   " ь├&М'Э2З┤  ! ь╗&О'Э*Зм   ьА&Р'ЭяЗq- ·tB @a&N  +W"&54632Q- │tB&@#LYaQ +W"&5477&&54632E     M3  #= ·Дж +@(ia&N     +S"&54632"&54632a^■Ь= │Еж"7@4LiYaQ"" +W"&5477&&54632"&54632U     M3  #л- ·╒B #0@-a&N ##    +E"&54632!"&546323"&54632▓■Сг= ·ДьY╡LK░PX@АMa&N@ЕЕa&NY@ +w"&54&&54632"&54632`   У Z╗╗ZZ╗╗Z Щ= ·ДьZ╡LK░PX@АaM&N@Аi&NY@ +W"&546654632"&54632`    Z╗╗ZZ╗╗Zк ·Yь*6oK░PX@&А~aMa&N@$А~ia&NY@,+20+6,6**+w"&54667>54&#"#"&546632"&54632а  ,+KK* (?$>P' //  У 7>5463232>32"&54632█>P' //    -+KK ) '@ 1S23I7++<)  32#"32ё'@./?' ,> ,@  *=&└#?2  *A#■@48   ь╙CK░#PX@a!Ma&N@ea!NY@ %%+W"&546326654&&#"&54632%  ?, >, '?/.@  84└#A*  2?#■@&=*" ь Cf@ 0LK░#PX@ia!Ma&N@iea!NY@=<%# CC+W"&&54>54.54>54.54>32#"32°1O/ 0@$ )?#   -/ %D, .:9)   2>7 :-  %;! 5=1 ;IA!+   ь√Ci@:LK░#PX@ia!Ma&N@iea!NY@CC8732'% &+W"&546632>54.5467&&54>54&&#"&54632% /-   #?) $@0 /O  +!AI; 1=5 !;%  -: 7>2   )9:. ,D%J ы J╡LK░PX@_!M_ N@c_!NY@ %&+W"&546332##32#\ Ь КК  є  ¤1   ы╙J╡LK░PX@_!M_ N@c_!NY@ %%+W"&54633#"&546332#% КК Ь   ╧  ¤  2▀Y @W_O %+w"&5463!2#C  ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀н @W_O %+w"&5463!2#C X ▀    № ▌_ &▒dD@W_O %+▒DW"&5463!2#  @ #   - │tB&@#LYaQ +W"&5477&&54632E   M3  - │·B-4@1&LYaQ$"-- +W"&5477&&54632#"&5477&&54632╦   К   M3  3  'VЇх-P@ (LK░1PX@aN@YaQY@#!-- +S"&54>76632#"&54>76632╨   Ц   V 3  3 )VЎх-P@ &LK░1PX@aN@YaQY@$"-- +S"&5477&&54632#"&5477&&54632╟   К   V3  3  'Vnх>╢LK░1PX@ aN@YaQY@  +S"&54>76632J   V 3 )Vpх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632A   V3  (J@с3.@+0-LЖ(N&%33 +e"''&&54677632#"''&&54677632. `` ``Ч `` ``J ▒ ▓ ▓▒ ▒ ▓ ▓▒)JAс3-@*$! LЖ(N33)'-+w"&&5477'&546632#"&&5477'&546632═ `` ``Ь `` ``J▒▓ ▓ ▒ ▒▓ ▓ ▒ (Jос!@LЖ(N +w"''&&54677632Ь `` ``J ▒ ▓ ▓▒)Jпс @ LЖ(N-+w"&&5477'&546632; `` ``J▒▓ ▓ ▒ +E╘ .@+ La!N  +S"&5'4632#"&5'4632╗  А  E Ш Ш Ш Ш +E\ !@ La!N  +S"&5'4632C  E Ш Ш % ·█R`@]А   А g   gaM a&NMKFD?=8764/.+)#! RR+E"&&55#"&546335#"&54633546632#"&54.#"32##32##326654632?7X4F FF F4X7>W/  ,:!KT╠ ╠╠ ╠*;%,I+  /W)ZK@  l  SKZ),K. "1 SWS  l  @+A):- .K,)(i╢/7g@d  10-LЕА~ЖiYaQ,+%$"! // +w"&55&&554667546322#"&&#26632#'╔ GG?1  &A' /,-.  *A# 655( x cE-K3z w ■╞ u н2 K9:JD"иМ;KU@R90*! LYi Yi aQ=<EC:;LK░)PX@1А~ Ж!M aMa N@/А~ Ж i!Ma NY@HG10.,%$! == +E"&55"&&5466323.54>754632#"&&'76654&&'' @V,#@5!>3 4>  3(3':.ZG >?#8"$#@)'@4 ''1  "O &>0/=$   ■ц -F4Z[) _ L@5@( 44./8 │ w^*,@)gea!N*)%475+G"&546332667>332##"32###= #L332##"32##!2#+ ?.V [;X1 (G.ги/  K  ╝0Q1  )A%╝  ■╡  ┼█@K@H!>Lg  gM  N=;6542-,&$ @@ +s"&55#"&546335#"&54633&&546632663232##32##ь | || s┤  о╕ ╛z ГГ Г ┤  N  j■жZ■Ц  N  ┤ $?Зв;@8 LYgaQ +w"&55#"&546335463232##╓ П П  О О ? П  О О  П ? в. @W_O %+S"&5463!2#P @    BСGЦ%/@,#LYaQ! %%+w"&&5477'&546327632#"''See de eefeСee ee eeee5%Ш╝ %@@=igYaQ!%% % +w"&5463!2#"&54632"&54632F @ г▀   ║AIЯfН /@,gW_O %+S"&546332#"&546332#Z · · · j   ╦   ; ыФJ5=@:Е  ЖhW_O55%%#%% +W"&54677#"&546337#"&546337663232##32##i DS cJн ╜P GT cKо ╛JЫ  и  ╡ Я  и  и 4Jmс@ I(N++w"&547%%&54632G ■■ ■эJ  лм  ╢  ╢JWс@Jv+e"'%&&5467%632D■э ■■ J╢  ╢  мл  ?Dx ),@)LЕW_O)(#!/+w"&&5467%%&&546632"&5463!2#R ■■ ■э  иСТ Ь  Ьd   :Ds )/@,JЕW_O)(#!+e"'%&&5467%632"&5463!2#`■э■■■ч  иЬ  Ь ТСd   =Dа -L@I LgiW_ O  - ,'%  +w"&55#"&546335463232##"&5463!2#я П П  О О й @ и П  О О  П d   IМpЬ!Cb@_А  Аi  i  i  Y a  Q#"<:8642+)'%"C#C !!+A"&&#"#"&&54>32326632"&&#"#"&&54>32326632%( &'  %( &' U   ╔   5▀\&!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒De"&&#"#"&&54>32326632%( &' ▀   =?Ц,@)LЖW_O +e"&55!"&5463!2Е ■█ 6 ? П  а X╢)▒dD@LЕv +▒DS"&54677632#"&'' h h hhX 87  78AO Й'3M@J1 Li  Y  aQ)(/-(3)3#!''  +w"&&5466326632#"&''267&&#"!2654&#"р)I--I)7l"#l7)I--I*7k#"l6/ee/2JJ╗2JJ2/ddO#F45E#@77@#E54F#?77?$<=>;;>>;;>>;;>=<  8<ь(@%iYaQ%%+W"&5463266546632#"  6%'F- &5)8╚  *(Э'C)  !4¤c2!<┌█16@30"LiW_O11'%(%+s"&546335&&54663232##56654&#"M k2>4X77X4>2k О69TKKT96  (]RKZ))ZK■ R](  g QHWSSW■ HQ g╚с+@(LЕW_O(+s"&5476632#%!* ┼  ├ ■МZм╜¤C$qS┌█)@&ЖW_O+s"&5463!2#"&5!e c  ■┴  ╕ ¤H  ж¤Z  д█%.@+LgW_O%$($=+W"&5467&&5463!2#!!2#/ хх c ■║╬╬F у ┬┬  ■l■m   ▌@8@5LЖgY_O +W"&'#"&54633266332##щ О& 2 В█ Z Mч #н  ■x╠  ¤M к╪&6@3#$L"Ma&M$N!&&+W"&54632326654632#"&'^  )3$>%  -N12K э в ■╨*&*C$ ■ш1R1/■▐ 7 ·Ъх(:M@JLАiiYaQ*)31):*: (( +W".55466324&&#"#"&&546632'266554&&#"ш$?20P0LбK░#PX@4   i  i!MaMa  M &N@4 Ж   i  i!MaMa  NY@+@?0/"!GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%. ьт .>L\j╜K░#PX@: i    i!MaM a  M&N@:Ж i    i!MaM a  NY@;^]NM@?0/"!ec]j^jUSM\N\GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Q1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%1:Ы:1/'Ы'/%'Ы'%%'Ы'%Х ╡n,-@*LЕЕv+E"&5#"&&5477632#"''Б ╜ ╓  ╓╜ K +╛╫ ╫╛¤╒ F╜▌ -@*ЕЖW_O   +e"&&5477!"&5463!'&546632╨╛¤╒ +╛╫ ╫ ╜  ╜╓  ╓Х ╡n,*@'  LЕЕv%%(+E"''&54663246327632Б ╓ ╜  ╜╓ K ╫╛+ ¤╒╛╫ F╜▌-@*ЕЖW_O +e"''&5477632!2#!3╫ ╫╛+ ¤╒╛╓  ╓╜  ╜   д█ @LЕv +W"&'&&54676632'р ХФ ФХ  ггг#   "■▐   ■▌1>>■┬= жУ(Ub{@x5 LА   А  ii  i  i i Y a QWV][VbWbNMKIA?971/)'%#  UU+E".546632#"&'#"&&54663354&#"#"&&54663232>54&#"326632'26655#"F3_K,=Еl`ДD.+#43,#:!.W=138!"%7,;)ГЖKe>7ZA.9"  /;'50-H+4Z$KvQ[ЧZHНi0Y8&.(-//,    7(д07ГЧ0Ti95cN.  п&C $'!) Ў@ь=IЗ@BA;0#LK░PX@'А~aMa&N@%А~ia&NY@?>>I?I86)(== +E"&&54667&&546632#".#"6674632#"&'''267'Fb3*A"7.L-4A ,$=D)▀ a Z`C@Pч:*,T :_86M5%X=5J&#*  K=%=6ў5r& K],j a.=#7*∙ )@2.R2&н█.@+А_M N +a"&5#"&&55466332#"&5#, 07Y44Y7▒  K  )[K KZ) ¤H  ж¤[ 4 ╛У█?M?@32#"&54&&#"54.'ц5Q,   5*DK 5?@5 192D"  0.<( 5@?5 0?e'>HA'>HBB,K. -*IF(0$<1Д8H((G/ 8*@:(0#=0В/E,!/6 /69#Ян#Ii▒dD@^  А  ~ii i Y a Q%$EC><9720,*$I%I##  +▒De".54>32'26654&&#"7"&554632#"&54&&#"326676632i5kZ69\m45kZ69\m4P|GCyQO}GCzS(9:(/3 ?@   4#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb4?з?56%  RзR  %79#Ян#AJr▒dD@g1 <?*L Аi  ig Y a Q%$JHDB63.,)($A%A##  +▒De".54>32'26654&&#"7"&''##"&546732'32654&##i5kZ69\m45kZ69\m4P|GCyQO}GCzмI4  T-(E Ц=$$=#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb вжo.)20Я ╘#()""╪%<G@D:#" L ЖY_O'&9720+*&<'<%% +A"&5463276632#"&55#"&''#"&55#"&546332##'  KL   HH б K╗K ╪  ▒▒  ■°╦ик═ў   ў%ЦИ9▒dD@.iYaQ +▒DS"&&546632'26654&&#"╓/Q10Q00Q11Q0'?&%@''?%%@Ц3S00R21Q2/T3&)B%$A))A$%B)J ыn 9╢ LK░!PX@ !M&N@ Ж!NY@   +W"&54632\   є ¤  K ыo Z@ LK░!PX@a!Ma&N@ea!NY@  +S"&54632"&54632]    ─  ■ц ■'  ■ц  ы{█]@ LK░!PX@M_"M&N@ЖM_"NY@ +W"&5"&54635463272#'╔ О О  О О  ┐  ° °  ■A ) ыМ█1y@ /LK░!PX@" gM_"M &N@" Ж gM_"NY@.,'&%# 11 +W"&55"&54635"&54635463272#'72#'┌ О ОО О  О ОО О  щ  ┐  ° °  ┐  щ ; ·ф▐#0A@>АigYaQ-+&$ ##+E"&&5546632#!32>3232654&&#"-Gm> ++ ?Y6& (( &6  H┤k'▓!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒DS"&&#"#"&&54>32326632╙%( &' k     З к c%Ё╛$F▒dDK░ PX@qYaQ@ЖYaQY╡*+"+▒DS6632#"&54676654&#"'&&j"   б       ЭY"╢▒dD@Jv+▒DS"&5477632░ f _Y  <  6d╕щ; ,▒dD@!ЕYaQ $+▒DS52654632d22 :╕ %  .  - |t ─зВ ▒╕ В░5+ sб ╨▒dD@Jv+▒DW"&5477632/ f _Н  <  6 1Ь d▒dDK░PX@pjYaQ@ЕjYaQY@ +▒DW"&&54663232654&''73J # &  3+%╧   cJ+! =n,▒dD@!JYaQ +▒DW"&&546732W(*!*# ├ ,G<'  2▀Y╜Xц╢"@ LЕv +S"&5477632#"&''0 J J JJX 87  78VGх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632   V3    c(=&c╧╕h▒╕ ╧░5+▒░h░5+  d)E&k╨da▒╕ ╨░5+▒░a░5+  c)=&c╨X▒╕ ╨░5+▒░X░5+  d*Л°'Л ╤dF▒╕ ╤░5+▒░F░5+  d),Ї&$F╤Й>▒╕ ╤░5+▒░>░5+  d+,Є&$F╙Р<▒╕ ╙░5+▒░<░5+  d*rю&$F╥В0▒╕ ╥░5+▒░0░5+  d)Л╫&$v╤d%▒╕ ╤░5+▒░%░5+рр@Еv+Q!!р■ р■  sб ╨│ 2+W477632#"&f _ { < 6 1kВ*WНМNЪм╛╨тЇ);а▓ l~РЬо└_q╧(:L^pВФж▓ЄVhzЖШ▌HZЛЭп┴╙хў +uЗ╓т".:Фх ;  С г п  c u З Щ л ╜ ╧ с ь ■  л Ї \ ╝  + = I ║ ╠ ▐ ъ №=Рвоэ #5GYkwЙЫ▌;M_qГ█#5GYkй╗═▀ё+=OewЙЫз╣╦сє#5GRdvМЮ░┬╬рЄ"4FRdvИФж╕╩╓ш·РЬз▓╜╔╘хЁ√з│=Цвн╣─╧YчєЯ #.:EQ\m╤█цё№Y╟┘CNYdozЖСдп¤2=ОЩц ,7z├ G и ┤ ┐ ╦!?!J!Ц!в!н!╕!─!╨!█!ц!ё!¤""Ю##З$$g$r$}$И$ё$№%%%%)%▌&#&x&Д&П&╘&р&ь&ў''''%'1'='H'Л'ь'°((((u(├(╧(┌(х(ё)0);)F)Q)╩*'*Ж+1+Ч+▄,,А,Л,Ъ,е,░,╗,╞,╒,р,ы,Ў-- --'-2-=-H-T-_-j-u-А-Л-Ъ-е-░-╗-╟-╥-▐-ъ-Ў.. ..$./.;.G.S._.j.u.Б.М.Ч//`/╨00L0н0щ1C1─22В2ё3:3м44d4l4t4|4Д4М4Ф4Ь4д4м4┤4ў525И66X6╕7$7}7ш8R8Х8╤9(9г9·:Z:╟; ;М;ў; <<<<<'C>Я>№?А@@*@U@│A^AЦA╙BBSBгC0C┐DDQDxDЯD╞DэEEPEнFFГF╟G GoG╥H HFHИH▓H▓H▓H▓IKI╠JbK"KuK┘LULЮL╞MMnMпNNHN|N╙O,OРPPДP╣P°QkQнR RHRВR╙S!StSьTйUЫUуV,VrV║WW┬XoX│Y8Y╤ZrZщ[7[l[┼\"\в] ]]]!])]1]9]A]I]Б]м]┤]№^^C^m^Ю^╩^╥__M_Р_Ш_¤``a`Н`╝`╩`ЎaSaКaТa╩bb$b9bNbdbzbРbжb╗b╗b╤bЁBН█ с_<їш╫їmt┘`р¤ q т!=<          иOиOSLLLLLL&S0&S0ЄSЄSЄSЄSЄSЄSЄSЄSЄSЄSщSLLLLL-S--S╩S║S╩"╩ °╩ у╩╩C╩"╩ х╩╩ ╤ЁЁ№S№S─S─S┼S─S┼S╩НS-S-S-S-S-S-SLLLLLLLL;;LMLSуSL¤S¤S¤S¤Sс*с*с*с*с*с*╟╦╟╟%O%O%O%O%O%O%O%O%O%O%Oууууу┐¤¤¤¤¤╨╨╨╨            ЄSЄSЄSЄSЄSЄSЄSЄS╩A╩LLLLLLLLLLLLL%O%O%O%O%O%O%O%O¤¤¤з#з#з#з#з#з#з#з#з#з#╧#╧#╘EТ4Т4Т4Т4Т4Т4╘2╘2╘2╘2╜3╜3╜3╜3╜3╜3╜3╜3╜3╜3╜'!E╛ ╛ ╛ ╛ ╛ тEтт ╘л5лDлл щл ╘ллX5л ╓л  л ┬н ▄н ▄н ╒╡E╡E┤D╜M╜╜M╜M) DсDсDсDсDсDсD╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2№2╘E╘E╘24D4D44 ∙u&u&u&u&u&u&BBBBу@у@у@у@у@у@у@у@у@у@у@ИООООО}ЛЛЛЛЛББББп"╥B╤3╘2√@у@/?с@з#з#з#з#з#з#з#з#з#з#з#з#╜3╜3╜3╜3╜3╜3╜3╜3л2л╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2у@у@у@у@у@у@у@у@ЛЛЛ▌EчE2'@,╙D A╤═&┘!б ╦ °A║!щ1°0БL3Ю+%1"*!B28)C*L3Ю+%1"*!B28)C*L3Ю+%2"*!B2:*C*L3Ю+%2"*!B2:*C*В qKQ▐%2╞"Xь"ф!йб-в-┴=├=-┴=┴=&░508а'# ╘T╘NC"JЛ2╟2╟2▀2Y №в-(-')Ц'Ф)i(i)╫(╫) +З+╚╚╚7%Ц)щDф,D │═▀л$р?ЙB═5пI╧;Л4Л│?▓:▌=╣IР5▀=KAF <с-S┐H▌M▌7х. .ХFХF└├=S)&═4╪9╪9^"н%╕J║KУ╡);Е╪  Ьк█LЕ n┤'L cЭd-2Gcdcdddddр═   q■uт1│·КXKКX^2а P {IMPA└√ cэ У╪█ lx@8 /9~H~Тб░ 7Y╟▌  #(5└Е∙    " & 0 : D p y Й м!"!&!.!T!^!У"""""""+"H"`"e%╩рЎ├√   0:аJТап№7Y╞╪ #&5└Аа    & 0 9 D p t А м!"!&!.!S![!Р"""""""+"H"`"d%╩рЎ├√  .├:C■н■u     ■№■·■ю¤йсмсЕс┴сСсYс#с#рїс%р█р├р╒рLрH▀э▀ф▀▄▀╙▀╔▀╜▀Ы▀}▄,"/ mdtРh╬╨╥╪╓╪тшръЪЮвММД╬м╠│╘Ё°═╖╕▓╪и╜з┤йк▀▄▐оў "#(+68:@AGSUVZ`dopuv{╗╡╝ц┴ н╣║└─╧╨╒╪уцщяЁЎ  %&+╣ ║ф╧н╥╓╙╫· √g╚х╛№ ■тХЦю∙░Фh╔бЮвп  2-/0FLHJQK┌OieghwT▓о░╢▒╡╖╜╦┼╚╔▐┌▄▌┴ї√ў∙·█■')│п┤╗╛┐╝┬├ ╠╞╩!═╟%╥$╤'╘&╙*╫)╓5т3р.█4с1┘,▀7х9чш;ъ=ь<ы>э?юBёDєCЄEЇN¤I°M№RWYX[ ^ ] \ cbankfmjlr"x(y|,~.}-ЬTд\ ╕P _  t$q!s#ЙAКBД<Ж>З?И@Е=7Б9В:Г;А8РHСIТJЛCНEОFПGМDФLУKЪRЫSХMЧOШPЩQЦNЭUЯWаXбYЮVвZг[е]з_и`йaж^z*кbлcмd╞╟┬─┼├▒їЄєЇь┘ср░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╡(*▒B@ 5- *▒B@ 91% *▒ B╜ А ААА *▒B╜@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ 7/*╕ Е░Н▒D│dDD╪╪####█╪ █ ·▐ · !!nn ¤!!█m█j╞ |  | Ь 6к  | Fр  & ИF V╬ V╬ 0$ 0$  T 4t  и ▓Copyright 2011 The Dosis Project Authors (impallari@gmail.com)Dosis ExtraLightRegular3.001;IMPA;Dosis-ExtraLightVersion 3.001; ttfautohint (v1.8.2)Dosis-ExtraLightDosis is a trademark of EdgarTolentino, PabloImpallari, IginoMarini.EdgarTolentino, PabloImpallari, IginoMarinihttp://www.impallari.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLDosisExtraLight Ь21$╔╟bнcоР%&¤ d'щ (e  ╚╩ ╦ )*°+,╠═╬·╧-./т01 !"f2╨#╤g╙$%С&п░3э45'()6*ф√+,7-./8╘0╒h╓123459:6789;<ы:╗;=<ц=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkDilkljmnnmаoEF■opqGъrHpstrsuqvwxIJ∙yz{K|}L╫t~vwuАБВMГДNЕЖOЗИЙКуPQЛМНОxRyП{|zРСбТ}▒SюTUУФХVЦх№ЧШЙWЩЪЫX~ЬАБЭЮЯабYZвгде[\ьж║з]ичйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀└┴ЭЮЫрстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ╝Ї  їЎ   лг"в├З ? ^`>@▓│B─┼┤╡╢╖йк╛┐ Д╜жЕЦяЁ╕ П!ХФУзaдAТЬЪЩеШ╞╣# ИЖЛКМГ_шВ┬Н█с▐╪О▄C▀┌р▌┘ !"#$%&'()*+,-./0123456789:;AbreveAmacronAogonekAEacute Ccircumflex CdotaccentDcaronDcroatEbreveEcaron EdotaccentEmacronEogonek Gcircumflexuni0122 GdotaccentHbar HcircumflexIJIbreveImacronIogonekItilde Jcircumflexuni0136LacuteLcaronuni013BLdotNacuteNcaronuni0145EngObreve OhungarumlautOmacron OslashacuteRacuteRcaronuni0156Sacute Scircumflexuni0218TbarTcaronuni021AUbreve UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave YcircumflexYgraveZacute Zdotaccentuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4uni1EB8uni1EBAuni1EBCuni1ECAuni1EC8uni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0uni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEEuni1EF4uni1EF6uni1EF8abreveamacronaogonekaeacute ccircumflex cdotaccentdcaronebreveecaron edotaccentemacroneogonekuni0259 gcircumflexuni0123 gdotaccenthbar hcircumflexibreveijimacroniogonekitildeuni0237 jcircumflexuni0137 kgreenlandiclacutelcaronuni013Cldotnacutencaronuni0146engobreve ohungarumlautomacron oslashacuteracutercaronuni0157sacute scircumflexuni0219tbartcaronuni021Bubreve uhungarumlautumacronuogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexygravezacute zdotaccenta.ss01b.ss02q.ss02g.ss03m.ss04n.ss04r.ss04u.ss04uni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5uni1EB9uni1EBBuni1EBDuni1ECBuni1EC9uni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEFuni1EF5uni1EF7uni1EF9one.lnumuni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni2070uni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079uni2153uni2154 oneeighth threeeighths fiveeighths seveneighths slash.001uni00ADuni00A0CREurouni03A9uni0394uni03BCarrowup arrowright arrowdown arrowleft estimateduni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni031B dotbelowcombuni0326uni0327uni0328uni0335 uni0302.001 caron.alt uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303NULLuniE000uniF6C3  К(*=@DF`b└┬┬─═╧╒╫тфьяєїdщщ#0 !  "LDFLT  kernmarkmkmk  Rrh hfi, B▐>Ъ▄▄▄▄▄▄▄▄▄▄иbbbbbbZZZZД▐ $ $ $ $ $L FLL|LLLLLLLLL|| X X ( ( Ж ( ( (LLLLLLLZZZZZZZZZZZ n tZ╓╓╓╓ЁЁЁЁЁЁ|||||||||||мЄЄЄЄЄTТТТТТоооо▄▄▄▄▄▄▄▄▄▄▄▄LLZZZZZZZZZZZZZ||||||||ТТТ*,*,*,*,*,*,*,*,*,*,*B*B*T$$$$$$6<jX*B*B*B*B*B*B*B*B*B*B*TnHHHHH'░'░'░*╩*╩bАо╪*╩*╩ *╩D*╩*╩ 44*╨*╨N*╨P'░'░'░'░'░'░'░*T*T*T*T*T*T*T*T*T*T*T*B*T*Tz ╪ ╪ ╪ ╪!!!!!!!"D"D!v"D*~*~*~*~*~*~*~*~*~*~*~"V$p$p$p$p$p$Ц*д*д*д*д*д'8'8'8'8'J*T'░* '░'╞((* *,*,*,*,*,*,*,*,*,*,*,*,*B*B*B*B*B*B*B*B*╩*╩*T*T*T*T*T*T*T*T*T*T*T*T*T*~*~*~*~*~*~*~*~*д*д*д*╩*╨-f*┌*р++\+■, ,.-$-f-─/║=╝=╝/ф/ф/ъ/Ї0v0м1F1P4┬5\8 8:╞:╘=К=К=К=К=╝=ц>>B>Ф>▓>Ё>Ў>Ё>Ў??^?Ф?к?─?т?Ё@JAМBJB─B╬чщьчюfыjtdЭЭoзкpннtп░u▓╡w╖╗{╜└А┬═Д╓╓Р╪┘С▄▄Уў°Ф№ Ц.` чa чb чc чu °v ·w ·x ·y ·z ·{ ∙| ∙} ∙~ ∙к ·л ·м ·т  ·  ·  ·  ·  · · ·  ∙! ∙" ∙# ∙$ ∙% Ё& ·' ·( ·) ·* ·+ є, є- є. єb ·c ·d ·╕ э║ ю╝ ьu╓▄тх ф% Єn╬ э╓█▄▌▐ртух н& ▓' ▓( ▓) ▓* ▓b ▓c ▓d ▓n Ё° Ў№ ч Я Я Я Я Я Я Я Я  Я  Я  х  х ш ш ш ш ш ш# ш$ ш% ш& ш' ш6 }7 }G шH шI шJ шK шL шM шN шO шP шQ шR шU шZ ї[ ї\ ї] ї^ ї_ ї ЯА ЯБ ЯВ ЯГ ЯД ЯЕ ЯЖ ЯЗ ЯИ ЯЙ ЯК ЯХ шЦ шЧ шШ шЩ шЪ шЫ шЬ шЭ шЮ шЯ ша шб шн Jо Jп д░ J▒ J▓ J│ J┤ J╡ Х╢ J╖ J╕ J║ А╗ А╝ ╡╜ А╛ А┐ А└ А┴ А┬ А├ А─ А┼ А╞ П╟ е╚ А╔ А╩ А╦ А╠ А═ А╬ `╧ ч╨ А╤ И╥ А╙ А╘ А╓╪ у┘ к┌ ─█▄ у▌ у▐ у▀ ур ус ут уу уф ух уя ДЁ Дё ДЄ Ыє ДЇ Дї ДЎ Аў А° Р∙ А· А√ А№ А¤ А■ А  А А А Д А Д Д Ў Д  И  И  ╙  И  И И ч ч ч ч ч З З З З З З З З З З З О  О! О" О# О$ О% t& О' О( О) О* О+ S, S- ═. S/ J1 А2 А3 t4 t5 t6 З7 J8 J9 J: J; J< J= J> J? J@ JA JB JC АD АE АF АG АH АI АJ АK уL уM АN АO АP АQ АR АS АT АU АV АW АX АY АZ З[ З\ З] З^ З_ З` Зa Зb Оc Оd Оe чf чj ёkl їn ╦p ёqr Їs Ўt шз пи пй ═к ═л и▓ э┤ ╢╕║╝╜ м╛ м┐ м└ м┬ п├ и╚ ╚╔ ╟╩ ╚╦ ╟ў ┼° ы№ ╘u ·т √ ·% Ё╕ Є║ є╝ ёт √0 √▓ █ рт ╒lt╕║╝° ·№ Ї(` нa лb нc нo мp оq оr оs оt оv дw дx дy дz дк дл дм д╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚─ ╖┼ ╖╞ ╖╟ ╖╠ ╝═ ╝° °№ ╦¤ ╡o м╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚° °№ ╦¤ ╡┴ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒  ╒  ╒6 Д7 Д` √a √b √c √u °vwxyz{ ё| ё} ё~ ё ╒А ╒Б ╒В ╒Г ╒Д ╒Е ╒Ж ╒З ╒И ╒Й ╒К ╒клмн що щп щ░ щ▒ щ▓ щ│ щ┤ щ╡ щ╢ щ╖ щ╕ щ║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╬ ў╨ ц╤ ц╥ ц╙ ц╘ ц╓┘ ў▄тх я ўЁ ўё ўЄ ўє ўЇ ўї ўЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ў ц ў ў ў ў  Ї  Ї  Ї  Ї  Ї Ї ° ° ° ° ° ° ° ° ° ° °/ щ1 ц2 ц3 ╫4 ╫5 ╫6 °7 щ8 щ9 щ: щ; щ< щ= щ> щ? щ@ щA щB щC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цZ °[ °\ °] °^ °_ °` °a °n эз пи пл г▓┤ ╦╕ ш║ ъ╝ ш╜ ╞╛ ╞┐ ╞└ ╞┬ п├ г╚ ё╩ ёў ї° ·X ў ў ў ў ў ў ў ў  ў  ў6 ∙7 ∙` ┐a ┐b ┐c ┐o √pqrstu фv ыw ыx ыy ыz ы{ ▐| ▐} ▐~ ▐ ўА ўБ ўВ ўГ ўД ўЕ ўЖ ўЗ ўИ ўЙ ўК ўк ыл ым ын ·о ·п ·░ ·▒ ·▓ ·│ ·┤ ·╡ ·╢ ·╖ ·╕ ·/ ·3 √4 √5 √7 ·8 ·9 ·: ·; ·< ·= ·> ·? ·@ ·A ·B ·з ╧и ╧л ╧о я┤ ъ╕ ф║ ч╝ ф┬ ╧├ ╧┼ °╟ °¤╬ √╓▄т хn їт Ё% ыn▓ °)░ л│ л╢ л╝ ╢╛ й╬ з╥ д╓┘ к┌ ▌█▄ я▌ я▐ яр ят ях яї е й е ў  ╘  н д ▒% ┤- ╬e ъf ъj ёkn ┘p ёqr їt ъ▓ э┤ ╤ў ╥° э№ ╫╤ ┘ ┘ ┘ ┘ ┘ ┘ ┘ ┘  ┘  ┘  √  √6 ╗7 ╗ ┘А ┘Б ┘В ┘Г ┘Д ┘Е ┘Ж ┘З ┘И ┘Й ┘К ┘н ╦о ╦п ╦░ ╦▒ ╦▓ ╦│ ╦┤ ╦╡ ╦╢ ╦╖ ╦╕ ╦║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╬ ╘╧ ·╨ ╦╤ ╦╥ ╦╙ ╦╘ ╦╓┘ ╘█▄▌▐рт&х я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╙ ╦ ╘ ╘ э ╘  ╨  ╨  ╨  ╨  ╨ ╨ · ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ё  ё! ё" ё# ё$ ё% я& є' є( є) є* є+ ш, ш- ш. ш/ ╦1 ╦2 ╦3 ╦4 ╦5 ╦6 ╫7 ╦8 ╦9 ╦: ╦; ╦< ╦= ╦> ╦? ╦@ ╦A ╦B ╦C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╫[ ╫\ ╫] ╫^ ╫_ ╫` ╫a ╫b єc єd єe ·f ·n чqt Єз ╠и ╠й юк юл ╠┤ ╥║╜ ▄╛ ▄┐ ▄└ ▄┬ ╠├ ╠╚ ф╔ Ї╩ ф╦ Їў ч° °№ ї╬ ╪╓┘ ██▄▌▐рт&х  █ ь Ї% єkn ыqt є┤ ╫╕║╝ў ъ° ∙Ц ў ў ў ў ў ў# ў$ ў% ў& ў' ўG ўH ўI ўJ ўK ўL ўM ўN ўO ўP ўQ ўR ўU ўХ ўЦ ўЧ ўШ ўЩ ўЪ ўЫ ўЬ ўЭ ўЮ ўЯ ўа ўб ў║ ё╗ ё╝ ё╜ ё╛ ё┐ ё└ ё┴ ё┬ ё├ ё─ ё┼ ё╞ ё╟ ё╚ ё╔ ё╩ ё╦ ё╠ ё═ ё╬ ∙╨ ·╤ ·╥ ·╙ ·╘ ·╓█▄▌▐ртхЎ ёў ё° ё∙ ё· ё√ ё№ ё¤ ё■ ё  ё ё ё ё ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ▌  ▌! ▌" ▌# ▌$ ▌& ▄' ▄( ▄) ▄* ▄1 ё2 ё6 ъC ёD ёE ёF ёG ёH ёI ёJ ёM ёN ёO ёP ёQ ёR ёS ёT ёU ёV ёW ёX ёY ёZ ъ[ ъ\ ъ] ъ^ ъ_ ъ` ъa ъb ▄c ▄d ▄t╜ ю╛ ю┐ ю└ ю╚ Ё╩ Ё° ·№ ї ╬ ф█рт · ╩0 ∙n сt° °№ хo ┘ ъ0 ·kqtо ї▓ р╡ ▄╕║╝№ Ў¤ х ╬ э╓█▄▌▐ртх нn Ё° Ў№ чт √0 √u ў ∙% °0 √╕ ю║ я╝ ю¤╬ √т °%┤ Ў$│ й╢ й╝ м╛ в╟ в╠ в╬ и╓┘ ║█▄▌▐ртх¤ в в ║ я  ╠  л ╙% ╤e їf їjn ╫pqrt я┤ ╦ў ╒° є№ щo ▐о я╡ я° ют %+ №, №- №. №з ўи ўл ў┤ Ў┬ ў├ ў;о╣.╧╒.╓.╫.╪3┘3┌3█3▄3▌3▐3▀3р3с3т3у3ф3х3ц.ч.щ&ъ&ы&ь&э&ю&.-----801K3L3efм о>▓&╡O╕I║I╝I─ ┼4╞ ╟4╠<═<°№¤@ то▓ ─╞╢ ╤ ╤ ╤ ╤ ╤ ╤ ╤ ╤  ╤  ╤6 ж7 ж` їa їb їc їopqrstu Ўv ·w ·x ·y ·z ·{ х| х} х~ х ╤А ╤Б ╤В ╤Г ╤Д ╤Е ╤Ж ╤З ╤И ╤Й ╤К ╤к ·л ·м ·н ъо ъп ъ░ ъ▒ ъ▓ ъ│ ъ┤ ъ╡ ъ╢ ъ╖ ъ╕ ъ║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы╨ я╤ я╥ я╙ я╘ я╪┘┌█▄▌▐▀рстуфхщъыьэюЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы  №  №  №  №  № №/ ъ1 ы2 ы3 щ4 щ5 щ7 ъ8 ъ9 ъ: ъ; ъ< ъ= ъ> ъ? ъ@ ъA ъB ъC ыD ыE ыF ыG ыH ыI ыJ ыKLM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыз ┘и ┘л ┘┤ ┌╕║╝╜ ╥╛ ╥┐ ╥└ ╥┬ ┘├ ┘╚ Є╩ Єў Ў° щo ∙u хухо ф╡т ╡╕║╝┼╟ т о╡ ╕║╝┼╟╠═¤ т о▓/╝─┼╞╟╠ ═ т о▓╕║╝─┼╞╟╠═т мо▓╡╕║╝─┼╞╟╠ ═ 1╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLм о5▓╡#╕║╝─$┼╞$╟╠!═!¤  т о▓0╝─┼╞╟╠═o ч╬ °0о╡ ї° Є@о╣,╝╧╒,╓,╫,╪2┘2┌2█2▄2▌2▐2▀2р2с2т2у2ф2х2ц,ч,щ$ъ$ы$ь$э$ю$Є∙, <++++-60/K2L2efмо<░ ▐▓$╡N╕J║I╝I─┼3╞╟3╠;═;°№¤?  т&'()*bcd░ ▐Ч  √ ∙ ∙ ∙ ∙ ∙ ∙ √ √ √ √ √ √ √ √ √ √ √ √  √! √" √# ∙$ ∙% ∙& ∙' ∙( √) √* √+ √- √. √/ √0 √1 √2 √3 √4 √5 √8 √9 √: √; √< √= √? √@ √A √B √C √D √E √F √G ∙H ∙I ∙J ∙K ∙L ∙M ∙N ∙O ∙P ∙Q ∙R ∙S √T √U ∙V √W √X √Y √Z ·[ ·\ ·] ·^ ·_ ·` дa дb дc дd °e °f °g °h °i °j °k °l °m °n °o ╙p ┌q ┌r ┌s ┌t ┌v ╗w ╗x ╗y ╗z ╗{ √| √} √~ √Л √М √Н √О √П √Р √С √Т √У √Ф √Х ∙Ц ∙Ч ∙Ш ∙Щ ∙Ъ ∙Ы ∙Ь ∙Э ∙Ю ∙Я ∙а ∙б ∙в °г °д °е °ж °з °и °й °к ╗л ╗м ╗о щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Ї o °u ┘о ╥┤ ╓╡╕ ▀║ ф╝ ▀ў ї° чo ╪о ъ╡ ч Ў  ї! ї" ї# ї$ ї% Ї& Ї' Ї( Ї) Ї* Ї+ °, °- °. °b Їc Їd Їо Ї╡ Ё╕ Є║ є╝ Є3o є╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLмо▓╡ √╕║╝─┼╞╟╠═° є¤ o єо Ё╡ ї° єЖ щ щ щ щ щ щ щ щ  щ  щ6 ╘7 ╘Z √[ √\ √] √^ √_ √` ▒a ▒b ▒c ▒o ёp Їq Їr Їs Їt Їu ▌v ╒w ╒x ╒y ╒z ╒{ ╤| ╤} ╤~ ╤ щА щБ щВ щГ щД щЕ щЖ щЗ щИ щЙ щК щк ╒л ╒м ╒║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═Ўў°∙·√№¤■ 123 ∙4 ∙5 ∙CDEFGHIJMNOPQRSTUVWXYз ти тл то ▀┤ ч╡ Ї╕ т║ ц╝ т╜ Є╛ Є┐ Є└ Є┬ т├ т─ Ў┼ Ў╞ Ў╟ Ў╠ ў═ ў° ў o ёu ▌о ▐┤ ц╡ Ї╕ т║ ц╝ т° Ўи ° ° ° ° ° °# °$ °% °& °' °6 °7 °G °H °I °J °K °L °M °N °O °P °Q °R °U °` │a │b │c │defghijklmno юp Єq Єr Єs Єt Єv ╤w ╤x ╤y ╤z ╤Х °Ц °Ч °Ш °Щ °Ъ °Ы °Ь °Э °Ю °Я °а °б °вгдежзийк ╤л ╤м ╤║ ї╗ ї╝ ї╜ ї╛ ї┐ ї└ ї┴ ї┬ ї├ ї─ ї┼ ї╞ ї╟ ї╚ ї╔ ї╩ ї╦ ї╠ ї═ ї╨ √╤ √╥ √╙ √╘ √Ў їў ї° ї∙ ї· ї√ ї№ ї¤ ї■ ї  ї ї ї ї1 ї2 ї6C їD їE їF їG їH їI їJ їM їN їO їP їQ їR їS їT їU їV їW їX їY їZ[\]^_`aо Ё╡ Ї╜ с╛ с┐ с└ с╚ Ў╩ Ў╠═° Ёo фо э╡ ю° ё ∙  °! °" °# °$ °& ў' ў( ў) ў* ўb ўc ўd ўо ї╡ ▌╕║╝─ Є┼ Є╞ Є╟ Є╠ є═ єo ╩ ∙о ъ╡ ▄¤o ╩ ∙  ∙! ∙" ∙# ∙$ ∙& °' °( °) °* °b °c °d °о ъ╡ ▄─ ю┼ ю╞ ю╟ ю╠ я═ я¤xн уо уп у░ у▒ у▓ у│ у┤ у╡ у╢ у╖ у╕ у║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╨ ы╤ ы╥ ы╙ ы╘ ыЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ц  ·  ·  ·  ·  · ·/ у1 ц2 ц3 у4 у5 у7 у8 у9 у: у; у< у= у> у? у@ уA уB уC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цз ╙и ╙л ╙о ╥┤ ╓╡╕ ▀║ ф╝ ▀╜ ═╛ ═┐ ═└ ═┬ ╙├ ╙─ ў┼ ў╞ ў╟ ў╚ Ё╩ Ё╠ °═ °ў їо щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Їo ╠ ·о ъ╡ ▌¤o ╠о ъ╡ у¤ o ╩u Ё% їо ш╡ ▀╕ ъ║ ы╝ ъ¤ o ╫u ъ%о ц┤╡ ш╕ ш║ ъ╝ ш o Єu ▄о ▐┤ ц╡ ї╕ т║ ц╝ т° Ўт т░ ▐ЭU` Ўa Ўb Ўc Ўn ┌ЭА░ ┘╜ ╩╛ ╩┐ ╩└ ╩╪ └┘ ═▄ Ї` їa їb їc їvwxyzклмЭI╕ ш║ щ╝ ч(67` їa їb їc їo Ўp Ўq Ўr Ўs Ўt Ўv їw їx їy їz їк їл їм їkmnoq эЭMз Ўи Ўл Ў╡ я╕ ї║ Ў╝ Ї┬ Ў├ Ў╠ ї═ ї╪┘ ї■ яnЭO■ Ї` Ўa Ўb Ўc ЎЭJ╕ щ║ ъ╝ ш= ╪ ╪ ╪ ╪ ╪ ╪ ╪ ╪  ╪  ╪6 ╘7 ╘`abcopqrstvwxyz ╪А ╪Б ╪В ╪Г ╪Д ╪Е ╪Ж ╪З ╪И ╪Й ╪К ╪клмkn ├t ъз │и │л │░ ╒│ ц┤ Ы╜ ╩╛ ╩┐ ╩└ ╩┬ │├ │╥ щ╪ │┘ ╧▄ ф` їa їb їc їvwxyzклмЭI╕ ч║ щ╝ ц` ёa ёb ёc ёvwxyzклмt єЭ3з Єи Єл Є┤ Є╕ т║ ф╝ с┬ Є├ Є}  ї ї ї ї ї ї# ї$ ї% ї& ї' їG їH їI їJ їK їL їM їN їO їP їQ їR їU ї` чa чb чc чd їe їf їg їh їi їj їk їl їm їn їo чp шq шr шs шt шuv цw цx цy цz ц{|}~АБВГДЕЖЗИЙКХ їЦ їЧ їШ їЩ їЪ їЫ їЬ їЭ їЮ їЯ їа їб їв їг їд їе їж їз їи їй їк цл цм цj юkn уp юqtЭФ░ ▌│ ь╡ ╙╕║╝╜ █╛ █┐ █└ █╠ щ═ щ╥ ┌╪ ╥┘ ┌▄ ю■ ф j0kSlGmJoLp0qАr<sIto эрт ` їa їb їc їo їp їq їr їs їt їv їw їx їy їz їк їл їм ї Ё  Ё! Ё" Ё# Ё$ Ё& Ё' Ё( Ё) Ё* Ёb Ёc Ёd Ё щ ▐ъ ▐ы ▐ь ▐э ▐ю ▐k Їl цm цo ьq ╨s яt ▄& ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀)6 ▓7 ▓` эa эb эc э{ ф| ф} ф~ ф ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓▄.▌т3х.l Ёt ▀▄ ╧ ╧ ╧ ╧ ╧ ╧ ╧ ╧  ╧  ╧  є  є Ї Ї Ї Ї Ї Ї# Ї$ Ї% Ї& Ї' Ї6 ╬7 ╬G ЇH ЇI ЇJ ЇK ЇL ЇM ЇN ЇO ЇP ЇQ ЇR ЇU Ї ╧А ╧Б ╧В ╧Г ╧Д ╧Е ╧Ж ╧З ╧И ╧Й ╧К ╧Х ЇЦ ЇЧ ЇШ ЇЩ ЇЪ ЇЫ ЇЬ ЇЭ ЇЮ ЇЯ Їа Їб Їн ╧о ╧п ╧░ ╧▒ ╧▓ ╧│ ╧┤ ╧╡ ╧╢ ╧╖ ╧╕ ╧║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╨ ╠╤ ╠╥ ╠╙ ╠╘ ╠█рт я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╘ ╦ ╘ ╘ х ╘  ╨  ╨  ╨  ╨  ╨ ╨ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ф  ф! ф" ф# ф$ ф% ф& х' х( х) х* х+ ▐, ▐- ▐. ▐/ ╧1 ╦2 ╦3 ╔4 ╔5 ╔6 ╒7 ╧8 ╧9 ╧: ╧; ╧< ╧= ╧> ╧? ╧@ ╧A ╧B ╧C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╒[ ╒\ ╒] ╒^ ╒_ ╒` ╒a ╒b хc хd хj ьl їn ▓p ьr яst ┘┤ &` ┘a ┘b ┘c ┘o ▀p тq тr тs тt тv ╓w ╓x ╓y ╓z ╓к ╓л ╓м ╓ Є  ё! ё" ё# ё$ ё& ё' ё( ё) ё* ёb ёc ёd ёkq┼ ╤╟ ╤╠ ╙═ ╙л  я я я я я я# я$ я% я& я' яG яH яI яJ яK яL яM яN яO яP яQ яR яU яpqrstАБВГДЕЖЗИЙКХ яЦ яЧ яШ яЩ яЪ яЫ яЬ яЭ яЮ яЯ яа яб я║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ ї ї ї ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj тk їm Ёn ╥p тr чs щ╖ ю╣ ъ╕ ю║ я╝ эл  Ё Ё Ё Ё Ё Ё# Ё$ Ё% Ё& Ё' ЁG ЁH ЁI ЁJ ЁK ЁL ЁM ЁN ЁO ЁP ЁQ ЁR ЁU ЁpqrstАБВГДЕЖЗИЙКХ ЁЦ ЁЧ ЁШ ЁЩ ЁЪ ЁЫ ЁЬ ЁЭ ЁЮ ЁЯ Ёа Ёб Ё║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы█▐ртЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы ї ї ї ї щ щ щ щ щ щ щ щ щ щ щ ц  ц! ц" ц# ц$ ц& ч' ч( ч) ч* ч1 ы2 ы6 щC ыD ыE ыF ыG ыH ыI ыJ ыM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыZ щ[ щ\ щ] щ^ щ_ щ` щa щb чc чd чj фk Ўm Ёn ╒p фr шs ъ╖ я╣ ы╕ ъ║ ы╝ щн  ю ю ю ю ю ю# ю$ ю% ю& ю' ю6 Ў7 ЎG юH юI юJ юK юL юM юN юO юP юQ юR юU юpqrstАБВГДЕЖЗИЙКХ юЦ юЧ юШ юЩ юЪ юЫ юЬ юЭ юЮ юЯ юа юб ю║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ Ї Ї Ї Ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj сk їm юn ╥p сr цs ш╖ ю╣ щ o ▄u ю Є% сk ёl єm єo єq ╘s яt ┘╠ Ы o ╠ тj Єk Їn фp Єq─ п┼ п╠ п o ╠ тj Єk Їn фp Єq─ п┼ п╠ А ╓▄рт,х є Ўз пи пл п┬ п├ пo╓█ ▄▌▐ртх Є ї% °з пи пл п┤ ╢┬ п├ пў ╕№ э╓▄рт,х є Ўo╓█ ▄▌▐ртх Є ї% °┤ ╢ў ╕№ эo Їo фu Ё% Ў╓█▄рт!х Ї ў%n ╥з пи пл п┤ ╝╜ Ы╛ Ы┐ Ы└ Ы┬ п├ Аў ╔№ Ў ╓█▄рт!х Ї ў%n ╥┤ ╝ў ╔№ Ўj Їm Ўn ▌p Їr Єk яl Ўnq ╞s їt ╧k ёl фm фo шq ╬s уt ╪kq шt э` ╓a ╓b ╓c ╓o эp яq яr яs яt яv ▄w ▄x ▄y ▄z ▄к ▄л ▄м ▄┼ ┴╟ ┴╠ ╬═ ╬P` ╣a ╣b ╣c ╣d √e √f √g √h √i √j √k √l √m √n √o ┌p ▄q ▄r ▄s ▄t ▄v ┴w ┴x ┴y ┴z ┴в √г √д √е √ж √з √и √й √к ┴л ┴м ┴ · · · · ў ў ў ў ў ў ў ў ў ў ў ї  ї! ї" ї# ї$ ї& є' є( є) є* є0 ∙6 ўZ ў[ ў\ ў] ў^ ў_ ў` ўa ўb єc єd є┼ ▀╟ ▀╠ с═ с/ ї ї ї ї ї ї ї ї  ї  ї` ╫a ╫b ╫c ╫o Їp Ўq Ўr Ўs Ўt Ўu їv ъw ъx ъy ъz ъ{ щ| щ} щ~ щ їА їБ їВ їГ їД їЕ їЖ їЗ їИ їЙ їК їк ъл ъм ъ┼ Є╟ Є ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀6 ─7 ─ ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓█▄ртхkn ▌т  Ш  ╘)$ √ · · ∙ ў √ · є ° √ ш ° √ √ · ў √ · · в ° ╨ и ё ° Ё ю ю ° ╞ ш ▌ щ ╔ √ ┌ ┘ ╪ · ° · √ ° √ √ √ ° √ ∙ ў Ў Ы ∙ ∙ ╙ · в Ё ю ю с Ё ╥ л ў м ╥ · р √ ж ў ╓ з ° Ё я я · ∙ √ ° √ ° ∙ Є Ў · ∙ ї ° ∙ ° ° ╢ Ў ▄ ў в ш Ї є є √ ∙ √ ю ° ў ї Ш ° · ╥ ∙ в я ю ю в ў й ┼ ╡ ║ ╪ л ╔ б ╙ ╟ ї ╦ Ч ї м █ ╨ ч ш ╪ ї с √ ░ ╨ ё ° ╧ ў Ў Ў √ · ф ° ў у ° √ ъ ъ ▌ ч д Ч о Ш Ы ┐ є ╨ ё ╝ ╖ ╖ ю я · є ∙ Ї ╣ ° ф Щ ╒ ∙ ° ў ў √ √ √ · н ┌ о є є Є Є √ √ · Ў · є Ї √ ╤ ╘ ▌ ▄ █ Ў ╪ ╨ ╤ Ї с · э ╥ ╞ Ё ч ё ▀ √ Є № п ╪ · Є ў ў щ ╒ Ї т № ░ ╤ Є ∙ ╘ ў Ў Ў ї ° ∙ ї ° √ Є й щ л ╔ д я е ▓ ў н ╤ д ▒ ╧ ъ Ё л г ц о ╒ ╧ ╘ ╒ Ў · ╘ ∙ ╠ Ў ╔ ┐ · ° ╥ ю є ў Є ╔ с ╨ с ╤ ╝ ╡ ╢ ї ╟ ё ▀ Є р Є ╬ ш ┌ я ╝ ╢ ц у ╔ ▄ · ∙ ╙ ы м ╗ ═ у а Ё ° ў ў ї ╘ ў о ┌ ° Є Ў ∙ ° ─ ъ й ┘ ў ё Ў ї ї · ∙ √ ° √ ° ∙ Є Ў · ∙ ї √ √ ї Є Ё ╘ ╘ ю є ▄ Ё ╘ ф ч Ў ╘ ╥ ╠ ╤ ю ч ╧ ъ я ╝ ╢ Є Ў ╟ э · ╢ ф я Є ┌ Ї Ї ў ё ╝ Ё ў ╝ Ў я ╫ ╝ ╥ ю ё ╪ є є Ў Ё ╡ я Ў ї э ╒ э Ё ╓ Є Є ї я ╢ ю ї ╢ Ї ь ╪ ▐ ╢ ╔ ! #R UnPptjv└o┬╬║╨ч╟щь▀юу∙ $&.01 34"7f$зкT╜└X┬═\J   !#'(+,,-56789!:?@FRRVYZ_`cdnptvz {~КЛТУФвйкм н╢╖╕╣╣║┐└└ ┬├ ─═╬╬╨╘╒╫ ╪х цч%щьююяї Ў  $&* +.0011 34 7BCJKL MYZabd ee ffзийк"╜└┬├──'┼┼(╞╞'╟╟(╚╚#╔╔$╩╩#╦╦$╠═&H   "#'(+-5678=?FGRSTUUVYZ_ `cdnptvz {~КЛФХбвйкм н╕╣╣║═╧╧╨╘╒╫╪хцчщю яї Ў   $&* +.//1235667BCJKLMYZabd efзийклл╜└┬├──"┼┼#╞╞"╟╟#╚╚╔╔ ╩╩╦╦ ╠═! .Т▄ !"#(*=&@D:F`?b└Z┬┬╣─═║╧╒─╫т╦фь╫яєрїхdщщTм▓╕╕╛─╩╨╓F.4:>DN ╞ёU▓─╩Ъ─╩|─╩Ъ─╩ T─╩Ъ─╩ Z─╩▓─╩ `─╩ f─╩ l x r x ~^ К в Ц в Д в К Р Ц в Ь в~в и╢в ию ╓ о ┤ ╓ ║ ║ ╓ └ ю ╞ ╠ ▐╘ ╥╘ ╪╘ ▐┌ ф╘hz ъ\z ъ$** №$* Ё$* №$* Ў$* Ў$* №$*$*$*$*& &,>D8P2D8P>D8P>DJPV╛hz\zbzhntzHflrxTflrxАflrxTflrxЖflrxTflrxМflrxТflrxHflrxTflrx`flrxШЮдк░ЖHl~ЖКЖ╢Ж~╝ц╘╬╘┬╘ц╚╬╘ц┌цPЄрPЄцьЄ~ЬвиКЬви°ЬвиКЬви■ЬвиКЬвиЬви Ьви~ЬвиЬвиЦЬви"4.4.4(4.4:@о╞L╞L╞F╞L╞RjpXjp^jpdjpv─╩|╕╩В─╩И─╩О─╩Ф─╩Ъ╕╩а─╩ж─╩м─╩▓╕╩╛─╩╨ ╓Ї ▄ т ш юЇ ·  *$*0flrxTfNrx6flrx<flrxBflrxHfNrxZflrxHflrxTflrxHfNrxTflrxZflrx`flrx~ЬДиРЬви~ЬвиКЬви~ЬДиКЬвиРЬвиЦЬвио┤║╞└╞Ьо┤До┤fо┤До┤╠о┤До┤╥о┤Ьо┤╪о┤▐о┤фЁъЁ№Ў№ & &╪ЁЎ└ЁЎDЁЎ,ЁЎ└ЁЎJЁЎJЁЎ└ЁЎ2ЁЎ╪ЁЎ8>╪PDP└P╪PJPVTb\TbhtntАtzАЖМШТШдЮдк░╢┬╚ъ╬╝╚ъ╬┬╚ъ╬┬╚╬╘┌HTрTцTHьЄT,JPV\8JPV\°JPV\8JPV\■JPV\8JPV\JPV\ JPV\,JPV\8JPV\DJPV\06$$$("""(.LF@F4FL:@FLRX^jpd|jpd|jpv|bАЖМnАЖМВАЖМnАЖМИАЖМnАЖМОАЖМФАЖМbАЖМЪАЖМzАЖМажм╛╕╛╕╛▓╛╕╛─╩Тк╓к╓к╨к╓к▄Ї·тЇ·шЇ·юЇ· $*06bЖ<BHNTZ`о┤fв┤lо┤rо┤xо┤~о┤Дв┤Ко┤Ро┤Цо┤Ьв┤ио┤║ЁЎ└▐Ў╞ЁЎ╠ЁЎ╥ЁЎ╪▐ЎфЁЎъЁЎ№JPV\8J2V\JPV\ JPV\&JPV\,J2V\>JPV\,JPV\8JPV\,J2V\8JPV\>JPV\DJPV\bАhМtАЖМbАЖМnАЖМbАhМnАЖМtАЖМzАЖМТШЮкдк░Цн╡W█W╣T█▐█5 1╣Ц%n╔▐Цнї█ї╔╣█Цne╔eЦe╣eнe╡°█°╣°■■█■ s╣¤█░█¤ sтnG█╣▐█ s╡╔Ц╖нз█з█Є█▐Є sё▐ 1ё╣   sф▐ф█ф sфn╔Ц╖н█r█rЦr╣rр█р Ц ╣▐█▐╣▐▐▐Цшшn╔■∙,√ў╣їз┌█ |▄╬ ў╣їз┌█∙ |▄╡∙╣ e█e |e▄e\ўїз┌█ |╣▄╡m█щ n█ |╣▄╡█<  █  | ▄ ╡ ╘У╘к╘╘▓h╪h╢h╔█╔╪Ў 1╔╢╔Уцъ└╪ъь▀█▀кСС▀╞▀У▀ VЎV╘ёАV╪V╞V╢VкVУV▓W╪W╢W ██╪█ s┌╪┌_З_йй_АА╪Аё╢ё█ё sё▓ф╞фУч┤фкъЪ╢Ъ█<Ъ╪< s╗█╨ 1╗╢└╗╪└ s╪ИИ╪№╪И sИьЄ╞ЄУї┤ЄкЄ─╪─G╪GУG╢G┐╪┐╞У╞╢┴╪┴╢┴█┴У┴┴ь╪╪╪Д щщ╪щъ╪ъ ~╪~Ш╪Шё╪═╪ё▒ ╘¤╘╞═Ў╘)╘°╘Ї╘╢╘Є╙д╘╫╘╪╘ |╘┘╘I ▀Ї▀╢▀Є▐д▀╫▀╪▀ |▀┘▀▓▀Y$V |V┘VMфЇфЄудф╫ф╪ф |ф╢ф┘ф▓T╪фЩ фьЄ╪Є |Є╢Є┘Є▓╙╪Є ╞╪  |╞┘╞▓    6 !Q_>Q |_ sN 1  "x  &,228>DJPU╪n╪C╪В╪М╪m╪Ф╪к╪  &,28>UУnУC╢В╢М█m╞Ф▓к┘   з╪ 0кDFLT    aalt>fracDligaJlnumPsaltVss01\ss02bss03hss04nss05t  Ltж║╘ш. /0234156t н╣╨яЁk e╪fщ╧/0234156н╣╨яЁВн 01╣b╨ 345яЁ" kО*T`vВё┤jjЁ┤j "г┤rб┤nЯ┤mЮ┤lа┤mд┤rв┤nе┤rж┤rjklmoqfcidecomp-2.1.1/documentation/verification-validation-plan/_static/custom.css000066400000000000000000000004061473255640600275450ustar00rootroot00000000000000 div.admonition p.admonition-title { font-size: 14px; } p.last { font-size: 12px; } @font-face { font-family: "Dosis ExtraLight"; src: url("./Dosis-ExtraLight.ttf"); } @font-face { font-family: "Barlow"; src: url("./Barlow-Regular.ttf"); }fcidecomp-2.1.1/documentation/verification-validation-plan/a_glossary.rst000066400000000000000000000012631473255640600267720ustar00rootroot00000000000000.. _glossary: Glossary ------------ This section contains the main definitions and acronyms used throughout the document. Definitions ~~~~~~~~~~~ :Validation: The process that ensures that EUMETSAT (user) requirements are met, and the system behaves as intended in an "operational" environment. :Verification: The process that ensures that the system is correctly designed and implemented with respect to the system requirements. Acronyms ~~~~~~~~ :NetCDF: Network Common Data Form :TBC: To Be Confirmed :TBD: To Be Defined :TRB: Test Review Board :TRR: Test Readiness Review :VCD: Verification Control Document :VG: Validation Goal fcidecomp-2.1.1/documentation/verification-validation-plan/conf.py000066400000000000000000000204571473255640600254020ustar00rootroot00000000000000# Copyright 2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # # This file does only contain a selection of the most common options. For a # full list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- import re project = "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Plan" copyright = ( "2021, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)" ) author = "B-Open Solutions srl" # The full version, including alpha/beta/rc tags. release = re.sub("^v", "", os.popen("git describe").read().strip()) if "CI_COMMIT_SHORT_SHA" in os.environ: release = os.environ.get("CI_COMMIT_SHORT_SHA") if "CI_COMMIT_TAG" in os.environ: release = os.environ.get("CI_COMMIT_TAG") version = release # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", ] # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = ".rst" # The master toctree document. master_doc = "index" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = None # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = "alabaster" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {"font_family": "Barlow", "head_font_family": "Dosis ExtraLight"} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # The default sidebars (for documents that don't match any pattern) are # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. # # html_sidebars = {} html_logo = "images/eumetsat.png" # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. htmlhelp_basename = "user_guidedoc" # -- Options for LaTeX output ------------------------------------------------ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', "papersize": "a4paper", "maketitle": r""" \pagenumbering{Roman} %%% to avoid page 1 conflict with actual page 1 \sphinxmaketitle \clearpage \pagenumbering{arabic} """, "preamble": r""" \usepackage{graphicx} \usepackage{background} \backgroundsetup{ scale=1, color=black, opacity=1, angle=0, position=current page.north, contents={% \small\sffamily% \begin{minipage}{.22\textwidth} \vspace{1.65cm} \hspace{-0.175cm} \includegraphics[width=\linewidth,height=70pt,keepaspectratio]{../../images/eumetsat.png} \end{minipage}% \begin{minipage}{.8\textwidth} \vspace{2cm} \parbox[b]{.6\textwidth}{}\hfill \\ \end{minipage}% } } \usepackage{fancyhdr} \pagestyle{fancy} \fancypagestyle{normal}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/verification-validation-plan \\ version, \today \\ EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Plan}} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot{} \fancyfoot[C]{\thepage} } \fancypagestyle{plain}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/verification-validation-plan \\ version, \today \\ EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Plan}} \fancyfoot[CO,CE]{\thepage} } """.replace("version", version), } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ( master_doc, "fcidecomp-verification-validation-plan.tex", "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Plan", "EUMETSAT", "manual", ), ] # -- Options for manual page output ------------------------------------------ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ( master_doc, "fcidecomp-verification-validation-plan", "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Plan", [author], 1, ) ] # -- Options for Texinfo output ---------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( master_doc, "fcidecomp-verification-validation-plan", "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Plan", author, "fcidecomp-verification-validation-plan", "One line description of project.", "Miscellaneous", ), ] # -- Options for Epub output ------------------------------------------------- # Bibliographic Dublin Core info. epub_title = project # The unique identifier of the text. This can be a ISBN number # or the project homepage. # # epub_identifier = '' # A unique identification for the text. # # epub_uid = '' # A list of files that should not be packed into the epub file. epub_exclude_files = ["search.html"] numfig = True # -- Extension configuration ------------------------------------------------- def setup(app): app.add_css_file("custom.css") fcidecomp-2.1.1/documentation/verification-validation-plan/document_info.rst000066400000000000000000000043351473255640600274630ustar00rootroot00000000000000Document Information ==================== +---------------------------+--------------------------------------------------------------------------+ | Doc. id : | fcidecomp/documentation/verification-validation-plan | +---------------------------+--------------------------------------------------------------------------+ | External version: | |version| | +---------------------------+--------------------------------------------------------------------------+ | Author : | A\. Siniscalchi (B-Open Solutions) | | | | | | M\. Cucchi (B-Open Solutions) | | | | | | M\. Bottaccio (B-Open Solutions) | +---------------------------+--------------------------------------------------------------------------+ Document Change Record ---------------------- .. table:: Document Change Record :class: longtable :widths: 15 15 10 60 ================ =========== ======= =================================================================================================================================== Issue / Revision Date DCN. No Changed Pages / Paragraphs 0.0.1-doc 3 Dec 2021 Initial issue, prepared under contract EUM/SEP/WPD/21/1244304 by B-Open Solutions srl. 0.1.0-doc 12 Jan 2022 Resolve TBDs. Add details in V&V strategy for VG4. 2.0.0-rc2 8 May 2022 Add VG6. Add OFF test category. Remove HDFView from tested software in VG3. Fix RID ID: AM-5 ================ =========== ======= =================================================================================================================================== fcidecomp-2.1.1/documentation/verification-validation-plan/images/000077500000000000000000000000001473255640600253405ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-plan/images/eumetsat.png000066400000000000000000000311551473255640600277020ustar00rootroot00000000000000ЙPNG  IHDR╞@ArШ IDATxэ}i┤]GuцWu╞;╝Q│,O╪▓Е-уIЄД'l3ЪЪД┘аcРtЪ&!4+щмРР,ТIў :Э╥4 ─ NlГ ╞`└╪▓e╦єИeY├╙ЁЇ▐}ўЮ▒кz}╗юХхIOy`▒┤╓=Zў▌щ▄sкvэё█╗╢Фs╬ax )0д└3(аЯёn°fHБ!ДC┴2┬Р╧CБб`<QЖ )0М! )Ё< ╞єe°╤РC┴Є└Р╧CБб`<QЖ )╛8$(╫Ч9fItчмS╨PГ╠Йspиа┤ъГ╧№▌P^_Ьu^ї`)ЁвF]aГ[gсмБ░ ░D ,а╡ВV~╞~н┤ ■`g0Ў(\|▐Y8ядЧ№"i2╝ўРXШ`8а6╡─ :P`Xmа╙│°╔]ўb╫lзА┌YTd| ╢FYЦ(╩uaРч9КкFf*dEЙ┬╘(╩YYртП└√пxF# б{Ue]│0ьc╜є:ы xdr уА&Йю╠лИ'NC╬Е'Є░8╨pЄЮ▀sГs№Щ╞(MзQЙЛ╚kЖP2 0A;╕╧┼ф°ЎЛ╗№· Th■Ъу▓░жBЁюJ└ ║и┌4<╪7C8┬yA▀╓Єs <┬¤т╗┬A%╩O╪√№I╖}.нбt║╛JиAЪ(ШZ!▄>фэd╝з  йЇ╟─╣╦фЎY?╛фBhаок°╥Z╘Aь╬"рНeЎ<═╩їq ░╝$╩SЩ&Р╪Vї╫|└/|С ЖO60~░░ё╙эSxшБЯв╢t┴j ├I╓5▓┌ак*Ї╩yePd╒>┴ш╒%Є▓B^W√Cugq┬╤+ёё]ЙхM"*TBДИцбЛы39GFВD:Ф#ЩКЛ ВБC╨ЗНфсrР┴╚╜°╣Vj▀y√╗╧7╠KV%K{╞свУё7В №ўЇA^у┴▀9a╢ЦZГЯЕz▀g╡3г=;з├╣PР jшч$A=3ї╩ IФЇКвM@Ш╪8#Яя?&╣∙│ 8ОхiX}0 ▐ЯА?8Ogм0с`╢вяМкДЙjU!айа08  ╠▀У9╔ШdШРч "рХЬтщХ_▀Тr|ц╣ ё∙.│0┴ртPє╢lЯ╞жAЮ╫ШX┤aТвнщV(╔Mв▒4L о4LаыU ╝fН п╕°MШ8├Ж█o╟л╬>┘SГtч∙∙&ЄМ╧*яU0│кX╛ mт╡9пФЄЩht╟{ЛкЧevL@*j$о▄╙М╠╡▄зИ╕╞Є жцЩ┘ЇЕ┬Б.ж▐Зо╤═сD├╬]ў] { ▌▒hвт_*г<│ЁzтЮ╓Ї(Я^hОРoj?\zNd4~Кт)c*З(в+ё┬^▄АЖU╒CУn╬3лД~)"╛яУИ┬MУдDш╔Оw╫+╬i ▐Э▓и ZЖH~├ RЖюjЁ▓%рRo№~2ЬвP9п╝Г}ЮgZTz ╝ЯvБ║у▄Я╢■╧є│g|┤0┴7 ╞l╧р▐AзS`ё╥хт.НООв{эXVF4▌й║PBх╦CшSGУh|Ё}╨WU1Лvв╙┘ЛШ< ╝├I╥ "╡Юf╪g╠ж Ж№hЛ:Ў╙│╢F@S*5Y╘▒╝` \╪╛KEa╫!їеХекro┼┬╪╦ ┐aтrЯ+сM║еыу(зби∙Oфb*8M╟MfЛ┌╤rЙNюЗ}╖@ДИc"чRрX[FKya!Г╤g╫Їёy'щ5▓CяOИA}4 зкАXb 3┴╛№рЩ╧axWР&$фє╤@й=╞╬ЯQСЇЯ¤ а,k▒√[HоХВТ─дПё┐эпy]хИ"╞b┤╛"б╛R╠{ёюTМ╬WH╠3~▒H┬ONrZо!┤еvС?s╬╧~╖ ┴░:ВS w▌ў╢Mэ┼╪теB¤v3Eи Т4Х(2PXЦbYВ└Йы}Oю~t╧#▀╖"[dX║Ї8ъдЗ║АОX[Bif=pшЪ─<ЗH╠!оСюЭJЬўХ)Ф▐%р▌)8С╕a№Ї}и╤8DLBJ Cцт54м ╝л|╨hз┤и┤┤▐j14T$iЪ27"яТp&Jjї8 рT"УSA("l-УЯМ{JДМEP@QkS█К|ш Ё▓H║JВvQ:Л-E└НЄ╨пO{! ╓H╝PяРАЫ<\AQ$г┼е7;тW╥-м"5╡CСF^Й8*3ВЪ,OБя+▄д%нЪ╕Кd┼HтЛ8д4;бЙ─л╔Ди·q[мyЭСзпbЬ(г8МdХ%╢█╧т╛╨U$FkLMgxшё═@╪Ф╔═╬╬bb╒T┘,К(АК,*ыP'╚М▒DБ╕HнGДиDЛPAў_sаБн┴Z}ъ╪ `D)$Q SH√VрЕ&─╧kг┼B0gFlЙА ~у╔NЦЎЎ'пйQ}8╦ёQ!хї║лШx┤Hтб°R K[(<╞╟%tЩ*еCгЙ╝й~ЁЩх%-╤Г"Ж"zеБT╞D еU ╘^ОDщsБj"К4B$Tи║Е,/Р$ЙA╞░Ь ё▒XЙd_░Z╘Рё╫К╠┴▒╪bИlПy└Р2╤┤▐bЄє╨#duцдD]°TR9ДСЦэ~ТW?,*ep╞▒kЇr@ЇOТ чВЖy┼╔c╠┘н╨hQИ№<5ш√Fw:вKн╪h_Ь╖ЯwyаKЇ#ФЮЄ▄/ozЁAФ╡C(К Iд╤ЭЩA#f║ё!Н╒(КUeЭвР╨З▐_п∙╠Г╧ ╨Т╓(╛√Г ╪╕ёnш▓ЛvTу№sN╟╦╧<эY@щs╟g┬▌ ╕■·[1╫╦&MФЇ▒├ХТ╨в╬3й█rоF+ЬrЄIXsтB∙п|ї{иMЕfв(цЁТгWс╝їз√КaA\bФ╡╞m?║█ЮЬF╞(к9┤'B╝ъ╒б┘К°Ў ?DЦ╫°R;jаЧ╕№їЧ"И╕└^ГТIL\wэН╪M╔T1с▐▓Зеcxх% &╘ аkАЫxvNэBзB_·╥ riбxMjщв&лY,^<Й /9?4Е√я┐жЎщ╣ФєЯx1ж█eAз▌Кqъ╔k▒zїr19"№tє46▐■0║я)ь▐;лkМ-nb╤╥Q╝|їRм^}<Ц,ЫЇАAeУШ@xН>=SсЪkn@7+з сС╔%Kp┼хg{!p└L╟р;7▐М,я╗гд·Ъу&щ9с│О?з╛ь$д▒ўl}Ах∙ь~║яуY в$ў>ЇTL,╒@3HВfrН.ЪhYfP╣ б┌┌а45*Уг╥╠~QФ└мsВ2Ф%єdТ╙I╞╟s╗ЎxAВAKЧ╪<√Ьyцщє F\╜*╟G>Ў9qуt╤@ЭFИv┘"аМ3аИGmДuБ╨n├╖■х│`шаВ ┐∙╗WбЩ╖С╟9ФНp╓╣╦q═╦OvЪШWНЯ∙ЗятGw<КС┘▌6}ш3Ч_и╩$╪Н┐Є╔╧#▓G└Ъiдї(:н.F╩╛w╥)XuтR4┼us╚а1╡e/>Ё▒k1;Zв╡+ДЮиБвЕ░5Н╟~r┴╛√'╨°Э?╛;╖N#R]T▌╪н═дfкС=P╢ Э╟Иь оx )╕фU'у_o▌А┐№╘═ш╤Иц2┤т d6GЎ╫═вg'▒sll╘┴▓╬ P╜зp▌ППЕQvnэсЯ■~p¤ПСЛQФ\ф`в ╓ в! ╨p└%чп╟o ╞;Ё▓УузY╣дbъ ├╖п▌КO¤╬НШkЎрВЖА"═bЧ^pVМv┌╜О┴o|Ї_▒╗a╣Йю"*и├YХ!HcX╞ОЕFПбьu1^Лnt?■ЁO▐Кїы╓@1╟дш■╒╝b5P√dфр_LэЮKрГъ╩√qu-┴wЩWшd=╠х▓,CСТ┤гх t[х╡а@;vяТ┌@!╧ ╤p┤╝цDЮa▓╩1Ц═aСй1I▄╛3Гjzz3Q:╨hщw╙ы╤qN╡рв*·╕c@СB4┌m│╘t9N?k-VЯ8*ююБо{░▀╤№s ╗w╬КыBME°Ъ╚ !X[;|├=√ШЕeў╘Б▀■сЭтЧ6DШ─░╣Г╔k╘yЕЭ{─╤7Ф┌╠кe┼фиГ SXе6"╕иЖю%P6АU9тЗ °ц7"@М8РЖ1F╤F┌UhVMиоF\╡╫-DUЙEфЩ 1ZОCя╬qю∙ы░·╚уЁ°fЛ╖┐хS╕х·█СЖуs8ЕAhА8╙hdMд∙(вrQ8Жып╗_°ч╧Б0,TЕ*ыЛепМ |їы╫аО ╥н БJ2╟╕ю;╖вFSФ6Дэ╓hгНСj ёЮ&lH▌┌XКд7Кf5Ж4KбўфhыY╛УЛ"\zсy^PлJ<q&Є╪■`W{┐є╢m▀!хеоaUИ RPY!ж╛о║HгўY╞╩╥Н▓(kГ┬T(ЙN0kЖb-:▌ =╞"e ║6~у+▒|bЩ+пj╪@ Тб╗=,k╪М╩0┼иPY&Ў"D6F>7ЕF[├┼{╨╩╟PdЇXfёб gIкS%█ЯK┘╗wy╢l▐ m"ЄВИ╪~ЙИ▐kс║Ыя╞Хя╛DЦЙБ7Л,┐■э█Б8Ж╬rБUM$Н~YДй╙8r|Ь2p╢фi╨═к Б2D>╗ УG╓шOaдZО╥їаRГK/YП3NY B QAх3И╚02>Йщ'жб'╟6b8V&LыIL$ЛP╓FЧh|°╫▐(▀я ┴ч▒∙╤╢щ▌Ск7Н▒┼)ТЦA╘H▒wк+┬l]А▐▄╜ц№ц╟оДЦ░╣B╘lБЙи*щaєц6▄Гм╔дчбаЩ 2_·чясЭo>WE╒AsYН╜nмОС╢ кдЙ▐Tq{Б `Є н▒╬╬uБxeИW┐ъ,м\▄ЁаJ╘Ф`╔x▓█ПйЯїrAо╘ЇЮnU5о(2и.Й¤0щgсЯйдW╚Т·╜5д4Т╠ff╨┴O╖oE│▌F▐ЩЕ-╔4Ч]p.∙ЩЭGY╚GyЧПF0╩ы√Ё╧Ъ╦╛╖d@╧щ╠╩zДfty┐√бwрхп]Г▒▓ЙВcш╨nk,╒И@WПх ■~╓ГA#░cы ┤'Гїy┘A8╥F=[сОMOp %qШв;[у╬{ЮD]жHужЄ(ЬСЭР!жvvА5+Ya)Гh^GбBЪZЬu┴)°єO]БEН6J&╤ВеЩ├СK╟аъ.В0└я;\╛ L┬╕ yс?¤П╪╕i3Є*ГЭ`)7|ч/╤Ы7 ┤В╟?ЙG╢Mужя▐Ы,БkЕ(╦FЦ[№ї▀|чЯsДTЮd9░щ'[ёO╫▄Ко╜ °▀KG5┴ t,╣╣·_nCнRФtы*┼$+*хЁЁ▌█ЁфVЛгЧЦx╔╤г°ЄW~U3Bh5в▓┬ЧozЯ√лпIЬH┐:tя∙╡╫уЄW┐ kQX`эZ║йЇы·k╔єTИ\B|ПЪhХ$3Y&░ЪеЎВBйB)SpeНТ┴│л╜▀Gд┬I>1┘WЪ UYA╟╢ю╪БFлЕм*aлоштМ5лёо7Ь s`оDЇ)Сжl·X╝LЇ└и]ЮaкQФ"pLoVМм]1Ва*А0Р _ы2─ Кэ╕"┘№▀1Rв█;╜3У╥AI╚м╚б ]╗{wх╪╕щ Ьy·`-╒6lBw╞!╥ ╦iu╪&Шpмa▒kк'ЛLЧм.,\R╞!ъ╝Г─┼8їш&┤aВМ0o .С\┤p#ЦНжHG┤° СnвBНf SЎ$╧!Tb═1cОбЎЩED┤Ю┌╝FЗш5шкё зЮ▒ыO;-ц]lQ`q┴┘Л▒■▄7# фы1╓К% Z>&я╕v ш"┴Ч╛rГp)┴▒h/I╤▌Ы┴jЛl┌тжяn└пX╟Ї?╬zщ2а╗I@ ─[╢гм║PHбcФ%VЯ░gмЩD╚-╥Бч╔Зи╨ч┤R╧ъ╦Ёц░рБ▓и╤+j╤■м}Т:з╩ ╦+Б{eНвиСў╧╦кZ ∙;&¤К║Ца)ыцш╬╠┬Х^▓l >Ё╓7cФиK]·=ТФвVд╞ї┼{мeЪяpеУ╠М6s)l╕Xа.¤5(Д+у▒|a┐\СдЯї`¤y█ЎiqiA)дУ╟L┬ft ▓!о┐∙n╓ер\w╙OыA└d]4ЧдилЖ╣`╫ЎY┼╥ НB0▒LЬVЩ╕Wi▄Аб·TЇ═ЛўДY┐Bц╧а└╕к╨`EА╪wа╩╘╢╨╥ИVu╔nБ─ t┘╚╔БMСў\┴╝ЙFмту▀╗q3n°Ў#╪3┬щ1шp░ ┤3М╖TщЕY┤ ы╡FА╓r [Ю╪ ЗHъугзп;RP║Ъnx#┴UWХ У шРШ╩E@/ВлjдeAС┬ЎT∙Ь(r╔OQR┘J6Ю 8б@L*К+{ |░ЇМK▒▄гиJш E`2ц|├┘VЯgА═║%╨л╘єPєI1a_а╩ ╝д╡| >Є■+░D й═[■~5-Х;╜TC№ ёаВЇ#zцE╗╚а-РDMzW}ы.▄ё╘vа(4Фy'п^Йў╛хbaв2╧╤ ▐№3м г╛}jє6Я│QFr!ы╧YЗы┐q l╓A ЎПю╟'■ы@^7▀■иoХgHSЕ╡gЮА█n╝ЦЙQD╪╢}П@е─ўЩcл]ХJZ╡Ёрc№┴Я}6g@ё╣Ю┼∙э╖aм Б,╔а┌08щ╫eа`2▒╨░│шХXC┼фb─╤Р╟RС{▄qKО[еБ-;И┬║╗~ыcЙxд─Й'н└║╙^ЖЛ/║gЯ9.s!L*кИAджzгaЁ┼/▌ т·:╥h╬е8√╥уЁК╫ЮЖ ▀┐9cє░ЕM=ЕMПm├╟мР*г6╔A░тдtИm"ё-sЛ|РядвБиK═№U"▒-╖O╟:Жf┼/└в═Гр·Г8х╣\╥|1╤D$КИK▌п#2*МEZB▌IF╓8Л╥║н$1╞,05тXлН_} {▒дM▀з4E A Х╚б$йXN@nИ91┌у∙ьл*мC╥H╤ы╒0.DQ5Ё╜ЫFvч}hШ6╩вЗ(58g▌KЁО╖^ ЄШdl>щsз}╨Я *_wю╪-К┴▒·6╓8їЇ╡╕ёЪ█dm"╕√Ю╟0╫Юzъ)<№ш6М╕ШXc╤У8єьS▒ёG#C]ь┌1▌/▌bЦЛ-З*╕╪въ╒Г[этп ■;И│QdiIнб╙i╝єгп╞Hбб[n&'▒╨√┘╠шт╘IА╩e╪a kйъ" VЬ}╘(╬║шd▄|├у╨эЮ└┤Q:К^`f╞af╙▄rч7ёчw NX╓─п~рЧЁоw]И╡$eн5rkg*▄Ї═█Qs;B╒├H╤─┼чн├ygSU░К0~В^ ▄t√Э8си╦СFTнмAуР{x ╩.lиfKиА)G╤╠f╩Z▒]нkfr╔IЙ0c■е\Р`,M%G1Ухe∙G9Г$ ╨3Д╫"д╡CЪРёЩи─Ч╧нF╖╓иY╘W√ ╦М;▌.~уў T{Г2СЮ╨и+┤UИЮu0НD╗&ъ■чя■7мZ╕p@Ъ╨[0жЖС┬┼HЁ▐fтCя3▐°▐ 0Rf c╟1QУ УT,┌╤┬РМSг7`еЦ█"N╔╢*Бнj)oлё╔▄JY╦ъ▌-ГWь;wLCЄJRRO╘.├шxИ╦^y&■т a▄Ж*C№x├&l}j+╞еГJ╥╥8єЬcpыэ╘КvCr!{w╧╔&пV┬zдQшjnzщ▌┬О=u╛ЄўЯВFUа1X- м\NMm$WРp-юf╕?╧╤/3ЧШFрЄaеpьТ№'чууЇ №р{рюНПр╬ wу╬{╒▄(Ъ╔┤щ└N:Їfc|уKwруx+tФуз█+▄▓ёqдIД╣щI:Ж╓╪*№у Sg`й !¤╚еиУZ,▐u ·cЬ■╤╫#рn>╓жIхё∙Й+цъ╘╢Р-пa!Кй╚Z╕·ъ █IsфI╗$C5СгWЦ╨═Qй┘кm.є2╠С1Ю|tю╝g;Ь-╓пШg¤_/H0иvVМжx═ЕganчУY,XPI"-rX╪┼Ао7╗Й*▒д|ь╩wу▄╙╓`Фf┘0А %Рe0√ьG└ДT?#DИ7╘,аP╨═Щ▀GНhЩО╔╢NцtЛ]Ц]╟dn·i°а▄ЯоСш&@Н╪0ИЪ>╗Ly█╬▄u Ї$цiбЛ?║k+Юxrзь╤а36╟Q╟,эяG0╡}╖дгjmQ┌Jv─Н&M(cёЪ╦╬@U╠╔.3X║oДО;ИВчп?t▄F ┬▐!O"qvLM√║#G╘о Х▒┘@$┼ЧЕ 0║╖ PgQcОuВ ╪C╨c░│b>s╤O╦╛ л┤╛H┼m■╙╧~їЕ[1▌5`%J-e─▄Б[█[ЯТ└╪╓й╬a╒ЪQD рО{╢сЙGзQ5┼r[#4sЛdoнMйX[└Г┬Zb╓╩SШ┐г╫·ёДq√I&F>ерEх┤sЭ┴4╕=u'М╥▓1&Au`Дх%5ZИ╩&итsf6$PKA4X╖╛Н▀√╠╗1╣иBnw╚^Г┬Ж╚ЪХе█4 П╔>j╒▌ГгПiуo>¤!Ьw|елQ└}[v jд│mш<┬тE)f╪е#Ю%№ъ╫Ь;╫ГоЪ╨ХЦЛ^s"║d╔`/fL.Oс▓)Ц└ЩПlc║╪еАд╡ К∙Щ╝-┼Вж9уЩЩ:Е■╣ОQ╗Ek; ▌`оF╬@14╓Ш▒pQО:▄%╒┐ХrИ▓╢fлlШ╬А╗є^┤Ц▓t`╡AC%hх▄╧╥D╜EЎ6зРПьFаfЁ╢wЭВп¤пПбaАo▌°8▐; ╗$DЬЕhЎ №Є█_Г▌%╣bLD░эТ^nщz√/A╪ьв(z0Н│qИ/|¤┌Q(L#7+Pк]H4БгчРЫ░_l╩=Я?√▒ Л┴^▄╦!z∙N;ёx|ф╩ўтя╛°Ut З╖╛э]mу┴й.ЬafЦ°│ТАЦ┴▄р╡ Я╪*ИнfЬя вєiм\╣qв( i т√═/╝V жw9Ь║цXLўLDнk█Qэ6ZшХ╛ы x+YЖ╒╦Ag`¤в`яyч:м=єH\¤═Н°Ўїё─}█ЫTкu│цу`fc┘кХx╙ы▐Д╖┐х╡x╔Q бь╗`▐ШМcм\ъ`WF0eНУО\МQ╟J╨IЮ]r╬щ╕~эн╚YEл5╞╟с╘уY╩╝IНvЬ╛fюмvHYМуйA┬К╝t┼j╘S;аг1#╦P╫sТяИ]Щ▐fеIывш`м╜ fh.бУ2Ў2└qKЦcч╩=▓Ш╣╟-lk─=цUvY╘Ёх· n╗ыI| {╖уцЫ┴он;Счв ёНрЬ├q'ЯА3╓ЯЖ7┐{ N?j9"tP╫ ║ыЬz▄╤Ш┘^г╜tсшЬsЎ▒eо╫ЇР▓╚yQ"Ic╝ю▓гЁ┘Uу(╘╩В▄в░эбeЪoь┬┌ЦвGd╧жh6[Ш╨▄lLFъ7гоZ°Я5\глB~.╦L0~о!Y|ю ■ ~░qУьgv▄jщ┘╜╟Eb ,u▓¤╛C▄$аЙO3╚д┴JЙЄп╝цм_┐ЛM°·Аь╢с|╫щК~А9;ьБ┬(ff─г▄└я]хБyд;FqdЖTтK╓щю'l╒ЕVУТ[б'Q ь+{r─СF═ЄСзKnдб6░uО !P·▐╝ ╚,Р7(+4┘Єдd-Xyfї╟@ў2ъ╗Р╥ЪCkщ┬╖▒Ъи┼)═ЮBзСДУтq>RЦ╥░▒@▀·К$╕kFИЩKЖЬзїfПм┘Ю╠фЫ┐■АFТ-F│и║9вf[ИEгOЛ(CЕ&х`DTдГ ╟╚=0R╝_╧▒A║&BбB42а■сy∙/!G┴Ёmw*KEJlР╣┘F!чТ6!П█╪ьA6)Ёf■ЪЬKЁe├X_Ї│  йл'G╤ g V▓Ї░FыоG╖сж▐ВНЫA╫▒Ф9Сь1┐P+d,й(sDбBвнььП\x╬z╝ЄвЛqь╨h°HД╒┤lцПБ┼,▀ M╛т╞b┐[М\г Tьв+╔;v!dОЫД╘Є▀и~WЛ}1)╣YvЎР┌╥7OтоTp├сW▐Ыьaa╪ЮЗЭKT|·В7ы▒Wг╘ r▌пЙЫ┤Нм№>$ЮejтC2i┴Х93ЬКUЕ$╔J╠k!]RO6? ├A[&3╔°ДQqедm╤ ▓FмB?ю>∙(ф"щ(┌ОЭ J╘I Т.4Q WеJСТP░Oс╬╒вк╣Ч╛-Ь;╩ ┼ДЙ╔Z`ъ2b9}Йx L╓°╣░щп┬d!h_ыK╠А╖сг{В&К0 XВ╗ Т~б"5с╧x,H0╚╥╜П╙к╩╩·RqйrЇZс╔йю╝ i╚╢e╦6dY╩╠Еf3┼фXлV.├║У_К3╓о┴"v╬и!┘mоSmJiкр{qpж¤Ў4╥┬цЕgNvн╚Г╢МГl)59 IfаdЁDб8 ╔пб╝g═╧м┤Сqь:B╞,┬@(Ji╝+^Ио╠a3■ЪоўZ╚&|ЛлР╞▒)╗э╔┴ДўЮ╓▀╫─ХСy╦ўф^.4╟╞6::v╜р4╚$RГф+7ВъЬA3V _┘j█$~U* Gs┬FТх'AXmP"e;E░DЕ$Йд Od╤! е7оМл?vrРMUt[KPHс_Км╥ЇPeC;ш└╚xТ¤tiIe╫%I\!d▒#Хо2(Л9─iKrd!;┼HgB_╜mrnЙ&)fTЄN╣л╤Шз=РLrЮ?  [∙ЦЦ╝6УWм╒ё╗J░╛╟УЫ( [эp∙`ЛбЭшQ╧4нв╜Л└№j│Vh.+∙▀Ш╕<еп#╟р~¤╖╧z*еsэ/рўСa$╣ Ўе%sx^у яЮ \╚$]JЯaf╧еЪdП│`6:Ц╓,ЮQ№═∙эри0+╣▒HP╚Лi╥ш╖╟д}еЎdЎ├g█Y D"╨Ў╓тD╨кqk┤oG#уўеF┴2j╫Рё√√УhL7ТКь9╦=ХX8& ┘{Чп╟╛L<╪UKJqd;чЕCТАВZ∙k▒╗Л┤ъ╗4№5╧iИeу┴╒хў~@4,Ц=о─║B║▓ v (йЕаVM|,■ТF╘;BS^Я▓UxYїG┤3╛▀07+▒ШС │ыt╜їgп-:Q№Ю▒Ж╖@~` √╗ ┴РQP{p4Фtge#N,=Я╪╚Щy2/R6╓bЩ│'6[шД▓'Ь^Шgз}ыx╜кЖУЎР\╤uЮ╜%░їэwцН1·J╓3╗J▐RМуf┐0z)}╧fЁ∙АД,ечN║╛\ №ыш╛єЯ╙бЇехеэ │фв■ЎM║t!╕ ┴╦Ъ╨ДфРFЗ╩·▀│бZ_Hyя┴ыAci╛чГўцXд}gЯ╦°Ъэ,┘ Э#%%╜C┼nш╛-еиz]}=BЛ($▀яЪ№ПD);'T┌ yYрГ╜лrщчхЩM<.Z"i╤:а╟╞┼є▌═Зp╠<Ч╛?╗─°f═МBШвFH7С╫я%╦+Q∙ЙRхеxЇiH▌·DVbUЗаЇєл@р▀─чЄ√Тa4╡? ╤lrМ] __+V9°{ IaЪ╖(д_qПOв╪БЛ П╒╥¤ оn?R-фхc!╖■fHБ├З}q<|<щРЗВC┴8T▐у░г└P0╗%°PP`(ЗВ╩├{v ╞a╖d├ уPPyxП├ОC┴8ьЦl8рCAБб` *яq╪Q`(З▌Т |((0МCAхс=; у░[▓сАЖВq(и<╝╟aGБб`vK6Ёба└P0ХЗў8ь(0М├n╔Ж>° g▌╔╢є{├МIENDоB`Вfcidecomp-2.1.1/documentation/verification-validation-plan/index.rst000066400000000000000000000010371473255640600257350ustar00rootroot00000000000000.. verification_validation_plan documentation master file EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification & Validation Plan ================================================================================================================= .. toctree:: :maxdepth: 3 document_info introduction verification_validation_process verification_validation_goals verification_validation_strategy verification_validation_methods test_specification_design a_glossary fcidecomp-2.1.1/documentation/verification-validation-plan/introduction.rst000066400000000000000000000033311473255640600273460ustar00rootroot00000000000000.. _introduction: Introduction ------------ Purpose ~~~~~~~ The document details the Verification & Validation plan for the Work Package 'Support to CharLS decompression for MTG users' in the context of the EUMETSAT Data Tailor Web Service. Scope ~~~~~ Objective of this plan is define how to validate the ability of the FCIDECOMP software to decompress FCI L1c NRT data, verifying its compatibility with MTG user stations. It is addressed at: - developers/quality manager, to support them in the internal V&V process, - EUMETSAT officers in charge of the validation of the software. Applicable Documents ~~~~~~~~~~~~~~~~~~~~ .. list-table:: Applicable documents. :header-rows: 1 :widths: 25 35 40 * - # - Title - Reference * - [FCIDECOMP_TP] .. _[FCIDECOMP_TP]: - Support to CharLS decompression for MTG users - Test Cases and Test Procedures - `fcidecomp/documentation/verification-validation-test-cases-test-procedures <../../../verification-validation-test-cases-test-procedures/_build/html/index.html>`_ * - [FCIDECOMP_VCD] .. _[FCIDECOMP_VCD]: - Support to CharLS decompression for MTG users - Verification Control Document - `fcidecomp/documentation/verification_control_document <../../../verification_control_document/_build/html/index.html>`_ * - [FCIDECOMP_WP] .. _[FCIDECOMP_WP]: - Support to CharLS decompression for MTG users - Work package description - EUM/SEP/WPD/21/1244304 Reference Documents ~~~~~~~~~~~~~~~~~~~ .. list-table:: Reference documents. :header-rows: 1 :class: longtable :widths: 23 42 35 * - # - Title - Reference * - [OPSTRR] .. _[OPSTRR]: - OPS/TSS Working Practice on TRR_TRB - EUM/TSS/DOC/13/688793 fcidecomp-2.1.1/documentation/verification-validation-plan/test_specification_design.rst000066400000000000000000000060271473255640600320420ustar00rootroot00000000000000.. _test_specification_design: Test Specification Design ~~~~~~~~~~~~~~~~~~~~~~~~~ Test Cases and Test Procedures ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Verification specifications in this document are designed at two levels: test cases and test procedures. **Test cases** are self-consistent test descriptions, which aim at validating specific features or expected failures. In the design of test cases, the following guidelines are considered: - streamline execution, i.e. avoid as much as possible the repetition of procedure steps across different test procedures; - validate the normal flow of operations before (dead-end) branches and response to errors. Test cases are grouped in categories related to the feature, product or behaviour they validate. Each test case describes: - the input test data; - the reference output data, if applicable; - the pass/fail criteria the test case must satisfy to be considered as passed; - the specific test environment. A **test procedure** contains the sequential list of operations and the corresponding expected outputs, required to validate a test case. Test cases and test procedures are described in the :ref:`Verification & Verification Test Cases and Test Procedures document <[FCIDECOMP_TP]>`, which also contains the traceability between the test cases and corresponding verification goals validate. Traceability between test cases and test procedures is ensured by the naming convention described in the following paragraph. The automated tests are pytest files with in-code documentation; with this approach, the documentation is written in such a way that it describes the test case, and the test code is the test procedure. The part of the automated tests in the Test Cases and Procedures document will be then automatically generated from the code. Identification of Test Cases and Test Procedures ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Test cases and test procedures are identified as follows. - a test case is identified as FCIDECOMP.xxxx.TC.yy.zz, where: - `xxxx` is a category identifier (up to four characters) - `yy` is a two-digit progressive number within each category, to group test cases in homogeneous subcategories - zz being a two-digit progressive identifier within the subcategory. - a test procedure for the test case FCIDECOMP.xxxx.TC.yy.zz is identified as FCIDECOMP.xxxx.TP.yy.zz. Category identifiers are introduced in order to organize test cases in groups which may have e.g. common pre-requisites, and to improve clarity and maintenance of the V&V plan. The following categories are defined: :CLI: Tests for the decompression of FCI L1c NRT data via a command line interface (VG1) :PY: Tests for the decompression of FCI L1c NRT data via Python (VG2) :JAVA: Tests for the decompression of FCI L1c NRT data via Java (VG3) :DT: Tests for the decompression of FCI L1c NRT data via the Data Tailor (VG4) :OFF: Tests for the installation of the FCIDECOMP Software using the offline dependencies repository hosted at EUMETSAT Gitlab (VG5, VG6) fcidecomp-2.1.1/documentation/verification-validation-plan/verification_validation_goals.rst000066400000000000000000000023441473255640600327110ustar00rootroot00000000000000.. _v&v_goals: Verification and Validation Goals ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section describes the goals of the verification and validation activities. The goals are listed below; if a goal only refers to verification or validation, this is explicitly stated. The strategies adopted to reach such goals are described in the following sections. VG1. Ensure the FCIDECOMP software can be used to decompress FCI L1c NRT data via command line tools. VG2. Ensure the FCIDECOMP software can be used to decompress FCI L1c NRT data via Python. VG3. Ensure the FCIDECOMP software can be used to decompress FCI L1c NRT data via selected Java software (Panoply). VG4. Ensure the FCIDECOMP software can be used to decompress FCI L1c NRT data via the Data Tailor Software. VG5. Ensure the FCIDECOMP software only uses software that is licensed in a way that is compatible with any use, i.e. free and open source software, and any dependencies to be archived at EUMETSAT. VG6. Ensure the FCIDECOMP software can be installed using a dependencies archive hosted on EUMETSAT Gitlab. All the goals are intended to be achieved on all the applicable platforms (MTG user stations that match the approved baseline). fcidecomp-2.1.1/documentation/verification-validation-plan/verification_validation_methods.rst000066400000000000000000000140301473255640600332420ustar00rootroot00000000000000.. _v&v_methods: Verification and Validation Methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following V&V methods are envisioned for the project: - *Inspection* (I): method using visual determination of physical characteristics (e.g., inspecting outputs with visualization tools). - *Analysis (A)*: method using analytical data or simulations under defined conditions to show theoretical compliance. - *Review of Design* (D): method using approved records or evidence that unambiguously show that the requirement is met, e.g. design documents. - *Test* (T): An action by which the operability, supportability, or performance capability of an item is verified and validated when subjected to controlled conditions that are real or simulated. Review of Design Execution and Reporting ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Review of design is executed during documentation reviews. Anomalies are recorded as RIDs, which are tracked as issued in the project space on EUMETSAT GitLab. The successful closure of all the RIDs corresponds to the success of the verification activity, which is then recorded in a minute of meeting. Inspection and Test Execution and Reporting ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Planning """""""" Requirements in :ref:`[FCIDECOMP_WP] <[FCIDECOMP_WP]>` which are verified by test are addressed during a dedicated test campaign which typically follows the TRR/TRB process described in :ref:`[OPSTRR] <[OPSTRR]>`. The full set of tests to meet the goals in section :ref:`v&v_goals` will be delivered with the source code and documentation delivery project milestone. Two execution approaches are envisioned: automatic and manual. Automated Tests """"""""""""""" Automated tests provide a repeatable and fast verification tool to verify compliance of the FCIDECOMP software against the requirements. The `pytest` testing framework is used to write and execute automated tests. Such tests are executed in the `test` step of continuous integration pipelines triggered from within the project GitLab repository. This ensures testing repeatability. Automated tests will be executed on a set of test data, one per each type of input products, stored in a location reachable from the pipelines. The following table lists the test types, their scope and the event which triggers them. .. list-table:: Automated test types and triggers. :header-rows: 1 :widths: 10 15 14 11 50 * - Type - Scope - Position in the source code - Event - Notes * - Low-level unit tests - Used internally by the development team to validate integration of the Data Tailor plugin. Also used to measure test coverage. - :code:`tests` in each package root folder - At each commit into the repository - \- * - Validation tests - Tests used for the validation of the FCIDECOMP software. - In the root folder of the FCIDECOMP source code, in folder :code:`validation-tests` - At each code revision tag - The folder contains one file for each test procedure. Files are named :code:`test__TP__`, to allow the traceability to the corresponding test case (see :ref:`test_specification_design` for test case identification). Validation tests need the test data package to be downloaded on the runner machine. The reports for Validation tests are accessed directly in GitLab, in the section "CI/CD->Pipelines", clicking on the pipeline identifier, then on the "Tests" section. They can be downloaded as Junit XML files as artifacts from the "Artifacts" section of the test job ("CI/CD->Pipelines", clicking on the pipeline identifier, then on "Jobs"), to be attached to test reports if needed. Automated tests are used for the V&V of: - ability to use the FCIDECOMP software to decompress FCI L1c NRT data via command line (VG1) - ability to use the FCIDECOMP software to decompress FCI L1c NRT data via Python (VG2) Individual automated tests can also be launched manually from the command line. This allows in particular to access the generated products, to validate them manually. Manual Validation Tests and Inspection """""""""""""""""""""""""""""""""""""" Manual tests are conducted by executing the test procedure steps in a test case in sequence, verifying the resulting behaviour with respect to the expected one for each step. Inspection of the system or of the test results is also included in some test steps. The outcome of each test is written in the test report. Manual validation tests need the validation test data package. Manual tests for the validation of: - ability to use the FCIDECOMP software to decompress FCI L1c NRT data in Java programs (VG3) - ability to use the FCIDECOMP software to decompress FCI L1c NRT data via the Data Tailor Software (VG4). Test Outcomes ^^^^^^^^^^^^^ The possible outcomes of a test procedure are classified as follows: - *passed*: the outcome of the test or of a procedure step conforms to the expected result. - *passed with limitations*: - either the outcome conforms to the expected result, but some relevant observation has been made; - or there is a minor discrepancy between expected and observed outcome, which does not however invalidate the test. - *failed*: the test or the test step have not produced the expected behaviour, and the discrepancy is significant. The test is considered "failed". However, the failure is not such to block the execution of the remaining tests. - *critically failed*: the test or the procedure step have failed; the test is considered failed, and failure is such to block the execution of the remaining tests. Test Reports ^^^^^^^^^^^^^ A **test report** will detail: - the date of the execution of the tests - participants - software version under test - the objective of the tests - the overall outcome of the tests - for each test, its outcome and major observations resulting from the execution, if any - optionally, notes and comments. fcidecomp-2.1.1/documentation/verification-validation-plan/verification_validation_process.rst000066400000000000000000000146351473255640600332700ustar00rootroot00000000000000.. _software_v&v_process_and_planning: Software V&V Process Overview and Planning ------------------------------------------ Organization of V&V Activities ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ V&V activities for the FCIDECOMP software are organized in the following phases: - the definition of a V&V plan (this document), which: - identifies the goals and the scope of the activities; - specifies the V&V strategy; - defines the V&V methods; - outlines the test specification design; - the definition of V&V specifications :ref:`[FCIDECOMP_TP] <[FCIDECOMP_TP]>`, in the form of: - test cases, which aim at validating specific features or expected failures; - test procedures specify for each test case the actions to be executed and the expected results; - the definition of the Verification Control Document :ref:`[FCIDECOMP_VCD] <[FCIDECOMP_VCD]>`, to detail, for each requirement in :ref:`[FCIDECOMP_WP] <[FCIDECOMP_WP]>`: - the verification methods; - verification notes, e.g. consulting with experts i.e. security and QA teams; - the software version first implementing the requirement; - the traceability between system requirements and the items verifying it (test cases, chapters of a document); - test procedure automation flag (if applicable); - notes; - latest Test or Review-of-design Report; - latest Report date; - validated/verified flag; - the execution of the procedures and the recording of the results in a test report. This phase includes one or more on-factory (dry-run) test sessions, and is used for the official validation. Test Plan ~~~~~~~~~ All the test procedures are performed upon completion of the source code and documentation delivery milestone. Schedule of the Verification and Validation Activities ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The FCIDECOMP software source code is hosted at EUMETSAT GitLab instance at https://gitlab.eumetsat.int/sepdssme/fcidecomp . V&V activities are executed as detailed in the following table. .. list-table:: Schedule of V&V activities. :header-rows: 1 :widths: 60 25 15 * - Activity - Event - Allocated * - Factory acceptance tests - 3 days before TRR - 2 hours * - Test readiness review - TRR - 1 hour * - On-site acceptance tests - OSAT - 2 hours * - Test review board - TRB - 1 hour Anomaly reports mechanism ~~~~~~~~~~~~~~~~~~~~~~~~~~ Anomalies detected during the execution of tests are tracked as issues in the FCIDECOMP GitLab instance, with a target date for resolution. Links to the issues are reported in the relevant test reports. Responsibilities and Roles ~~~~~~~~~~~~~~~~~~~~~~~~~~ The following roles are required for completion of the V&V activities. The :ref:`Table ` outlines which individuals from which organisations fulfil these roles. .. _table_responsibilities_and_roles: .. table:: Responsibilities and roles in V&V activities. :widths: 30 25 15 30 +---------------------------+-----------------------+---------------------+--------------------------------------+ | Activity | Resource | Organisation | Role | +---------------------------+-----------------------+---------------------+--------------------------------------+ | Factory acceptance | WP leader | B-Open | Responsible for B-Open | | test | (M. Bottaccio) | | validation activities. | | +-----------------------+---------------------+--------------------------------------+ | | Support team | B-Open | Execution of manual tests | +---------------------------+-----------------------+---------------------+--------------------------------------+ | Documentation review | EUMETSAT Review Board | EUMETSAT | Documentation review, | | | | | raising of RIDs | +---------------------------+-----------------------+---------------------+--------------------------------------+ | On-site acceptance | WP Leader | B-Open | Responsible for B-Open | | tests | (M. Bottaccio) or | | validation activities | | | delegate | | | | +-----------------------+---------------------+--------------------------------------+ | | EUMETSAT Project | EUMETSAT | Coordination of validation | | | Manager | | activities. | +---------------------------+-----------------------+---------------------+--------------------------------------+ Other Resources ~~~~~~~~~~~~~~~~~ V&V activities also require the following resources to be setup in advance. Test specifications (test cases) specify additional software pre-requisites which do not need to be setup in advance. .. _table_resources: .. csv-table:: Other resources needed for V&V activities. :header: "Activity", "Resource", "Responsible organisation" "Execution of automated tests for verification", "GitLab instance with CI/CD active", "EUMETSAT" "Execution of automated tests for verification", "Linux machine with Docker_ installed", "EUMETSAT" "Execution of automated tests for verification", "GitLab Runner_ installed on the Linux machine provided by EUMETSAT", "B-Open" "Factory acceptance tests (manual)", "Reference machine described in :ref:`[FCIDECOMP_WP] <[FCIDECOMP_WP]>` with Docker, SSH access with Public IP", "EUMETSAT" "On-site acceptance tests", "Machines with the same requirements as for the FAT", "EUMETSAT" .. note:: On-site acceptance tests can be executed on the same machine as in the FAT, under the assumption that the FCIDECOMP software is made available as read-only and the publishing server can be deployed as a Docker container. .. _Docker: https://www.docker.com .. _Runner: https://docs.gitlab.com/runner/ fcidecomp-2.1.1/documentation/verification-validation-plan/verification_validation_strategy.rst000066400000000000000000000047101473255640600334450ustar00rootroot00000000000000.. _v&v_strategy: V&V Strategy ------------- Introduction ^^^^^^^^^^^^ This section describes the V&V strategies devised to meet the goals. V&V methods referred in the text are described in section :ref:`v&v_methods`. As a general rule, for both validation and verification, tests are the method of choice, if applicable, and automated tests are preferred to manual tests. Decompression of FCI L1c NRT data via command line (VG1) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Decompression of FCI L1c NRT data via command line is automatically tested using Decompression of FCI L1c NRT data via Python (VG2) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Decompression of FCI L1c NRT data via Python is automatically tested. Decompression of FCI L1c NRT data via Java (VG3) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Decompression of FCI L1c NRT data via Java is tested manually, by demostrating that MTG FCI L1C files can be opened with `Panoply `_. Decompression of FCI L1c NRT data via the Data Tailor software (VG4) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Decompression of FCI L1c NRT data via the Data Tailor software is tested manually. Since the Data Tailor supports MTG through plugins, decompression of FCI L1c NRT data via the Data Tailor can be ensured by ensuring the plugin can be installed and can customise one compressed FCI L1c product for each Data Tailor release. Package licensed as free and open source software (VG5) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The license of the FCIDECOMP software is verified by code inspection. Tests for VG1 and VG2 are executed on all the applicable platforms; tests for VG3 are only executed on one Linux distribution, as support on Java depends on the same requirements of VG1 and the integration strategy in the selected Java tools is the same on all platforms. Tests for VG4 are only executed on one Linux distribution, as the integration in the Data Tailor relies on the Python support validated with VG2. All test procedures are organized and designed to test functionalities so that they are reasonably achieved on all the applicable platforms (MTG user stations that match the approved baseline). In case of Python (VG2) and Java (VG3) the test procedures are actually executed to a restricted set of platforms, delegating the requirement matching to the cross-platform nature of these programming languages. fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/000077500000000000000000000000001473255640600303425ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/Makefile000066400000000000000000000011041473255640600317760ustar00rootroot00000000000000# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build SOURCEDIR = . BUILDDIR = _build # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/_static/000077500000000000000000000000001473255640600317705ustar00rootroot00000000000000Barlow-Regular.ttf000066400000000000000000003000441473255640600352560ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/_staticGDEF7╟8м9шЄGPOS<(пд:▄6МGSUB▀▓╨╤qh║OS/2T╬бэ `cmap_4=│ x.cvt Ъ0!ШаfpgmЮ6╥иgasp9рglyf╛╝W·Шhead6▒(6hheaЎ═ Ї$hmtx Lg` Тlocaш╨)√╘Rmaxpё|√┤ nameNZye"8|post(й"Ъ%┤,prepnРF └╓г╝ 1=U@RА~i i Y _O22 2=2<86 1 /%#  +03!254#!"6554676654&#"#'"554632##&54632#Ы■e░-&&0  L=6Lg g_L@'AL¤╚^m╝3=@: Li_;;424#424# +##"##"54#!"##"54##"5543325543323!255433233554#!"3!p / 3 ■┴ 3 / / 3 ? 3 /z■┴?0 ■ 3■═ ю ~ ~~ ~▒uu  ^3">Бщ├▒░├░5+^е╝ @L LBQQBщ ■>_4   °<"LБ`├▒░├░5+^H╝'&@#!L * ьLjk ■═й┼э^n╝)(@%% LА1K(jHRrШM ■╘ N;ЛA2/<GUbR10 C4<0(  6?PG■П=3493?+╝!@_ГЧ▒░░5+  . °╗N"нб┐▒░░5+  . °╗y"нв┐▒░░5+  . °╗1"нг┐▒░░5+  . °╗║"нВв ■ ▒╕ ■░5+  . °╗╝"нБЯ  . °·"нд┤  . H╗╝"н#Л>БЯ  . °╗0"не╢  . °╠Y"нж╢  . °╗:"нз╢  . °╗╔"н|Н  . H╗"нЛ>  . °╗╝"н~  . °╗с"нЗA  . °╗Е"нЬy. F╨CPЗ@&8<LK░&PX@(gaEMaCMaAN@%geaEMaCNY@DDDPDOKGB@53*(#!' +2#"&'&5476&##"554&#"&546332554&#"''&76632327&6554##"3─1; P1G`mat9<0< 6  gMZb! вViBP=1К 6. )HJKW&3;%!  7D\L■ж.└;2N60,-  . °╗"нДf  . °╗║"нЕЪ. °BQ^Т@  <LK░PX@&  g aEM a CN@1  g aEMa CM a CNY@ RRECR^R]YUMKCQEQBA(&&&)%$ +&546332554&#"''&7663276632#!"3276#"&'&"#33254'&&#"6554##"3Тdlbt;=.> 3  gJ;UU4Di ■╟M9[" #cC9We?▐∙ D01BЭUjCN>2DHJT+4?&  7D1'%4K?99 &26I 1@.'(.*++76,-ї96B/-*/P °с╝":zK░PX@ L K@ L KYK░PX@H + и ь I@р5/17!()"6105#**$@ °┘14@1LАaEMaCN10($(( +&'&5476632#"''&&#"3267576#╟g hHIk 2 F22C C21G  1 lIK@,PH2>KJ7  &55,&?B$-53(  :H  @ °┘╝"╞д  @ °┘╝"╞Хp@ F┘No@ 6" LK░&PX@$А~aEMbAN@!А~faENY@LJB@<:20 +%76"#"'&77663267654&'&#&&'&5476632#"''&&#"3267Р 1 ]A31 8P hHIk 2 F22C C21G Х  5F,2  . G7,PH2>KJ7  &55,&?B$-53(  @ °┘╝"╞Бо  @ °┘╞"╞}JA °╤╝":]@  LK░PX@-RS)@Iы¤х6007")(!71/5$**#@ °╨╝EY\@@<5.(LK░PX@-RS)@Ir  B B■+6007")(!71/5$**#A ў╪%4/@,gaEMaCN&&&4&37))&# +#!"32676#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'dAG`gI[b ·A  C36* 7-4&#  07B;0Z*5AN\Tr3+/--5  A ў╪╝"╨а  A ў╪║"╨Вм ■ ▒╕ ■░5+A E╪?Nq╡LK░(PX@&АgaEMbAN@#АgfaENY@@@@N@MGD=;+)!&# +#!"32676#"'&776632654'&#&&'&54676632&3!25&'&&#╪ ■╜ H8*@'S531  7:PgI[b ·A  C36* 7-4&#  *5+2  *,@40Z*5AN\Tr3+/--5  A ў╪╝"╨Бк  A ў"╨д┐  A ?╪╝"╨'ЛM ўБк ▒╕ ў░5+  A ў╪0"╨е┴  A ў╪Y"╨ж┴  A ў╪:"╨з┴  A ў╪╔"╨|Ш  A ў╪╞"╨}F  A ?╪"╨ЛM ў ▒╕ ў░5+  A ў╪╝"╨~(  A ў╪с"╨ЗK  A ў╪б"╨ЖСA F╪@Ov@ 0$LK░&PX@&АgaEMbAN@#АgfaENY@AAAOANHE><*(&# +#!"32676"32772#"&'&5476'&&'&54676632&3!25&'&&#╪ ■╜ H8*@'T76  .3:OgI[b ·A  C36* 7-4&#  *6,) 1,@40Z*5AN\Tr3+/--5  A ў╪║"╨Ее= °╘%4/@,gaEMaCN&&&4&37)&&& +#"&'&5543!25&'&&#"''&766367674#!"3╘gI[b  C H8*@'dAG`ЗA ■¤ C3UZ*5AN\T* 7-4&#  07B;■▒3+/--5> <┌·63@03Li_?MaAN3[%(&  +32#"'&574632654&&#"#"''&54776&##"5543!2╓Vr5GzLEBB?Ym(T>0<эї V ╩ @g?Kj5 +TS/Q1┬ - -ж  > <┌║"уВз ■ ▒╕ ■░5+"9╝,5@2!La ~1; - ■U л - >G! * = 9╧+A┐@+' LK░ PX@ a?MaFMaANK░ PX@ a?Ma=MaANK░PX@ a?MaFMaAN@$?MaEMaFMaANYYY@ (-)'6$0 +332#"'&574626554&#"&'&54676632655654&'&&#"3267И 3 Бq ]T.UAe ^BY.?0/A C01?· ■!ph .IO%╤╝9;@84Li  P╤|"ьВл└▒░└░5+  P╤m"ьБ┤▒▒░▒░5+H╕╞ LK░2PX@a45? 3 3 E*4JP3ZN■▒ A7A@6■╜ A7A@6■╜ ц (*())P╤!L╡LK░"PX@a?M=N@?MaEM=NY@ ! 34$4 +##"54&#"##"54332763r_ 3 C57D 3 3 ,[^O■╢ <7FD7■┬ ц +>  P╤╝" е  P╤╝" ХqP S╙-[@$ LK░"PX@ea?M=N@e?MaEM=NY@ &34(#$ +%3"5543655'&54&#"##"543327632╥GU UC57D 3 3 +[P_╬╓RQ ' b<7FD7■┬ ц +>^OВ  P╤║" Ек? °с',@)aEMaCN'&( +&'&5476632#667654'&&#"3╔hhJGggH0D  E11D  E2JA.MM-@JJ?+PQ*AJ>5-$AB#-55-#BB#-5  ? °с╝"в  ? °с▓"Гд▒░░5+  ? °с╝"Бм  ? °"д┴  ? Hс╝"#ЛKБм  ? °с0"е├  ? °сY"ж├  ? °с:"з├  ? °с╔"|Щ  ? Hс"ЛK  ? °с╝"~*  ? °сс"ЗM? °сK#71@.LЕaEMaCN(.7(% +#"&'&54766323667433254'&&#"3267сgHHhhJ!'  39 E11D  E20D NPQ*AJJA.MM-@J$ 0$@╜AB#-55-#BB#-55-  ? °с╝"в  ? HсK"ЛK  ? °с╝"~*  ? °сс"ЗM  ? °с╛"ЕЪ▒░░5+  ? °с╝"А▄  ? °сЕ"ЬЖ6 р█ +;K4@1DA0'LaEMaCNIG53% +#"'&''&776'&'&5476632776276'&#"$54'&'&3267█ gHE1 $&  hJ=. $# ■╛┴ '1D  ╞"/0E MOP+AJ!/ 7.MP*@J/ 3&щ5-!DD!FH■▌5-  6 р█╝"$Я  ? °с║"Ез@ °6JYJ@G! Lg aEM aCNKKKYKXROHF><65&&*&) +$676#"&'&#"&'&&5467663276632#!"3&54'&&#"32673325&'&&#ИC !^>7VW4FefF4VU3Gh ■─ F6╪ B0/A  A/0B вA · C05)" 19.)(/K?8,.7>K/((/M=88 9.5|ML,66,KI,66,,6,46,6W >ш":]@  LK░PX@a?MaCMAN@?MaEMaCMANY@ **'37% +#"&'&##"5433276632654&'&&#"3267ш _H'B 3 3 A(F_D  =*(6  7&(; LOP,@Iы и * H>ч71/5$**#6007")(!P 8▄╝#>3@05 L  >/0Dd:./4?L$ ∙ p ЄCJ;╫&12&*63'┴)56*A >╤":^@ " LK░PX@a?MaCMAN@?MaEMaCMANY@ *.('30 +332##"554&#"&'&5476632655654&'&&#"3267К 3 3 B'G` _F(A  6(*=  :(&7 · ¤X ыI@)SR->H *■ж7006#**$5/17!()"P] L╡LK░.PX@a?M=N@?MaEM=NY@ 34 +'&###"543327663=   4D 3 3 A+   1 I8■┘ ц =%)  P]╝"+n  P]╝"+Х:8 √░ 66@3А~aEMaFN65$5,$5 +&&55433232654&&'.54632##"554&#"#╛W/ 0 E44@!-/8H1dR7U. / A73> DCLE<; ::@D>;J 3 Ї]jeV5K\?]h ) JDBJ % >7■ $  3|,+@(Еa?Ma=NB4#C!5  +##"332##"&54##"5543325543323323 q+. HJ= = 1 q ┐■┘0' ) 6I= ' t t '$  3|D<@9 Еi a  ?Ma=NB><953C#C!5#C +##"332##"332##"&554##"554332554##"5543325543323323 qn n+. HJ7 7= = 1 q ┐[  Х0' ) 6Iл  [ ' t t '  $  l╝"4ЙrH ∙╔·"D╡ LK░"PX@?Ma=N@?M=MaCNY╖$5&30 +332##"554&#"&&543323265В 3 3 *[0Q/ 3 @79C· ■ +>'J4R ■├9CD8=  H ∙╔╝"7г  H ∙╔▓"7Ге▒░░5+  H ∙╔║"7В░ ■ ▒╕ ■░5+  H ∙╔╝"7Бн  H ∙╔╔"7|Ы  H H╔·"7ЛE  H ∙╔╝"7~+  H ∙╔с"7ЗOH ∙(K-a@* LK░"PX@Е?Ma=N@Е?M=MaCNY@-+4$5&8 +##"554&#"&&543323265433267433(2& 3 *[0Q/ 3 @79C / K +7 ■: +>'J4R ■├9CD8= $#   H ∙(╝"@г  H H(K"@ЛE  H ∙(╝"@~+  H ∙(с"@ЗO  H ∙(║"@Еи  H ∙╔╝"7А▌  H ∙╔Е"7ЬЗ= 9╧╕ 9Oї@95#LK░ PX@-А'J4R ■├9CD8= ■ +'  H ∙╔"7Дt  H ∙╔║"7Еи ╛·!@ L?M=N74 +2''433227632##╚д 9 }} 9 д :ч■xИ ■▓·+!@$ L?M=N(%'74 +2''433227633227632##"'&"##▒О 4 jl 0 mm 4Р5mj6ч ■vК ■vЙ ■v■К  ▓╝"S№  ▓╝"SБ  ▓╔"S|є  ▓╝"S~Д├·, @%L?M=N(() +2&776''&543322776332##"''&"##зз 6ГВ;зз7ВД9юю╜╜юю╜╜ 8╢·"(@% L?MaAN" 783 +55433>76''4332276332##2 '+й 5 ВА 4 ╣*?9╚ ( 9:ь■lФ ¤хC@   8╢└"Y|▒░░5+   8╢└"YБЖ▒░░5+   8╢═"Y|t▒░░5+   8╢·"YЛП   8╢└"Y~▒░░5+   8╢х"YЗ(▒░░5+   8╢╛"YЕБ▒░░5+"Щ·/@,L_?M_=NU3U +255476&#!"5543!23!2#!"■Ё _ ■с ■Э 0n - 0■Т -   "Щ╝"ar  "Щ╝"aХ>  "Щ╞"a}  "╞"хЁd  "√╝"хd  ^ °ц╝"AL"d╞ 7coт╢c*LK░PX@5 a 6Lg g_(Ma)N311:3:5$23C#C +#!"332##"3!2#!"554##"##"&763!233254"я ■р└ └ ■Ю ╠4 90 Ж ¤╫лм╣ * ╜ * ^b. +■Ъ?■┴L▀A -/@,g_(M_)N!!!-!*%$G36+##"54332&332654&##654&##"33~-/eS╤ ╠UaUЁП1;;1П┼<=2ТХ*F1KR - OKX#╓╡4)+5■=7..8├: °╙H&<@9 LА~a*Ma+N&%4%$4%+&554632#"554&#"32655432#кpp]\p3 M@9EJ<<2ш3;■DLA3=@: Li_(M_)N1-*(%!#5 +##"54##"554332554334&##"332##"33265нhgW╦ ( ( ╦w?5Н^ ^О4?AYJ√KX   Ё н3;╖  ╦<2  L▀"~ВлI▒░I░5+  LAL╘@#)@&g_(M_)N33C#C +#!"332##"3!2#!"543!2╘ ■═╒ ╒3 ■М t ╣ * ╜ * , *  L╘"Вк]▒░]░5+  L╘"ВВ╖Z▒░Z░5+L N╘@?4@1ge_(M_)N3D()#C#C +#!"332##"3!2##"#"'&776632654'&##"543!2╘ ■═╒ ╒3 к11 6Л t ╣ * ╜ * +2   ), , *  L╘"ВБ┤]▒░]░5+  L╘&"В|в]▒░]░5+  L╘#"В}Q]▒░]░5+  L╘"В~3]▒░]░5+  L╘■"ВЖЫ]▒░]░5+L N╘@@:@7'Lge_(M_)N3V)&#C#C +#!"332##"3!2##"32772#"&'&5476&##"543!2╘ ■═╒ ╒3 п6  /1Е t ╣ * ╜ * ,) 0* , *L╙A#@ g_(M)N34#C +#!"332##"##"543!2╙ ■╬╘ ╘ 3 s ╣ * ї - +@ ∙ЁH-8@5Аga*Ma+N-,3C%$4%+&554632##"554&#"326554##"554332#╢vvdau 2 NBDPPDCM| ╝ uama│aml^ CILF▓EJJE ) T`n  @ ∙Ё"НГЮO▒░O░5+  @ ∙Ё"Н}BN▒░N░5+LфA#!@g(M)N234230+332##"554#!"##"543323!255Э 3 3 ■■ 3 3 A ¤╙ її - ЄЄ ё@A;G;@8   g  g(M)NGDA>;8424#B424# +##"##"554#!"##"54##"5543325543323!255433233554#!"3!@ N 3 ■■ 3 M M 3  3 NЩ■■╫ ■k її Х \ \\ \ЦZZLУ@ @(M)N 3+254332##L 3 3 , ¤╘   D┼"ТL▒░L░5+   Ёы"ТБL▒░L░5+   т¤"Т|¤L▒░L░5+  7з"Т}лL▒░L░5+   У"Т~НL▒░L░5+  L ∙ЕA"ТЫ▀   щЎэ"ТЖЎL▒░L░5+   Fй"Т#Ол}лL▒░L░5+ ∙жA(@%А(Ma+N4$4+&55433232654332#Дm 3 F::G 3 nZjX  * к;W6 ■з┬лLA)(@%% LА(M)N#8'30+332##"54&##"''&##"54332277╘4 3 ВГ 3 4ЪЩA ¤╙ ╜╞╟■B - ыыLЎ@@ L(M)N#8#0+332##"'&##"5433265п 3 5■ь 3 5@ ¤╘ │■Q , ■Mп  LЎ "г┤P▒░P░5+  LЎ "гВ┴N▒░N░5+L xЎ@-3@0)&"Le(M)N-+#:#&+'"55432674'&##"54332655655433ЎBR *#■ъ 3 5 3@ ¤╤H> ) #&╢■Q , ■P6m   LЎ "гЕ╣P▒░P░5+: ∙рH,@)a*Ma+N %+&554632#66554&#"3нss`?_5t_?MM?@LL@r`к`s4_@к`r=ODнDOODнDO  : ∙р "игN▒░N░5+  : ∙р "иБнN▒░N░5+  : ∙р"и|ЫN▒░N░5+  : ∙р "и~+N▒░N░5+  : ∙р "иА▌N▒░N░5+  : ∙ря"иЖФN▒░N░5+0 щьW'5C5@2 ;7-) La*Ma+N@>20)+#"'&''&776'&5546327766276'&#"$'&&32655ь&t_K5%% s`J6&■Э▌$7@L▄#8?M492Fк`r$.82Gк`s%.■wMODн╟■▓ODн  : ∙р"иЕиN▒░N░5+: ∙цH8F▐K░PX@ 2/LK░"PX@ 2/ L@ 2/ LYYK░PX@"ga*M a)NK░"PX@,ga*Ma)M  a)N@2ga*M_(M_)M  a+NYY@999F9E(6''3C#C +#!"332##"3!2#!"554&#"&&55466325543!26554&#"3ц ■э╡ ╡ ■м G)3R//R3)H T ■RFF:8EE8╣ * ╜ * #0W8╨8W1$ +■*F9╘:FF:╘9FF▌B0@-g_(M)N4$+##"##"5433654&##"33~_`NЮ 3 т*;;/ЬЬB[JIZь . ■Є9./:╚F╔A%4@1gg(M)N%"34$+##"##"5433233654&##"33l]_NЛ 3 3 Н,88-ММ├ZJIXp - p■ї8..9┼0 е┴H&+@(Lea*N$":+##"554'&&554634&#"3265SnVJ 3 KWn[БG:;GG;:GHo]╝Pi H H hQ╝]o╚?JJ?┐?KK?LсB,3@0Lg_(M)N,*&"342+ ''&##"##"54332##332654&##ЪzВ 3 ▌L\@6~6■ЁХ/::/Хїё . ZI;R Ї─8-.9  Lс"╡ФG▒░G░5+  Lс"╡ВбE▒░E░5+. ∙╠H46@3А~a*Ma+N43$4+$4+&55433232654&'.54632##"554&#"#Эo 1 LE>BBQEG.f]ak 2 GC:?19EP3lbSJ -82+%2 ";/IPWK -9-+#(?0IU  . ∙╠ "╕ОN▒░N░5+  . ∙╠"╕ВЪL▒░L░5+. G╠HO;@8LА~~fa*N$4+$<(*+$"#"'&776632654&'&#&&55433232654&'.54632##"554&#"╠[T30  T] 1 LE>BBQEG.f]ak 2 GC:?19EP3UT+2  .RC -82+%2 ";/IPWK -9-+#(?0"╠A!@_(M)NB4#+##"##"54##"5543!╠ ж 3 б ЦA + ■ Ї + "╠A/)@&g_(M)N3C#B4#C +##"332##"##"54##"554332554##"5543!2╠ жq q 3 j jб Ц Р  ■╙ -  Р + +  "╠"╝ВЧE▒░E░5+  " B╠A"╝М[E ∙у@!@(Ma+N4$4+&5433232654332#╖r 3 J?=J 3 q]m[u ■К?JJ?v ■Л[m  E ∙у "└лP▒░P░5+  E ∙у "└Б╡P▒░P░5+  E ∙у"└|вP▒░P░5+  E ∙у "└~3P▒░P░5+  E ∙у "└АхP▒░P░5+  E ∙уё"└ЖЬP▒░P░5+E Nу@6,@)# LАf(N$=)-0+332"32772#"&'&5476'&&543323265Ь 3 eT. 1,N[ 3 J?=J@ ■ЛVk'' ,+ iQu ■К?JJ?v  E ∙уk"└Д{P▒░P░5+ тA!@ L(M)N74+2''4332276332##┌╢ 6 УУ 4 ╕ 8.■-╙ ¤╥▄A+!@$ L(M)N'5'74+2''4332276332276332##"'&"##├а 6 vq 7 tx 3Ь 3 ws 1. ■H╕ ■H╕ ¤╥ ╡■K   ▄"╩G▒░G░5+  ▄"╩БG▒░G░5+  ▄"╩| G▒░G░5+  ▄"╩~ЪG▒░G░5+"тA) @" L(M)N()((+2&76''43322776332##"''&"##&╡╡ 7РР7╡╡ 7РР7сс■ю■я▀▀"╥A#@  L(M)N'8+6554'&543322776332##╒░ 6 ЙЙ 7▓ 3 ш=№№■├ш   "╥"╨ПF▒░F░5+  "╥"╨БШF▒░F░5+  "╥"╨|ЖF▒░F░5+  "╥"╨~F▒░F░5+$мA/@,L_(M_)NU3U+255476&#!"5543!23!2#!$2■╫ t ■╬) ■М 0╢ + 0■I *   $м"╒|R▒░R░5+  $м "╒ВИP▒░P░5+  $м"╒}"R▒░R░5+°#─&3?Y@VLKАi g iW_O''=:74'3'2.*&%&4)% +2554&#"''&76632##"554&#"&54636554##"3332##"55ъ)()  C0:C  D1>J?9F,4(!v ° ° 4#*  #,=2┌ '/.2:д(#0"!d  °=─'3@@=iiW_O(((3(1.+'&( +&'&5476632#667654'&&#"35543!2#!БA B/-A A-))(*П  ■ўo0+11*00*35*1+"/.!!++!в " "  ^╝0@- LM_N&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤шH9─=/@,%LaM_N=;+3W*#+25543326'&&5546632332##"5547>554&#"##H S(-;lGGm;-)T ╗ 6!\LK\!6 ║ * Y9ьEi::iEь9Y * ,-F+°L\\L°+F-,   P 8╨·d'_·+%@"_MaN3B44#& +##"2#"&&54##"##"54##"5543!2_ I  ):%э 3 P $ ╜■р%& ) 54?■Q п ) )G Ўю┼ ,@)aJ>C=JJ=■╜>J:╝@ L * *(Ф\wB5@A5 (M^.Q3Ux?й2 °┬╝;:@736LА~_0 ,3P!1<&H #╬ * 1└^1ъ╝.7@4+LjD@A5 LА~i_ E>&:@D>(68Ra^M 3@C7У<83Я-4%*+&2,&.+)$├╝O@  LK░PX@r_ 68#749 °╚├(<>@;LАia-+> <,6■╚Ra_L 3@C7Т;83*H=':@E=√+&4+&.+)03$+> Ў╨┼ ,@)aJ>C=JJ=■╜=KRu╝@ L 0 E7╪─+8@5 LАa * *7ЛUwC5@A5 (M^.Q3TyFА<4 °╦╝?:@769LА~_1 (,3('',<'#$ #╬ * 1└4-)┌╝.7@4+LjD ∙█─(<7@4 KАiaGG=$89Qa^M 3@C8Х"БЖ+/(33**'(5/.2ю╝O@  LK░PX@r_ °╤╞&:L\╢"LK░2PX@ia@;LАiaБ@<>GG=∙3*.+(5///.)3  °$з *@'iaCN % +&554632#66554&#"3fFF;;HH;%++%#,,#D9╖8CC8╖9D-)#╜#*+"╜"*Лд"@ LАa=N%3! +332##"54##"55477W#  2 3д ■p f  #&й)2@/LАi_=N)'F$4+ +25547677654&#"##"556632332##$,H9)! (  E48D6?:░ ю 3WD'$$ /9>/2GQA  % ∙в<j@58LK░ PX@!r~gaCN@"А~gaCNY@ 3Z&%5% +$#"&'&'4332327654'&#"#"''&4776&##"5543329'*=   %+ * eа ▄ Z8о.)!,&  #!'#p  i1.д.7@4+LЕja=N..4D&B4# +$##"##"554##"55477633233255433233.   п u p{  Я  c c  ЇX X  °б:B@?3 LА~giaCN!&%6% +$#"&'&'54332327654'&#"##"554332##"7632 :(+=  $- ,%" ╥ ж.$5з($!#+%  '& с  А" % °ж';6@3LАiiaCN(('#4'% +$#"&'&554632##"54&#"763254'&&#"3267 @+*< B82A  % '.'< ,$$%#г$!$,,$$╖3<:. $&"K+#N  дK@  LK░PX@rg=N@Аg=NY╢&34C +2&76&##"##"554332##PЕХ  ъ Ж"g! G ■Ц  °з'=Q7@4='LiiaCNOMEC97-+) +6#"&'&547676'&'&5476632&326765654'&&#"54'&&#"3267с  >,*=   ;*+=  У#%%#С&#$%▄!#*)$#"#%!P  ╥  °ж(>6@3LАiiaCN*(('$4$ +#"&554332326554&#"&'&547663254'&&#"3267B82A  %!'.'<  ?+*< ,%"%#B$╖4;9/ $&!L+##%#-,$P   $─є ▒╕░5+  Л╝Ї ▒╕░5+  #&─ї ▒╕░5+  %┬Ў ▒╕ ░5+  .╝ў ▒╕░5+   ╗° ▒╕░5+  %─∙ ▒╕░5+    ╝· ▒╕░5+   ─√ ▒╕░5+  ─№ ▒╕░5+  ║Л^Ї║ ▒╕║░5+  #║&cї║ ▒╕║░5+  %│\Ў║ ▒╕║░5+  ║.^ў║ ▒╕║░5+   ▓[°║ ▒╕║░5+  %▓`∙║ ▒╕║░5+   ║ ^·║ ▒╕║░5+   ▓a√║ ▒╕║░5+  ▓`№║ ▒╕║░5+ Йl╝ @54&#"#'"554632##&54632#░*+"@56A 3 jVTf(!"" 4  ╚ ;+6"!.2=>2  Ob`P,@((7 ╞  * /еЄ 3mK░2PX@&А~a?MbAN@#А~fa?NY@ 3 1&$  $ +#"&546332655432#"&546676655433 #+*!?56B 3 jVUf(!"" 4Є  ╞ ;+7! .2=>2  Ob`P,@((7   2▐вN р▄▒░▄░5+'Ч~ @YaQ $ +6&54632#kDD0/DD/ЧE/0CC0/E ЙmыC*@'=1$LYaQCA" +574#"''&547764''&&77665'433277632''&##пo nn o  o oo o Й z@==@z z@==@z HKдWcнK░PX@'  Еg _  ?M=NK░"PX@'  ЕЖg _  ?N@.  ЕЖ   hW_OYY@c`]ZUQMKGD@>:8C#D$4$#C  +##"332##"#'"&774##"#'"&774##"574332574##"5543325763233257632332574##"33J LC  K 3Я 3@  I? I 3Ю 3C ║ЯЯнЯ * л зл з * Я + л зл з +▒ЯЯG╝ @ +%76"##"574'&&'&54766765'43323#"''&&#"3267Р 1 ]@ , 8M N7 , A\ 2 F22C C21G я  5EG I G5,PH24F I FG2  &55,&?B$-53(IЇEU=@:71)A$L.J Iea?NRPJH64 +$#"''&#"'&''&776'&5476''&547763276327766326654&&#"╚$A >2@=1; ='$@=2AA5A E!■░%?%%>&&?$%?%ю1A>$!;<3B@2@=$(AD1=$>%$>%%?%%?%5 г°KB@?1( LА~iYaQA?;8/,$96 +$"##"574#&&55433232654&&'.546725'43323##"554&#"°cY , [f - [PHL#HCHM1^S + Xd / VLCH#ADEU3db H H cM :GA6#2,-G6M[N O dN :J:7$/#4K6H ў:─VS@P-LА g   ga_3F FF Fr^Up 3I8>KЄ  ц╨  ─K>6>4  KZ2\D└ └-> * ,@*u ' Н\hE@ ,)DAО ' sO+J  <╝W7@4NA>2) QLА~7ї 3 >uP52 bpbp 3 КШКШDe8 ?mH  +;╙ ╛'*;'*■°6W4^Ч╜8E=@:  gg _#C#B4#C#S +332##"332##"##"554##"554332554##"5543326'&5433227633M╛u ЖЖ Ж 3 Л ЛЛ z╛ 6 ий6╝■и  R  У У  R  X■╧1'├к @YaQ $+6&54632#kDD0/DD/├E/0CC0/E!├╝ @Еv%$+2&76332##%^ -■г .й¤W'j═#MK░PX@gaEN@YgaQY@# 4#B4# +##"##"554##"55433255433233═ ж * ж ж * жX * в в * к к'═X @W_O 3+5543!2#!' Т ■n * * +Ш{ш+│!2+"''&"''&4776''&477627762{ussuvxxv┬ussuvxxv'{═ #@@=igYaQ #"   $ +&54632#5543!2#!&54632#у ╥ Т ■n▓ ╕С ) ) м  '╡═─&OlOЫ▒░l░5+▒╕ Ы░5+'_═3AK░ PX@)pq hW_OK░ PX@/pqX hg_OK░ PX@)pq hW_OK░PX@(Еq hW_O@'ЕЖ hW_OYYYY@?:$#S#T$#S +##"332##"##"&776&##"554332776&##"554332776332332═ ХC┘ °' $b БC┼ ф- *v НМ ) SL ) М ) _X )'.═я│2+7"5547%6'%&5546/Q■пУ■m. 1ШШ1╝0╝'-═ю│ 2+$'%&5547%72═■mУ■пQ2╝0╝ 1ШШ1  '═6'O■цTG▒╕■ц░5+▒░G░5+'═6" @ JW_O +$'%&5547%72#!"5543!2═■mУ■пQ ■n Т y╝0╜ 2ШШ1~ ) )  '═7&N'O■ц▒░'░5+▒╕■ц░5+  'Т╬ц'[Д[л▒░Д░5+▒╕ л░5+'в═X>K░ PX@qW_O@ЖW_OY╡B30 +3!2##"554#!"55' Т + ■з X в j *'ч╬b"0▒dD@%YiaQ"!%)$ +▒D$&'&&#"''&7663232676#;*#1@(%#$ 9%ч )")  !'*3Ч╝!▒dD@LЕv(&$ +▒D&76332##"'&"##.Т/У*vv*3u■Л4■╠'а╣▐-;J@G6" Li  Y  aQ.. .;.:42 - ,(&&&& +#"&'&#"&&5466327663676'&&#"3 654&#"3HH))I05O&%M2+G*)I-4K#*Q0■╧:""6'-89)Г98,(?%"<*▐*I-,H*5418*J,,H*6252■√314.9,,;9,-:1230" 8t╝(@%iYaQ3&3+5'433265>72##"# 7( ON  7)!NN╚ * 1;4FE * 1;¤╠FE  H9─▄ ^╝6@3 LЕW_O&+255476332#!63!26'&" ■(■ ¤╓=и╘╘ .p¤П- A¤ш^ 81 '@$ЖW_O423+##"54#!"##"543!1 3 ■├ 3 ┐ №, Ь№d ╘ ^ 9*┘%2@/LgW_O%#W#<+55476'&5543!2#!"3!2#!^Ёю ╖ ■ОЁёs ■H╟ ,пd- * ■Я■T )   8С*@' LЖW_O#?+''4?2276332##"##еБ/_ш ╬ Ьў 6╚b■∙\ ) №k P 8╨·)V@ " LK░"PX@?Ma=MAN@?M=MaCMANY@ $36&30 +332##"554&#"'&##"543323265Й 3 3 *Z8, 3 3 ?29C· ■ +>═ о ■░18D8=@ °¤├#2A@>&LiiYaQ$$$2$1(*'%$+#"&5466325&'&#"#"/47632674'&&#"3┘$gЖ^r:b;,N 1,O219Dr>ONN0+F)N?;ШSУ┼udDf6 ДE>,%S¤╞ql(4(I0FW^ ўЇ┼)9EТK░PX@+  i ja*9*820)($"& +&&546632#&76332##654&#"3&&546632#6654&#"3╟B''B''B&&B'{ ■Ж !?77((88(QB''B'&B&&A'(78')88)й&A''A&&A''A&■Wй¤W╫8((87)(8■ &B'&A&&A&'B&.8)(77()8    °Z─"¤#(#є°є6' ╥─ъ@LЕv'&+'&76332##6276'&"┘мн%он'ЗЗЗЗ.}}■Г■ГM::■╞■╞? г√iWoпK░.PX@ *  JEL@ *  JELYK░.PX@, i  i iYaQ@3  А i  i iYaQY@mk`^WV-&'('*&' +#"&'&#"&'&54767663225763323267654&&#"3267632#"&&54663676'&&#"3267!НM ZD#57 6D J., &*; BuLVЩ_*Xv1*6>&B)'0¤│##*!a'L005$ 8х╝*@'L_╝ №Р A№┐ ┤=d=?g;4 1О├L]Z@WCLА~ ~~a+,6 )@:(H3-H)Y,(.&!'-H °─Fh▒dD@]А~ii   i Y b R  F EB?;942.+'%& +▒D&&546632#>54&&#"3&&554632#'"554&#"326554372#Kе^^еggж]]жgXНPPНXYНOOНY1<<22<  %$$%  =1]дeeд]]дeeд]3PМVWНPPНWVМPА8/Щ/76-  !!в!!  -7Dж╩>Kд▒dD@ A/$LK░ PX@2Аp ii Y bR@3А~ ii Y bRY@KIED<963)'& +▒D#"&&546636654&&#"36##"''&##"##"554332&332654&##Z44Z66[45Z6,I**I,,I**I,?   5T  ╩4Y56Z44Z65Y4■Я*I,+H**H+,I*▓?@= Я - ]b╝AE@B=-#LАДY_ O:852*(!4#3 +554332##"##"54##$332##"54&##"''&##"54332277 ч \  W  EE  RSХ   ■╓ *' ■╡ hh■№ K }}ч`(8▒dD@-iYaQ& +▒D&&546632#6654&#"3ТJ++J,-J++J-/@@/.AA.ч+I-,J**J,-J*2@//@A./@хК╝ @Ж<N%$ +##"&77633ЕK&< 5╝├─х'╝ $@!Ж<N   # +##"&776332##"&77633бF #83СG #93╝ ── ──/ ░v° @Еv 3 +54332##/ 3 3P 4 №╠ / ░v° /@,iYaQ   3 +54332##54332##/ 3 3 3 3О V ■к ■" V ■к ' 8Д╝#'@$g6@33,LiYaQ<:21'%++$67632#"&5'4&#"''&5476765'&6632376654&#"E,A'@H% !&E-2Ak`++WDL!&4/ RIb║3_;K8LГHЙ85?7d5#0YH' 8Д╝;0@- ggFE=  яЙ╝8яЙ╝▒dD@Еv$2 +▒D54332##"''5 ; &J▓║╣И ╗ &▒dD@W_O 3 +▒D554332## ∙ ∙И     ■хY╔&}} Y▒░░5+▒░░5+ МV №╞ &▒dD@YaQ $ +▒D&54632#U V   А<  ╝▒dD@Еv6" +▒D##"''&54332 $D- <Dmm ?< └╝ ▒dD@Еv%$ +▒D&776332##╜< -D$<mm■╛< ▀╝ ▒dD@Еv%%%$ +▒D&776332##2&776332##■┬8 .< *Ю; +=(<mmmm■с> ▄╝!▒dD@LЕv''4 +▒D&776332##"''&"##■хP : Q( <= (>llRR  ■у> ▐╝Х■┐■эD у▒5▒dD@*LЕYaQ3#4 +▒D&'5433232676332#╩D  *+  F2D9* "! +9 ,C 8▒dD@-iYaQ   $ +▒D&54632#6654&#"3Х?@..??.''''C>.-??-.>+%&&%■╓[║!0▒dD@%YiaQ! &($ +▒D&'&&#"''&76323276#o  !5!/[   1   ■єmб &▒dD@W_O 3 +▒D554332##■є ∙ ∙m ■e% с! ▒dD@YaQ)* +▒D&76676654&#"''&76632''■▓ & %/ +  *" _< ▀╝ ▒dD@Еv%$ +▒D##"&77633&; -D#╝mm   y< ·╝: p╨ яK%▒dD@LЕv8 +▒D55476674332Р (  C-╨  $ 1: Н H ў ▓ &▒dD@YaQ $ +▒D&54632#U╕   X B ┘ ┬У 8¤ ▒╕¤░5+ u FO▒dD╖ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"'Л 2<1▓ &-/7  t F ■S▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772 /;2 м 4/+' ■├=l ▒dD@W_O30 +▒D3!2#!"55■├ ) ■╫ l  ¤▒7 &▒dD@W_O 3 +▒D5543!2#!¤▒ ; ¤┼   ■U$;в│ 2+$#"''&547632■{╗■F$N■▓■V ┘ №щ ▒dD@Еv%$ +▒D&76332##■Zj %■Х $'¤¤   <б╝с2б5▒dD@*LЕYaQ3#3 +▒D&'433232676332#gE  ))  F229, !! ,:$>╝!▒dD@LЕv5'$ +▒D5463322776332##"''$( =< (Q : P▓RRll FМN▒dD╢ LK░ PX@pYbR@ЕYbRY╡(& +▒D77663267654'&54332#"' 2;1▓ '+05   ">╝БA  Y8╔|8  VН╞}С  #<в╝~г DJ─ ▒dD@Еv%%%$ +▒D&776332##2&776332##%; -D#г; -D$DmmmmR Е &▒dD@W_O 3 +▒D554332## ∙ ∙R    FКS▒dD@ LK░ PX@pYbR@ЕYbRY╡*'# +▒D#"&'&547633232772К /;3 м 4/+'   C°Дё  [G║ЕG  ¤╞D■╝M#Г■┘■уС▒░С░5+  ¤╞D■╝M#Г■┘~■^С▒░С░5+  ¤╞D■╝x#Г■┘З ВЧ▒░Ч░5+¤╗D■╓0!8y╢5$LK░,PX@ ii e<N@+АiiYa QY@"""8"741.,)&! &(# +'&&#"''&763232676#&'5433232676332#■b  5  ,pE  *+  F2╓  /   Т9* "! +9  ¤╠> F#Б■ыЖL▒░L░5+  ¤╩>■я0#Б■щ~■Ёt▒░t░5+  ¤╩> Y#Б■щЗ x▒░x░5+  ¤║>■ф:#Б■щЕ■фА▒░А░5+иpЭ(TНГ}}}}╬▀Ё'8IZk|Св│─╒сЄ 1B▒gxЙ%6GЖч°EVgЁ'8IZk|ИЩк╗M^ЩЇ'hсЄ  $ 5 F W c t Е Ц в │ я O z Л Ч г  Q Т г ┤   Y j { М б ▓ ├ ╘ х ё   $ 5 A R c t Е Ц.·AРр9J[╜╬▀ДХ¤0Р╔┌ы№ *;L]izЛЬн╛8IZСхЎ)}┐╨сЄ■ 1xЙЪл╜╔╒сэ  ПЫж╖╠▌ю )9EQ]iuБНШIUa-╛".9уя√~.:цMYk".DP\htАТЮк╢ d p ╪!=!O!б"_"j"|"И"Ф#Х#█$@$Q$b$н$╬$┌$ы$ў%%%%'%3%?%J%Z%f%╛%щ%ї&C&T&u&Ж&Т&Ю&░&■'v'╠'╪'у(N(Z(н(╣(╩(╓(т(Є(■) ))").):)F)▒)╜)╔)╒)с)Є)■* *Ъ*ж*▓+Y+█,M,╤-(-4-?-в-о-╣.[.g.╔//Д/Р/у/я0000*060B0N0╛0╩0╓0т0ю0·111■2 22"2Щ2л2╝3f3r3~3╡4 44"4.4:4М4╒4ц4ў555%565G5О5Ъ5е5▒5╜5╔5╒6╬7Z8╢9>9О9Я9░9┴9╥9у9Ї:::":3:в:∙;K;\;m;ч;°<6<Х<ж<о<Є===Б=Т=г=┤=┼=╓>F>А>╓>ч>°?7?к?╦?▄?э?■@@ @,@=@R@Л@┘AAAZAfA├BBSBdBuB╤BтC#C4CECVCgCxCЙD DDщE.E{E╚FF0FAFбF▓F├GKG~G═G▐GъH H1HBHSHdHuHЖHщH·I1IЕIЦIзI╕I╔JJYJjJ{JМJЭJфJїKKKШLLLL│L╗MMHMzM╙NDNЭOOЗO┘PvPъQ+Q[Q┤R+RДR·SjS╝T[T╬U U>UРVVpV▀WMWЬX.XаXпX╛X═X▄XыX·Y YY'Y6YEYTYcYrYБYРYЯYоY╜YтYЄZZZ"Z2ZBZRZaZЗZЮZ▌Zэ[([А[х\c\q\Ц] ]с^^(^X^И^р_8_m_Я_├_╦_я```B`J`Y`Т`╦`эaadapaеa┌bb1b>boboccеd'd╜eereчfyfэgggМg░hh'hph─h┘i│i▌jjjdjzjРj╩kkTk╘lllflЭlяm3mЧnn│n╟o pp╡pўqеr8rёsis▒s╒tt1tmtоu%uГuєu√v!vHv]vЖvнv╘wwJwSwТw╘x#xKxТx╣x┴xЁyy(yy╪y■z'zNzwzАz╛zў{M{V{_{h{q{н{╘|-|6|?|Q|c|u}}})}:}Lhr=┼h║_<їш╪№Ч╪┐¤▒ /Z<г╚╚_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!_!Щ$s^_H_H_H_H_H_Hj^л^j^л^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^]^8^eHeHeHeHО^О!О^^V ЇIM( №ы$ ЄAAc^8^8V8^8^W ъ╦^д^д^д^д^д^nHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHnHn2nHШHPW7W@:d^d^d^H4H4H4H4H4KA9+9+9+ИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVИVM#nААААM%7%7%7%7%7%7%7%7%%-%-%-%-eHc^д^d^9+H49+ .■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.■.@."P@@@@@@"A@"A"AAAAAAAAAAAAAAAAAAA=>>d"=====/=PPP H╘F╘?╘ я╘ ы╘ ▌╘2 H╘╘ьH╘ фH╘ █ї ▌ё ▌ё ▌їPїPцPцIiPц QV;PPPPPP!?????????????????????66?Z@(WP(AlPlPlPс8ф8ф8ф8ф8-Pl$l$l$HHHHHHHHHHHHHHHHH=їPPl l$ф8l$HHH█ ╤╤╤╤╤▌════════╜"╜"╜"╜"d"J"D^л"Ч" =ЇH L:::::LGLLGLLLLLLLLLLLфL)@@@,L, ё▀L▀D▀ Ё▀ т▀7▀ ╤L▀ щ▀Є LцLцDцLцL√dLBLBLBLBLBL:::::::0::√FцFё0LLL°.°.°.°.я"я"я"я"(E(E(E(E(E(E(E(E(E №№№№№"Ї"Ї"Ї"Ї"Ї"╫$╫$╫$╫$D] ~ БH"PЖ'5G^:92'1BA┘$ ; 9>R74)DD2>;> ╕F#B%Q. 7% : 7> ╕F#B%Q. 7% : 7╕F#B%Q. 7% : 7ы Й&Е%{%R  RBSq7`R?f?f═(═*╥25'Н УHРРK √U. . | |ЖК'К'┬'н'К'фXB  ММVdkAЙdДн'~_╚@ /5|H#"Й^^^}J╗^░c5'!Ї'Ї'ж+Ї'Ї'Ї'Ї'Ї'Ї'Ї'Ї'ї'Ї'ї'┬*р'Я"БH~ Н^d^с "PN@P^t ъ';?Т4A$┼4eH├Т}XDж/ж/л'ЇSл'kHММ ■х М А ?■╛■с■у■э ,■╓■є■e _ y p Н X u t■├¤▒■U■V├ 1A$М"Uк├#k  Мc¤╞¤╞¤╞¤╗¤╠¤╩¤╩¤║ш 8t¤▒ ZбРКXKКX^2/ TRBY└√ш 8X∙ У·╝ дА$ /9~+17>HM~ПТб░╬╘хчщя )7YТ╝╟╔▌ #(8Фй╝└Е∙     " & 0 3 : D y г м ║ ╜!!"!&!.!^""""""""+"H"`"e%╩'щ√   0:а-39@JOПТап═╘хчщя (7YТ╗╞╔╪#&5Фй╝└Аа     & 0 2 9 D t г м ║ ╜!!"!&!.![""""""""+"H"`"d%╩'щ√   їп■э┤ f   ■ї &■╧■╚■Й■Q ▓ v o h f Z■G■3■!■т!тсЎт7т?тс╠сЦсдсЩсПсНсcсMс9сJр╣рcрZрRр8р?р3р▀є▄Ю┌Wdа╝D*T\dn~Д▐рт╪▄╪┌┌фьцЁЮвжЖЖА=$Dfj>'(#N-%URTi#'9:>ALNOTUZqstw}АУФЩЪв+&,\2Ън┼╞╠╨хцьЁ■  (*+.47RSXYa)s*[ABHCKtlШm┘9Z.nЬpX Уdk!Ц┌:   4(+1GBCD$Yd[\obPnЖБГДЫr3╛о╢├╝┬─╔▌╤╘┌°ЄЇї═&Q$>8;<Z)\└п┴╟!╩"╦╚%╬&╧6▀2█7р)╥<щ;ч=ъжH@я?эK¤I√єJ№Eё·MзIPRQSV иJW X m#l"p'u,йKv-x/{2z1y0кL6~5ТQПGВ9СPОFРOЦUЬ[ЭгbеdдcfИ@ ╡лMмN*╙zyЧХФЩЮЭЯЫ~БЕЖГ}|ЗДАВШWХTЧV╜┐╖╣║╗╕░ ▓ │ ┤▒3▄5▐8с,╒.╫/╪0┘-╓H∙Fўce]_`a^gij k!hЕ=З?ЙAЛCМDНEКBЯ^Ю]а_б`783564uw"bOLcWV░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╢E5!*▒B@ J:.& *▒B@ NB4* *▒ B╛└└ └ └@ *▒B╛@@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ L<0(*╕ Е░Н▒D│dDD─· 8─· 8GG>>AH ∙GG>>AA ∙AH ∙GG>>╝╝· 9╝ °╝  √ 9\║\║ в Т  Т Ю 2м ▐ ·  0 F &` &`  Ж 4жCopyright 2017 The Barlow Project Authors (https://github.com/jpt/barlow)BarlowRegular1.408;TRBY;Barlow-RegularBarlow RegularVersion 1.408Barlow-RegularTribby TypeJeremy Tribbyhttps://tribby.com/This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFL ╡2и$╔ ╟    bнcоР%&¤ d'щ(e╚╩╦ !"#)*°$%+&',╠═╬·(╧)*+,--././0т01123f2╨╤45678g9╙:;<=>?@ABСп░3э45CD6Eф√FG7HI8╘J╒hK╓LMNOPQRSTUVW9:XYZ[;<ы\╗]^_`=aцbcdefghiDijklmnopkqrstulvjwxynmаEF■oz{Gъ|Hp}~rАБВГsДЕqЖЗИЙКЛМIJ∙НОПРKСТУL╫tФvwХЦuЧШЩЪЫMЬЭNЮOЯабвуPQгдеxRyж{зийкл|мzноп░▒▓│┤╡б╢}▒SюTU╖╕V╣х№║ЙW╗╝X~╜╛АБ┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥YZ╙╘╒╓[\ь╫║╪┘┌█]▄ч▌└┴▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOЭЮPQRЫSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy╝ЇїЎz{|}лг"в├З ? ^`>@~▓│B─┼┤╡╢╖йк╛┐ АБВД╜ГжўЕДЕЦЖЗяЁ╕ П!ХФУздaAТЬИЙЪЩеКШ╞╣# ИЖЛКМГЛМ_шВН┬ОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзиН█с▐╪О▄C▀┌р▌┘йклмноп░NULLAbreveuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni01CDuni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2AmacronAogonek Ccircumflex CdotaccentDcaronDcroatEcaronuni0228uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4 Edotaccentuni1EB8uni1EBAEmacronEogonekuni1EBC Gcircumflex GdotaccentHbar Hcircumflexuni1ECAuni1EC8ImacronIogonekItilde JcircumflexLacuteLcaronuni013BNacuteNcaronEnguni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0 OhungarumlautOmacronRacuteRcaronSacute Scircumflexuni018FTbarTcaronUbreveuni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEE UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave Ycircumflexuni1EF4Ygraveuni1EF6uni1EF8Zacute Zdotaccentuni0122uni0136uni0145uni0156uni0162uni0218uni021Aabreveuni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni01CEuni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3amacronaogonek ccircumflex cdotaccentdcaronecaronuni0229uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5 edotaccentuni1EB9uni1EBBemacroneogonekuni1EBDuni0259uni0292uni01EFgcaron gcircumflex gdotaccentuni01E5hbaruni021F hcircumflexibreve i.loclTRKuni1ECBuni1EC9ijimacroniogonekitildeuni0237 jcircumflexuni01E9lacutelcaronuni013Cldotnacutencaronengobreveuni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1 ohungarumlautomacron oslashacuteracutercaronsacute scircumflextbartcaronubreveuni01D4uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEF uhungarumlautumacronuni0123uni0137uni0146uni0157uni0163uni0219uni021Buogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexuni1EF5ygraveuni1EF7uni1EF9zacute zdotaccentI_J.liga f_f_i.liga f_f_l.ligag_j.ligai_j.ligaa.sc aacute.sc abreve.sc uni01CE.scacircumflex.sc adieresis.sc agrave.sc amacron.sc aogonek.scaring.sc atilde.scae.scb.scc.sc cacute.sc ccaron.sc ccedilla.sc cdotaccent.scd.sceth.sc dcaron.sc dcroat.sce.sc eacute.sc ecaron.sc uni0229.scecircumflex.sc edieresis.sc edotaccent.sc egrave.sc emacron.sc eogonek.scf.scg.sc gbreve.sc gdotaccent.sch.schbar.sci.sc iacute.scicircumflex.sc idieresis.sc i.sc.loclTRK igrave.scij.sc imacron.sc iogonek.scj.sck.scl.sc lacute.sc lcaron.sc uni013C.sc lslash.scm.scn.sc nacute.sc ncaron.sceng.sc ntilde.sco.sc oacute.scocircumflex.sc odieresis.sc ograve.scohungarumlaut.sc omacron.sc oslash.sc otilde.scoe.scp.scthorn.scq.scr.sc racute.sc rcaron.scs.sc sacute.sc scaron.sc scedilla.sct.sctbar.sc tcaron.sc uni021B.scu.sc uacute.scucircumflex.sc udieresis.sc ugrave.scuhungarumlaut.sc umacron.sc uogonek.scuring.scv.scw.sc wacute.scwcircumflex.sc wdieresis.sc wgrave.scx.scy.sc yacute.scycircumflex.sc ydieresis.sc ygrave.scz.sc zacute.sc zcaron.sc zdotaccent.scuni0394uni03A9uni03BCzero.tfone.tftwo.tfthree.tffour.tffive.tfsix.tfseven.tfeight.tfnine.tf zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079 oneeighth threeeighths fiveeighths seveneighthsuni00ADuni2010hyphen_hyphen.ligauni27E9uni00A0Eurouni20BAuni20BDuni2219uni2215uni2126uni2206uni00B5minuteseconduni2113 estimateduni02BCuni02BBuni02C9uni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni0313uni031B dotbelowcombuni0326uni0327uni0328uni0335uni0336uni0337uni0338 uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303   ╓!8:SUptТФШЪ├╞╦╬╬╨фц &+24QSWYdeklvyЛНЪЬбг▒╡╚╩╬╨╪▌▌??BBDEKKdd|Таз|ЙККЛОаз 8|DFLTlatn    kern&kern&mark.mark.mkmk8mkmk8 ▓╓BЇ3╕4$4╢4р╥X,ВRXbhВrxВИОФЪажм║▀рстуфхцчшї¤■рр Єт ·р ∙р дц тр юр% ┼р фр ьЎ № ы& ∙ ╥є ф° √6 8 *4 ▐ ў=>М=▀$, ё ╙уцц=>ММ (0 х ¤ ёMNNссMMNN>▄z╪РCтттттттттттттттттттттттшшшшшЇш Jddjш|тшшшшшюЇ· &C #$%&ANqrstuvwxyzЪзйн═х3Xlx~АБТЬ▓┤╡╢╖╕╣║╗╨ > ∙J ї ї ї ї ї  ї  ї  ї  ї  ї ї ї ї ї ї ї ї ї ї ї ї ї ї ї} ·~ · ·У ёФ ёХ ёЦ ёЧ ёШ ёЩ ёЪ ┘Ы ┘Ь ┘Э ┘Ю ┘Я ┘а ┘б ┘к ·м ·l їm ёn ёo ёp ёq ёr ёs ёt ёu ёv ёw ё╝ ·╜ ·╛ ·┐ ·╔ ё╩ ё╦ ё╠ ё═ ё╬ ё╨ ┘╤ ┘╥ ┘╙ ┘╘ ┘ ∙ ∙М ∙ п п п п п  п  п  п  п  п п п п п п п п п п п п п п п Є ц ц ц  ц" ц# Є% Є' Є( Є) Є* Є+ Є, Є- Є. Є/ Є0 Є1 Є2 Є3 Є4 Є5 Є6 Є7 Є8 Є9 Є: ц; ц= цL фU ЄY ЄZ ц[ ц\ ц] ц^ ц_ ц` цa цb цc цd цe цf цg цh цi цj цk цl цm цo цp цq Єs цw Їx Їy Їz Ї| ┬ж цн ╙о ╙п ╙░ ╙▒ ╙▓ ╙│ ╙┤ ╙╡ ╙╢ ╙╖ ╙╕ ╙╣ ╙║ ╙╗ ╙╝ ╙╜ ╙╛ ╙┐ ╙└ ╙┴ ╙┬ ╙├ ╙─ ╙╞ ┬╟ ┬╚ ┬╔ ┬╦ ┬╠ ┬═ ┬╬ ┬╧ ┬╨ ┬╤ ┬╥ ┬╙ ┬╘ ┬╒ ┬╓ ┬╫ ┬╪ ┬┘ ┬┌ ┬█ ┬▄ ┬▌ ┬▐ ┬▀ ┬р ┬с ┬х уц ╝ч ╝  ╥  ╥  ╥  ╥  ╥ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬ ┬  ┬! ┬" ┬# ┬$ ┬& ┬' ┬( ╥) ╥* ╝+ ╥, ╥- ╥. щ/ щ0 щ1 щ3 Є4 у5 у6 у7 у8 у; у< у= у> у? у@ уA уB уC уD уE уF уG уH ╝J ╥K ╥L уM щN уO уP уQ уR ▀S ▀T ▀U ▀V ▀W ▀X уY ▀Z ▀[ ▀\ ▀] ▀^ ▀_ ▀` ▀a Їb Їc Їd Їh уi уj ╝l пy цz ц{ ц| ц} ц~ ЄН цО цП ци цй цк цл цм цн цо ц░ ц▒ ц┤ ц╕ Ї╣ Ї║ Ї╗ Ї к к ╨ ╨% х- ┬r ▀ ╙М кi √% ·68Y| ыноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─╞ ы╟ ы╚ ы╔ ы╦ ы╠ ы═ ы╬ ы╧ ы╨ ы╤ ы╥ ы╙ ы╘ ы╒ ы╓ ы╫ ы╪ ы┘ ы┌ ы█ ы▄ ы▌ ы▐ ы▀ ыр ыс ыц Їч Ї ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы  ы! ы" ы# ы$ ы& ы' ы* Ї. ¤/ ¤0 ¤1 ¤H ЇM ¤j Ї ў ў- ыА ·Щ ЇР ∙Щ Є╧ ЄЩ Щ ъx єВ єМ єЫ хг є▓ єА ¤ъЦ▐ Ї ▄ ┐ ╨ ╕ ы є ║ ф ╧ ╩ Ї ■ ° ы я я ∙ Є щ · Є ь Є ┌ № э ╪ ▌ ш ╬ р ╝ ф ё · Ї щ Ї Є ў Ї ў Ї ё ь · ¤ е т ы ╫ Ї ъ ч є* ў ∙ ї Ў     ∙ ∙ Ї ° Є ў ю щ ¤ ▌ °   ў Ї ¤% ы ў Ї ■ Є ы ╨ ■ ╚ ║ ▌ ∙ ╚ ё т ╧ ╒ ╦ ╥ Є Є ф ° Є ы ъ ў ╓ ╧ ў х г ╨ ─ ь ° ╙ ў Є ф · Ї щ я ь ё ў ¤ ¤ ∙ ю є Ї ∙ √ ь ў Є ∙ "'9;"=>%LL'NS(UU.Ym/ooDqzE|БOГЩUжзlйкnммp──q╨сrД''Е33ЖlБЗНПЭЬбаиож░░н▓▓о┤╧п6 ""#&''99:;==>>LL NNOSUUYYZmooqqrrsstvwz ||} АБ ГТ УШ ЩЩ жжззййкк мм ──╨с ''33mw xxy}~БНПЬЬЭбио░░▓▓┤┤╡╖╕╗ ╝┐ └╚ ╔╬ ╧╧ P ""##%%'9:;==LLNNUUYYZmopqqsswz|| }УШЪбвежжккммн─╞╔ ╦с ххцчЁЁ   $ &' ()**+-.1334678;GHHJKLLMMNNOQRW XXY` adhijjllmwy}~~НПио░▒┤┤╕╗╝┐╔╬╨╘╒╪%%-- 66 88 => rr ММfЇ╛  х я ё ю № · ў Ї √ ў х ¤ ў Є ∙ у ў · ы ∙   ¤ Ї ы ╩ · ь щ ў Ї ¤ р6 ▐ √ ¤ Ї ■ ф   с Ї · ё ∙ ё ·? ╘ я с т ъ ї1 ў ╥ ╤ я ╒ ю э № Є ў ·н├┼╔╦╦══хчьэ!ЁЁ#$%'  (-$/&&B(1C46MHNPRWWY`]jje--frrgh!о├┼┼╞╔╦╦хх цчьэЁЁ      $&&()**+-.146HHII JJKKLLMMNNRWY`jj--rr/|| }Ъбккммн─┼┼ ╞╔ ╦с ххцчьь ■■   $ &' **.146HHII LLMMNNRWXX Y`ad hijj╝┐╨╘цц%%-- 667788=>rrММ■> ы ы Є є ╪ т ё т █ ╬ ─ ы х ц · ў ў ы ш ╫ Є Ї ╓ ├ ╚ ы ¤ ▐ ы ╢ ╩ ф ╠ ы ┴ ▌ ы ╞ ╝ · ў ╔ ╔ ф · ┐ ╛ є у н Ї ы Є ╢ ў  %578=>М  %%557788=>:  "":;==LL Zmopsswz||}УШЪбжжккммн─ ╞╔╦сххцч  $&'() **+- .1 4678;GHHJK LLMM NNOQRWXXY`hijjll mwy}НПио░▒┤┤╕╗╝┐╔╬╨╘--rr ",6 р Ї єМвгвxxВВММЫЫгг▓▓ ыM||╞╔╦с$&'--x ОBDEKd &║,2║║8║>D║ъЁЎRT °─l─ZY╗ "Р|Оаз▌№ &,28>DJnЖМТШPPPPV\\\·№· ░2|Раз8:S3UpMtТiФШИЪ├Н╞╦╖╬╬╜╨ф╛ц╙ &Ў+24QSW9Yd>lvJyЛUНЪhЬбvг▒|╡╚Л╩╬Я╨╪д╝┬╚╬╘┌рцьЄ°■ .FLRXv| a8■┘н&ДДДдДДД&ДДД─ДДД╩ДДД╨ДДД╓ДДД▄ДДД&ДДДшДДДтДДДшДДДюДДДЇДДД·ДДД&ДДД&ДДДДДД ДДД&ДДД&ДДД&ДДДДДД*0ДДД*ДДД*0ДДД*ДДДД*$ДДД*0ДДДД6ДДДД<ДДДД6ДДДД<ДДД~xДДД~BДДД~xДДД~ДДДД~NДДД~HДДДfNДДД~TДДД~ZДДД~`ДДД~xДДД~xДДДfxДДД~lДДД~rДДД~xДДД~ДДДД~ДДДД ДДД ДДДКДДД ДДДДРЬДДДРЬДДДЦЬДД└ъДДД└╪ДДД└вДДД└ъДДД└ъДДДиъДДД└оДДД└┤ДДД└ъДДД║xДДД└╞ДДДД╠ДДДД╥ДДДДДДДфъДДДф╪ДДДф▐ДДДфъДДДЁЎДДДДДД№ДДДДДДДДДДДДJDДVДJ&ДVДJДVДJДVД,ДVДJДVДJДVДJ ДVДJDДVД,DДVДJ2ДVДJ8ДVДJDДVДJ&ДVД,DДVДJ2ДVДJ8ДVДJ>ДVДJDДVДJDДVДJDДVДJPДVДД\ДДД"(ДДД"zДДД"(ДДД.4ДДД.bДДД.4ДДД.ДДДД.hДДДДnДДД:@ДДД:@ДДД:@ДДДЮШДкДЮАДкДЮtДкДЮzДкДЮШДкДЖШДкДЮМДкДЮТДкДЮШДкДЮАДкДЖШДкДЮМДкДЮТДкДЮдДкДЮШДкДЮШДкДЮДДкДЮШДкДЮдДкДД╝ДДДД░ДДДД╢ДДДД╝ДДДД┬ДДДь┌ДДДь╚ДДДь╬ДДДь┌ДДД╘┌ДДДьрДДДьцДДДьЄДДДДДДДД°ДДД■ДДДДДДД ДДДДДДДДДД"(ДДД:@ДДД.4ДДД:@ДДДЪФДДДЪ@ДДДЪФДДДЪFДДДВLДДДЪRДДДЪXДДДЪ^ДДДЪФДДДЪjДДДЪdДДДВjДДДЪpДДДЪvДДДЪ|ДДДЪФДДДВФДДДЪИДДДЪОДДДЪФДДДЪДДДДЪФДДДЪаДДД▓╕ДДД▓жДДД▓╕ДДД▓ДДДД▓мДДД▓╕ДДДД╛ДДД·ДДД─ДДД·ДДДДДДД╨ДДД╩ДДДш╨ДДД╓ДДД▄ДДДтДДД·ДДД·ДДДш·ДДДюДДДЇДДД·ДДДДДДД2ДДД ДДДДДДДДДДДДVДДДДVДДДДVДДДДвДДДДVДДДДVДДДДДДД$ДДДД$ДДД$ДДД$*HДДДД`ДДДД0ДДДД6ДДДД<ДДДД`ДДДД`ДДДBHДДДДNДДДДTДДДДZДДДД`ДДДДfДДДДlДДДДrДДДДrДДДДxДДД\ДДДД\ДДДДДКДДДД~ДДДДДДДДДКДДДДРДДДДЦДДДbhДДДbЬДДДbhДДДbhДДДbвДДДФЁДДФ╠ДДФиДДФ┤ДДФоДД╥┤ДДФ║ДДФ└ДДФ╞ДДФЁДД╥ЁДДФ╪ДДФ▐ДДФЁДъДФ╠ДъД╥ЁДъДФ╪ДъДФ▐ДъДФфДъДФЁДДФЁДДЎТДДЎ№ДДФДДntДДДnДДДntДДДzАДДДzДДДzАДДДzДДДДz ДДДЖМДДДЖМДДДЖ&ДДДШТДдДШ8ДдДШ,ДдДШТДдДШ2ДдДШТДдД>ТДдДШDДдДШJДдДШТДPДШ8ДPД>ТДPДШDДPДШJДPДШЮДPДШТДдДШТДдДДVДДД\ДДДДbhДДДntДДДЖДДДДzАДДДЖМДДДШДДдДШТДдДШЮДдДД╢ДДДДкДДДД░ДДДД╢ДДДД╝ДДДц╘ДДДц┬ДДДц╚ДДДц╘ДДД╬╘ДДДц┌ДДДцрДДДцьДДДД■ДДДДЄДДД°■ДДДД■ДДДДДДДДДДДД ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД"ДДД.4ДДД.(ДДД.4ДДД.ДДДД.4ДДДД:ДДДД@ДДДД:ДДДД@ДДД^XДДД^FДДД^XДДД^ДДДД^LДДД^XДДД^XДДД^RДДД^XДДД^ДДДДjpДДДjdДДДjpДДДДДvДДДДvДДДОДДДД|ДДДДВДДДДОДДДДОДДДДИДДДДОДДДДОДДДДОДДДФДДДДжмДДДжЪДДДДаДДДжмДДД▓╕ДДД╩─ДДД╩╛ДДД╩─ДДД╩─ДДД╩╨ДДДДшДДДД╓ДДДД▄ДДДДшДДДДтДДДДшДДДДшДДДДшДДДДюДДДДЇДДДДДД·ДДДДДДДДД ДДДДДДДДДД$ДДД$ДДД$ДДД$ДДД<BДДД<*ДДД<0ДДД<BДДД<6ДДД<BДДД<BДДД<ДДДД<BДДДДTДДДДHДДДДNДДДДTДДДДZДДДДlДДДД`ДДДДfДДДДlДДДДrДДДД~ДДДДxДДДД~ДДДД~ДДДT.q.94їь╩.~МЄг1■/ H~.б/2~L~3~ ў3╝7╝x╝U~√╩<~ЪЄ▒?■A H~<б<╝A@~2АI╜IH№Б~Б HV~БбvБЕ~└╜└Ъ~B╝Б╝=а╝i~T~Ї╩6~ФЄл9■O~7 H ~6б1З6╝79~6╝█╝7~~5DqC~]~F H~DбD╝FG~t╝╪~┐~╢╝У~4}} H╗Ё}а~%~2 °2╝@UP╝8*╝# °╝╝%O п╙O w3╜ ╝]0tW<  H╙╝ ▀¤  ╝'╝╝ °·@╝#╝╚ ╝h0W < @▐╝ ▀ · ў · ╝mз"АГ╝jпi╝А HА·>╝j▀l·j·Ъ·m╝v·v╝Н~╝t╝И╝ж╝(╝╝ п╩ ╝j0АW<$╝  Hр╝ ▀└Ж·· !╝r·╝x·ё╝ ╝Є╝.╝ п ╝&╝ Hс╝ ▀щ·· ·p┘·Ў √ё·шУ| ·№╝ї·╝e╝f·:╝ └ц└Q Hц■║└цтPъ└ї╝▐>▄·Ў┌A   ю °H E?E-щV■¤ ∙HгИoDoFИ"AїoA'бA7 J#" &   с  H ШA ■A °H№ ∙ЎЇA.  щ JХ||AQ°∙@═ цL  JЛОИЛХ$ ┴ б о ° ┼ ° Ь< ┴ Hб>╚ т( ~БГЕЗЙУЧЪЫЯ  &,28>DJPV\ ╢╝ Г╝ `╝ hо i╝■╛▀ ╝╝d╝б╝Y╝ ─п╝ К  п· &ц|ЙазазZ`flrx~ДКРЦЬвиоооо┤║║║ r· ─· т· j· 0· `· ^№ h° Щ· e· y·■╛· }· г·■@°■K·■I·$*06<■fM■M■@u■F2  ■з0■╛W■L< @DFLTlatn0    (6>FNV^(AZE FCAT fCRT ЖKAZ жTAT ╞TRK ц    !)7?GOW_    "*08@HPX`    #+19AIQYa    $,2:BJRZb    %-3;CKS[c   &.4<DLT\d   '/5=EMU]efaaltfaaltfaaltfaaltfaaltfaaltfaaltfaaltfc2scnc2scnc2scnc2scnc2scnc2scnc2scnc2scnccmptccmptccmptccmptccmptccmptccmptccmptdnom|dnom|dnom|dnom|dnom|dnom|dnom|dnom|fracВfracВfracВfracВfracВfracВfracВfracВligaМligaМligaМligaМligaМligaМligaМligaМloclТloclШloclЮloclдloclкlocl░numr╢numr╢numr╢numr╢numr╢numr╢numr╢numr╢ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝ordn╝pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬pnum┬smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚smcp╚sups╬sups╬sups╬sups╬sups╬sups╬sups╬sups╬tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘tnum╘     4zО╪XXX6XXlжДТж┤№:RjЎ м 6 V└▌mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐mnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСУФХЦЧШЩЪЬЭЮЯабвгдежзйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪єЇїЎў°∙·√№?  "+1244679;=?"AE%GG*IJ+LL-NY.[\:bb<dd=lz>}БMГДRЖЖTОСUУЭYЯЯdвеeммiопj╡╢l╝╝n╛╛o└╔p╦╘z┌█Д▌▌Ж▀рЗхчЙъъМьэНЄЄПЇЎР°°У·№ФЧШЬгдеж"$з&1к48╢;<╗>>╜FG╛OP└R\┬^^═ad╬¤╥%%▄▐:N:@HNT\fpzДОШвм╢║╛┬╞╩╬╥╓┌┘lёЎТ Ы┌и¤єщ■Їъ їы Ўь ўэ °ю ∙я ·Ё√ё№Є▀рстуфхцчшZZннЁЁ■■▀Є Ц6Д$КЛНТ|ЙN , е~дзЕжЗ б~агЕвЗБГ!Ё'рш╘ ы%▓ "4є№¤ $Zн@Z ЎщЄ ▀ш▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┐  "+1244679; =?#AE&GG+IJ,LL.N\/bb>dd?lz@}БOГДTЖЖVОСWУЭ[ЯЯfвеgммk▐llmnopqrstuvwxyz{|}~АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪"нп╡╢╝╝╛╛└╔╦╘┌█▌▌▀рхч ъъ#ьэ$ЁЁ&ЄЄ'ЇЎ(°°+·№,■■/015>?@"$A&1D48P;<U>>WFGXOPZR\\^^gadh^@JTgL  hхЁiхeЁfj■k■?-AхцЁ-Ё■!"┘┌┘┌єЇїЎў°∙·√№Zн¤■ Dosis-ExtraLight.ttf000066400000000000000000002650601473255640600355730ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/_staticGDEF!*!┐¤L└GPOSа6Р9■ iдGSUBWq╖g░~OS/2Воa_╘а`cmapд,▄╒Аcvt бшщdvfpgmЮ6╨┌Аgasp¤DglyfVь╫ъ┼рhead╬Т╩╦А6hheaY╟╘|$hmtxЙd:╦╕─loca*■[б╟dmaxpД^╞№ namerуЩнщ▄МpostфсS╣юh┌preppШU/шШ╦<_z'$@!%LЕv''--+w"&54677'&&546327632#"''N JJ  BB  JI  AB_ rs ff sr ddЁс/@,LgM N +s"&&5476632#"&''!7!+ ┘  ╫  3■╓2 IЙ╜¤Cдд╒└  Ё╣&┬ ▒╕░5+  Ё╔&Ш ▒╕░5+  Ё╣&Г ▒╕░5+  ЁЦ&░ ▒╕░5+  Ё╣&┬ ▒╕░5+  Ён&Е ▒╕░5+   >Ёс&"А▒░░5+  Ё&л ▒╕░5+  Ё╡&q ▒╕░5+OМ█*1@@=g _Ma  N/-,+'&"  ** +s"&54663!2##32##32##"&5#3#"a 4Y7h  эа  аэ    ўўWKU ЎKZ)  ■╔  ■╚  J■╗ А7SW  OМ╣&  ▒╕░5+S┌█",9@6Lg_M_ N,*%#" 6+s"&546332#'326554&##532654&&##e Ц:]6/&.4Y7ЯЯKUUKЯЛSO+K1Ж ╕ HF@W +D4KY'$PWWG$?W88L ·╙█-;@8А~aMa&N(&  --+E"&&546632#"&5.#"32>766325Z57Z6@U+  !=1OSTR2:  ,W)ZKEKZ).H' -)SW■╗XR(. &H.  L ·╙╣&╠ ▒╕░5+  L ·╙▐&Г ▒╕░5+  L 1╙█&!ч  L ·╙╣&Н ▒╕░5+  L ·╙Я&б ▒╕░5+S┌█-@*L_M_ N6+s"&546332#'32654&##e ▒7Y44Y7ЯЯKUUKЯ ╣ )ZK■┴KZ)$SW?WSф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█    S┌▐&З ▒╕░5+ф█-=@: Lg_M_ N-+&%$"3% +s"&5#"&5463346332#'32654&##32##o I I ▒7Y44Y7ЯЯKUUKЯГ Г ^  8 )ZK■┴KZ)$SW?WS■█  S┌█ /@,g_M_ N %$6+s"&5463!2#!32##!2#e d  ■оа  аR  ╖  ■╔  ■╚    S┌╣&╒ ▒╕░5+  S┌╔&л ▒╕░5+  S┌▐&М ▒╕░5+  S┌╣&Ц ▒╕░5+  S┌Ц&├ ▒╕░5+  S┌Я&к ▒╕░5+  S┌╣&╒ ▒╕░5+  S┌н&Ш ▒╕░5+  S =┌█&"kS┌█-@*g_M N +s"&5463!2#!32##e d  ■оа  а  ╕  ■╔  ■╡ L ·╙█1>@;АgaMa&N*(#" 11+E"&&546632#"&'.#"32655#"&5463327X44X7>W/  *D,KTTKKUЯ ▓ 4Y)ZKEKZ),K. -:SW■╗WSSWФ  еKZ)  L ·╙╔&#е ▒╕░5+  L ·╙╣&#Р ▒╕░5+  L s╙█&# л  L ·╙Я&#д ▒╕░5+S┌█,@)gM N +s"&54632!4632#"&5!e  ?   ■┴ ╕  ■├=  ¤H W■й █15D@A  g gM  N5432.-*(%# 11 +s"&5#"&5463354632!5463232###"&5!!5!e - -  ?  , ,  ■┴ ?■┴   И  ИИ  И  ¤є W■й НТ  S┌╣&(Х ▒╕░5+Sw█ @M N  +s"&54632e  ╕  ¤H   S ·k█&+6╩  "з╣&+" ▒╕░5+   °╥╔&+ ° ▒╕░5+   уч╣&+ у ▒╕░5+  ║Ц&+ ▒╕░5+  CЖЯ&+ ў ▒╕░5+  "з╣&+" ▒╕░5+   хфн&+ х ▒╕░5+   B|█&+"▒░░5+   ╤°╡&+ ╤ ▒╕░5+ ·б█!2@/А_Ma&N !!+W"&&546323265#"&546332▐=X/  +I,KTЯ  ▒ 4X,K. ,;SWя  ¤ KZ)   ·б╣&6v ▒╕░5+SЇ█%)@&"! LM N %%+s"&54632632#"&'e  C ч √` ╕  ■xУ ■с■|xxў   S sЇ█&8 ЯS╢█@M_ N&+s"&54632!2#e  0 ╕  ¤Z    S╢╣&:├ ▒╕░5+  S╢х&:%   S s╢█&: ЮS╢█WK░!PX@Ma"M_ N@iM_ NY@&+s"&54632!2#"&54632e  0e ╕  ¤Z  Б╝█(,@) LM_ N('"!+s"&5#"&5467746327632!2#k 9 J  s Д0 ! +s  ■бC L■р  S:█'2@/$ LАM N!''+s"&54632>32#"&5#"&'e  ┬├   ╜  ╝ ╕ ■В~ ¤H q■Ф l¤П S┌█'@$ LM N+s"&546324632#"&'e  2   ■╠ ╕ ¤вq  ¤H  _¤П   S┌╣&A╘ ▒╕░5+  S┌▐&AЛ ▒╕░5+  S s┌█&A ╕S ┌█*3@0L KM Ma$N**'%+%+E"&5463266554&'#"&546324632` '% ■╠   2  5э  (F,0 _¤П ╕ ¤вq  ¤7V0  S┌╡&AГ ▒╕░5+L ·╙█-@*aMa&N +E"&&546632'2654&#"7X44X77Y44Y7KUUKKTT)ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS  L ·╙╣&G═ ▒╕░5+  L ·╙╔&Gг ▒╕░5+  L ·╙╣&GО ▒╕░5+  L ·╙Ц&G╗ ▒╕░5+  L ·╙╣&G═ ▒╕░5+  L ·╙╣&GХ ▒╕░5+  L ·╙н&GР ▒╕░5+  ; ьу&G┤%  ; ьу╣&O═ ▒╕░5+  L ·╙╡&G| ▒╕░5+L ·5█0>З@ .LK░'PX@#g aM a &N@+g aM_ M a &NY@21971>2>*(#"! 00 +E"&&5466325463!2#!32##!2#!"&55'2654&#"7X44X72U b  ■оа  аR  ■Ю U2KUUKKTT)ZKEKZ)"&6  ■╔  ■╚  0&"$SWEWSSW■╗WSS┌█3@0Lg_M N +s"&546732##326554&##e ▒7Y44Y7Я ЯKUUKЯ ╕ )ZK K[)■р VTW WSS░█0F@C LiiM N )'0 0 +s"&546326632#"&&'7266554&&#"e  G7,N12L(>. Ы!>''="&C(&A ╣ м- A0└0A"#┬ й2&└&01!└3"L У╙█/6@3"LeaM&N*( +E"&55.546632'546326654&#" 3Q.4X77Y4.P3   BKUKKTKm V*YGEKZ))ZK■╗GY*V ЛT  SRREWSSW■╗RSS┌█ ):@7 Lg_M N)'#!   +a"&'##"&54673232654&##╚ аФ  з7^9-L/е■кХK__KХ 8■╢ ╕ #SI@P(■┐АISSH  S┌╣&V╨ ▒╕░5+  S┌▐&VЗ ▒╕░5+  S s┌█&V У* ·▒█:E@B#LА~aMa&N,*(& ::+W"&&546632326654.54>32#"&&#"ы@V+"=37J&%&G╞ ▒╕░5+  L ·╙╣&Ь═ ▒╕░5+  L |╙>&Ь┐  L ·╙╣&Ь═ ▒╕░5+  L ·╙┴&Ьf ▒╕░5+  L ·╙╡&Ь| ▒╕░5+  O |╓█&d┬  O ·╓┴&di ▒╕░5+  O ·H>&d_ ▒╕░5+  O ·H╣&д╨ ▒╕░5+  O |H>&д┬  O ·H╣&д╨ ▒╕░5+  O ·H┴&дi ▒╕░5+  O ·H╡&д ▒╕░5+   |ц█&vо  ц┴&vU ▒╕░5+  ц╡&vk ▒╕░5+# ·g▐&3ЬK░'PX@ $L@ $LYK░'PX@(Аia(M a&N@,Аia(M M a&NY@('.,'3(3! && +W"&54663354&&#"#"&546632#"&55'26655#"о:Q;iE8:0* %9>H  K3&E,73[9<AC59&H/   7W2■Ї 4/#%4T ),2/  # ·g╢&нС  # ·g╞&нg  # ·g╢&нR  # ·gУ&н  # ·g╢&нС  # ·gк&нT  # @i▐&н"√▒░░5+  # ·g&нz  # ·g▓&н@# ·з▀>KXi@f<LАА  i a(M a &N@?USNLFD?K@K:810.,)'  >>+W"&&54663354&&#"#"&5466326632##326632#"&''26655#"732654&&#"л$>&:hE8;2* %9>IT4>6" $#ы_F)- 0E!7__+*D(75Z6;ш▀(#@+(@%;,69&H/   9,+9.J6 /DO62:.#&4T *-/0х&D,'@&  # ·з╢&╖%E ·в/МK░'PX@ L@ LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&'#"&546326632'266554&&#"Ё.I   C21R11Q.&@''@'"?($?-4 ▌ ■г/1Q2z/T3#*D%z%B*#@.Я4)4 ·t▐'A@> LА~a(Ma&N  ''+W"&&5546632#"&&#"326632ы>Q('R>(; *(HLLI*- !=0R4x3S0 ODxDO   4 ·t╢&║Ж  4 ·t█&║=  4 1t▐&║!и  4 ·t╢&║G  4 ·tЬ&║[2 ·П/МK░'PX@  L@  LYK░'PX@!Ma(Ma&N@!!Ma(M Ma&NY@(&// +W"&&55466324632#"&55'266554&&#"ф/R11R12D   J0(>$(?"'@''@3T/z2Q1/] ¤# 4-#)4Я.@#*B%z%D*2 ·Х7IN@K0'L*Ka!Ma(Ma&N98B@8I9I%# 77+W".5546632&&'#"&5477&&#"&5466327632'266554&&#"у$?20Q0;/-b \ H! #T&P J&11Q0(@''A'(@&&A4A$z0R2&Sz)8  5"  *+.  +2Т_╜/T3#*D%$@(*B%z%D*  2 ·&└%╬2 ·┌/AиK░'PX@-  &L@-  &LYK░'PX@'i!M a(M a &N@+i!M a(M M a &NY@10:80A1A*(%# // +W"&&55466325#"&546335463232###"&55'266554&&#"ф/R11R12DК К  9 9  J0(>$(?"'@''@3T/z2Q1/╡  Е Е  ¤╦ 4-#)4Я.@#*B%z%D*3 ·Ц▐!.>@;Аga(Ma&N+)$" !!+W"&&5546632##32663232654&&#"¤;[41Q0/Q1%э`I*, !>╥с%#@+(A&.Q7}0Q0/Q4$ /DO $D,(@&  3 ·Ц╢&─Ь  3 ·Ц╞&─r  3 ·Ц█&─S  3 ·Ц╢&─]  3 ·ЦУ&─К  3 ·ЦЬ&─q  3 ·Ц╢&─Ь  3 ·Цк&─_  3 WЦ▐&─" ▒░░5+' ·К▐!.C@@Аga(Ma&N#")'".#. !! +W"&&54663354&#"#"&&546632'26655#"╪/Q1&э_J*,  !>+;[41P1)@&с%#@/Q4%/DO .Q7}0P1#(A%+$D,E 5@2La!M_"M N   +s"&5466332##"32##U 1Q0   (A%Щ Щ =0Q1  )A%v  ■\   │ы;IWТ@$ .DLK░'PX@* ia(Ma(M a$N@(i ia(M a$NY@KJ=<RPJWKW  | |  ╛/1Q2■ш %B*#@.■ш    ╘в╘&╒ ╘ ▒╕░5+5t│ 2@/ Li"M N  +s"&54632"&54632U     ╡ ■K t  Dg╪ !@ L"M N  +s"&54632U  ╡ ■K   Ш╢&┘   щ├╞&┘щ   ╘╪╢&┘╘  лУ&┘  Ш╢&┘  5  │&╪ул   ╓╒к&┘╓     CwЬ&┘&ш" ▒░░5+   ┬щ▓&┘┬ ▄ u│!6@3 Li"Ma$N!!&%+G"&546326654632"&54632 '%  5:  э  (F,ў ■ 7V0a   ▄ h╪%@" L"Ma$N&%+G"&546326654632 '%  5э  (F,ў ■ 7V0   ╒ ┘╢&ф╒Eи$2@/"!  L!M"M N $$+s"&54632%632#"'V  б╣╕i ▌ ¤·ыМ■я   \и   E sи&ц |Dз╪$+@("!  L"M N $$+s"&54632%632#"'U  б╣╕i ╡ ▐ыМ■я   \и Mp !@ L!M N  +s"&54632^  ▌ ¤#   бЗ&щ╤▒░╤░5+  M№&щ%╡   sб&щ M 5@2 Li!M N  +s"&54632"&54632^  И ▌ ¤# #'@$! L!M N##+s"&5#"&5467746327632О O `  ^ o )- 7М ■И7 @■┬ D┐▐;d@ 9 LK░'PX@a"M N@"Ma(M NY@53-+%# ;; +s"&5463266326632#"&54&&#"#"&54&&#"U  C24OS+*K/  '<"=(  #:$!?( ╡ 5/8,31*P:■ш 0@!#>*■с  (?%#@.■ш Dб▐%V@ # LK░'PX@a"M N@"Ma(M NY@ %%+s"&546326632#"&54&&#"U  C21R1  '@'"?( ╡ 5/1Q2■ш %B*#@.■ш   Dб╢&Ёо  Dб█&Ёe  D sб▐&Ё ТD б▐-e@ "LK░'PX@a"M Ma$N@ "Ma(M Ma$NY@--%%&'%+E"&546326654&&#"#"&546326632' '% '@'"?(   C21R15э  (F,Z%B*#@.■ш ╡ 5/1Q2■ж7V0  Dб▓&Ё]2 ·Х▐#-@*a(Ma&N## +W"&&5546632'266554&&#"у/Q10Q00Q11Q0(@'&A((@&&A3S0z0R21Q2z/T3#*D%z%B**B%z%D*  2 ·Х╢&Ўб  2 ·Х╞&Ўw  2 ·Х╢&Ўb  2 ·ХУ&ЎП  2 ·Х╢&Ўб  2 ·Х╢&Ўi  2 ·Хк&Ўd  2 рХ¤&Ў╢  2 рХ╢&■б  2 ·Х▓&ЎP2 ·╒▐-?LY@V  +LА  g a(M a &N/.IGB@86.?/?)'  -- +W"&&55466326632##326632#"&''266554&&#"732654&&#"у/Q10Q03WW5/Q1%э`L)) $>)AaV3(@'&A((@&&A┘с%#@+(A&3S0z0R29.-:/P3%!/DO  80-;#*D%z%B**B%z%D*х$D,'>%E в▐/t@ LK░'PX@a"Ma&M$N@!"Ma(Ma&M$NY@(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э в 5/1Q2z/T3-■▀  *D%z%B*#@.Я4)E в/J@G L!Ma(Ma&M$N(&// +W"&546326632#"&'266554&&#"V  C21R11Q0.I Ф&@''@'"?($?э ╩ ■г/1Q2z/T3-■▀  *D%z%B*#@.Я4)2 П▐/МK░'PX@L@LYK░'PX@a(Ma&M$N@!"Ma(Ma&M$NY@(&//+E"&5#"&&554663254632266554&&#"~ J./R11R12D  д(>$(?"'@''@э !-3T/z2Q1/5 ¤^  )4Я.@#*B%z%D*D(▐R@  LK░'PX@a"M N@"Ma(M NY@+s"&54632>332##"U  &6#% %#@( ╡ 5"  #@.■ш   D(╢&W  (█&   ∙ s(▐& ▌& ·O▐3E@BLА~a(Ma&N'%#! 33+W"&&54663232654.546632#"&&#"╕-A$ 2/?6$:@:$A48$**2$:@:$P 1"'+/)<(    +!$5.7A  & ·O╢& x  & ·O█& /  & 1O▐& !В  & ·O╢& 9  & sO▐&  a ьфKЭ@ C'LK░#PX@5Аi a !M_"M Ma &N@2Аi e a !M_"M NY@<:64/.+)#! KK +E".546632326554&&'&&5467>54&#"#"&5#"&54633546632? $& $&ANIA &=>,4  Q QD6-H) !@+0L ^[#O; .2IS)A%¤├ д  v0Q1&O>$I8 8U3K_.B¤┐5@2LЕ_"Ma N +s"&5463232##332#╘GK  З З2= BI# ╓  ■╓9/  B¤┐'A@>LЕg_"Ma N! '&+s"&5463232##32##332#╘GK  З ЗЗ З2= BI# ╓  s  Ф9/    B¤х&%░  B s¤┐& )@ ·г╪+@(L"Ma&N +W"&&54632326654632Є1Q0  &A((@&  0Q2S/ ■ш%B*)C% ■ч0R2  @ ·г╢&п  @ ·г╞&Е  @ ·г╢&p  @ ·гУ&Э  @ ·г╢&п  @ ·г╢&w  @ ·гк&r  @ =г╪&"┐  @ ·г&Ш  @ ·г▓&^ ·u╪#@ L"M&N +W"&'&&5466326632─Ь ОН Ь ▓ ■wГ  ■N ·{╪,2@/)LА"M&N&$ ,,+W"&'&&5466326632632#"&'─Ь Нs  oР Эus о ■yj■СМ  ■Mw■П    ·{╢&    ·{╢& ┼   ·{У& Є   ·{╢&  ·c▐-)@&*L(M&N'%--+W"&&5477'&&54663276632#"&''-ЛЛГДММДГ┘╒╚╚╒┘╦╦ x▐%(@% L(Ma$N%%&*%+W"&54632>7&5466326632$ +# а  СР а "+7э  'AK$║■pР■F%WM1   x╢&&Г   x╢&&D   xУ&&q   x╢&&Гg╪%@"_"M_ N%+s"&5467#"&5463!2!2#,  є  ■Ї  Щ  ■g    g╢&+~  g█&+5  gЬ&+S" ·в▐-:O@L+LАia(M a &N/.53.:/:)'"! -- +W"&&54663354&&#"#"&&54663232#"&''26655#"л%>&:iF8:0* %9>H 'L6(F,75[7;:,6:&H/    7W2─"  *"-#%4T *-/0B ·Я*>@; L!Ma(Ma&N$"** +W"&&546326632'2>554&&#"ъ(N2  C21R1+E/+8 '@'"?(PC8^ ■г/1Q2z@7"#.3z%B*#@.ПA=3 Р▐+>@;La(Ma&M$N#!+++E"&5#"&&554>32266554&&#" D21R1)D2)O4 ж$@('?&+7 '?э "/1R1z@7" RK■  %4Н=G.3z$C*2 П▐+=кK░'PX@! L@! LYK░'PX@*Аa(M a&Ma$N@.А"Ma(M a&Ma$NY@-,64,=-=%# ++ +W"&&5463232>55#"&&554663254632266554&&#"▐'E,  6-/9 J./R11R12D  "M>(>$(?"'@''@э 2@"_-3T/z2Q1/5 ■6^9 )4Я.@#*B%z%D*@╗▐55@23 La(M N/-'% 55+s"&5466326632#"&54&&#"#"&54&&#"Q .I),UT,*K/  '< ">&  '>#;' :P*3553*P:■ш 0@!%A+■ч  +A% @1■ч @г▐+@( La(M N +s"&546632#"&54&&#"Q 0Q01Q0  &A('A& 0R22R0■ш %B*)B&■ч ?#▐'@$La(M N +s"&554>332##"P ,;#2 2'9  (J:"  2O*  @ ·Э╪%jK░'PX@ #L@ #LYK░'PX@"Ma&N@"M Ma&NY@  %%+W"&&54632326654632#"&55Ї1R1  '@'"?(   D1R1 ■ш$C*#A- ■K 5/  # ·g&н&  # |g╞&н'Гg  # ·g&н'∙  # ·g&н(  # ·g°&н)▄  # ·gЇ&н*   # |g╢&н'ГR  # ·gЄ&н+   # ·|ю&н,   # ·g╫&н-▄  # |g▐&нГ  # ·g╛&н*  3 ·ЦЇ&─*  3 |Ц╢&─'О]  3 ·ЦЄ&─+  3 ·Цю&─,  3 ·Ц╫&─-ч  3 |Ц▐&─О  3 ·Ц╛&─5  3 ·Ц▓&─K  2 |y│&╪  Ь╛&┘м  2 ·ХЇ&Ў*  2 |Х╢&Ў'Уb  2 ·ХЄ&Ў+  2 ·Хю&Ў,  2 ·Х╫&Ў-ь  2 |Х▐&ЎУ  2 ·Х╛&Ў:  2 ·Ц;&Ўн  2 ·Ц╢&Tб  2 |Ц;&TУ  2 ·Ц╢&Tб  2 ·Ц╛&T:  2 ·Ц▓&TP  @ |г╪&б  @ ·г╛&H  @ ·;&,  @ ·╢&\п  @ |;&\б  @ ·╢&\п  @ ·╛&\H  @ ·▓&\^   x▐&&╕   x╛&&   x▓&&2EЪ%3S@P *1#LАa!Ma"M  N'&.,&3'3"  %% +s"&546632#"&&#"32##!"&54632U +T?#B,1*/>#Л Л +  =*R6 .0v  ■\ ╡ ■K EЪ'>@; % La!M_"M N$" ''+s"&546632#"&5&&#"32##U 8Y060  <(H.Л Л =7P+¤X г%C.v  ■\ 'п№█'4M@J%LАi ea7N)(/-(4)4"  '' +S""'&&5463354&#"#"&546632#"&55'26655#"В &Q@ ")&)0  +'3!п&%2" 8  "7в *,о█*@'ea7N  +S"&&5546632'26554&#"а5 5 5 5!/.""..о!5F4 4 F5!!4F22F4DП╪$@!_MN+s"&5463!2#"&5!V '  ■¤  ╡ ■K  г■] A ·╚█+>@;iaMa&N! '% +!+  +E"&&546632'2654&#""&546327X44X77Y44Y7KUUKKTTL  )ZKEKZ))ZK■╗KZ)$SWEWSSW■╗WS,  Ж█*@'LАM N +s"&5#"&546776632t +  B  mP А  ¤H &н█/4@1LАaM_ N/.%$.+s"&554>54&&#"#"&546632!2#8 2NYN2"D4;N -O3:T.2NYN2R  a*F?=CM0%E.CA ,G*4U25VF=;?%O  ! ·и█CN@K<LААiaMa&N64-+%# CC +W".54632326554&#"&546326654&#"#"&&54>32ц1J2   ">1MUUI /??J.: 'I:3L+2",:4X.7 ,)SWKK  ?4HK(*  43""L@IQPDKZ) Т█*3@0iM"M N'%!**+a"&55!"&5467663235463232##3 ■√  °ш  ; ; а ¤■ъ  ъ  а   ·з█2D@ALАg_Ma&N+)(&! 22+W"&&54632326554&##"&5465663!2##32у=X.  +H,KUUJЗ   ∙|7X44Y-J. );SWSQ +  ■ь'XIKZ)A ·╚█'5I@FLАiaMa&N)(0.(5)5  '' +E"&&546632#"&54&&#"6632'26554&#"7Y44X7.I2  +I,KTT27X44X7KTTKIWU)ZKEKZ)/;! (:!SWо&$$UKKZ)$SWWIDS&WS!и█4@1 LА_M N%#+s"&&5475!#"&55463!2Y <■┴  c ■┬l1Г Х H¤С 1 ·╕█+7E@BLiaMa&N-,31,7-7&$++ +W"&&55467&&546632'26554&#"2654&#"ї7Y4:.&//P22P//&/84X6JTUJJVVJBKKBBKK)[J MZMACLLCAMZM J[)$TV VQQV WSВBKJ@@JKB0 ·╖█'5I@FLАiaMa&N)(0.(5)5  '' +W".5463232655#"&&554663226554&#"Ї.I2  +I,KTT27X44X77Y44X8IWUKKTT/;! (:!SWо%%$UKKZ))ZK■╗KZ)VER&WSSWWIt█!0@-LАM_ N! $%+s"&54633#"&54677663232## О+  E  Н   [P  Е  ¤Z    3 ¤n  gnА  % nБ  " ¤nВ  ¤nГ  ! ¤nД  2 ¤nЕ    nЖ  ) ¤nЗ  * ¤nИ3 ¤n-@*a/Ma2N +W"&554632'26554&#"ж1BB1!44!&,,&&++1:Ы:1/'Ы'/%'Ы'%%'Ы'%gn.@+LА/M0N +s"&5#"&54677632W -  (   ;■м% n,4@1LАa/M_0N,+%$, +s"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡0(%%** %, 1'""  " ¤n<R@O%5LААia/Ma2N0.)'"  << +W"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4&  $' #  %    &(0"+ '! &/¤n(=@:&Li/Ma0N%# (( +s"&55#"&5477663235463232##┐ РН  Гr   Iўу``  I! ¤n/>@;Аg_/Ma2N(&%# // +W"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!433 #( %$  Е  x-% &/2 ¤n$2M@J LАia/Ma2N&%-+%2&2 $$ +W"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+90Г'/'%'M,& :1%& (!%&%  nY@  LK░PX@r_/M0N@А_/M0NY@ %# +W"&5475##"&5546332L кг  ╞ й :L+■▀) ¤n'3E@BLia/Ma2N)(/-(3)3" ''  +W"&55467&&54632'26554&#"72654&#"Ь0C!<,-;!B0&+,&%,,%"%%"!&&07', ' 2&&2 ' ,'70&&&$$&&&╝ !! * ¤n$2I@FLАia/Ma2N&%-+%2&2 $$ +W"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++' %'L,& :1/'Ы'/│%'%%' '!3j█-@*a7Ma:N +S"&554632'26554&#"ж1BB1!44!&,,&&++j1:Ы:1/'Ы'/%'Ы'%%'Ы'%mg█.@+LА7M8N +S"&5#"&54677632W -  m(   ;■м%m █,4@1LАa7M_8N,+%$, +S"&554>54&#"#"&54663232#5 &99&&('  0!1&89&╡m0(%%** %, 1'""  "j█<R@O%5LААia7Ma:N0.)'"  << +S"&&54632326554&#"&54632654&#"#"&546632Х'3 # (+,&#$!$  /,-8 4j&  $' #  %    &(0"+ '! &/m¤█(=@:&Li7Ma8N%# (( +S"&55#"&5477663235463232##┐ РН  Гr   mIўу``  I!j█/>@;Аg_7Ma:N(&%# // +S"&54632326554&##"&544776332##32Х7= &&),+&M   ЫИ ?!43j3 #( %$  Е  x-% &/2j█$2M@J LАia7Ma:N&%-+%2&2 $$ +S"&&5546632#"&54&#"6632'26554&#"е'35 %3 0"&+-2B1&,,&%,+j90Г'/'%'M,& :1%& (!%&%l█Y@  LK░PX@r_7M8N@А_7M8NY@ %# +S"&5475##"&5546332L кг  ╞ йl :L+■▀*j█'3E@BLia7Ma:N)(/-(3)3" ''  +S"&55467&&54632'26554&#"72654&#"Э0C!<,-;!B0&+,&%,,%"%%"!&&j07', ' 2&&2 ' ,'70&&&$$&&&╝ !! *j█$2I@FLАia7Ma:N&%-+%2&2 $$ +S"&&5463232655#"&&554632'26554&#"Ь%3  0"&,-2B1!44 %-,&&++j' %'L,& :1/'Ы'/│%'%%' '!  3j█Й  mg█К  %m █Л  "j█М  m¤█Н  !j█О  2j█П  l█Р  *j█С  *j█Т q ь1K░#PX@ !M&N@ Ж!NY@ +G"&547632 З  ■| Ї ¤   ь)&К'ЭЮБ    ь(&К'ЭЮВ   % ь╡&Л'Э+Вн   ь&К'ЭЮГ   " ь▒&М'Э2Г┤   ь/&К'ЭЮЗ   " ь├&М'Э2З┤  ! ь╗&О'Э*Зм   ьА&Р'ЭяЗq- ·tB @a&N  +W"&54632Q- │tB&@#LYaQ +W"&5477&&54632E     M3  #= ·Дж +@(ia&N     +S"&54632"&54632a^■Ь= │Еж"7@4LiYaQ"" +W"&5477&&54632"&54632U     M3  #л- ·╒B #0@-a&N ##    +E"&54632!"&546323"&54632▓■Сг= ·ДьY╡LK░PX@АMa&N@ЕЕa&NY@ +w"&54&&54632"&54632`   У Z╗╗ZZ╗╗Z Щ= ·ДьZ╡LK░PX@АaM&N@Аi&NY@ +W"&546654632"&54632`    Z╗╗ZZ╗╗Zк ·Yь*6oK░PX@&А~aMa&N@$А~ia&NY@,+20+6,6**+w"&54667>54&#"#"&546632"&54632а  ,+KK* (?$>P' //  У 7>5463232>32"&54632█>P' //    -+KK ) '@ 1S23I7++<)  32#"32ё'@./?' ,> ,@  *=&└#?2  *A#■@48   ь╙CK░#PX@a!Ma&N@ea!NY@ %%+W"&546326654&&#"&54632%  ?, >, '?/.@  84└#A*  2?#■@&=*" ь Cf@ 0LK░#PX@ia!Ma&N@iea!NY@=<%# CC+W"&&54>54.54>54.54>32#"32°1O/ 0@$ )?#   -/ %D, .:9)   2>7 :-  %;! 5=1 ;IA!+   ь√Ci@:LK░#PX@ia!Ma&N@iea!NY@CC8732'% &+W"&546632>54.5467&&54>54&&#"&54632% /-   #?) $@0 /O  +!AI; 1=5 !;%  -: 7>2   )9:. ,D%J ы J╡LK░PX@_!M_ N@c_!NY@ %&+W"&546332##32#\ Ь КК  є  ¤1   ы╙J╡LK░PX@_!M_ N@c_!NY@ %%+W"&54633#"&546332#% КК Ь   ╧  ¤  2▀Y @W_O %+w"&5463!2#C  ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀Х @W_O %+w"&5463!2#C @ ▀   2▀н @W_O %+w"&5463!2#C X ▀    № ▌_ &▒dD@W_O %+▒DW"&5463!2#  @ #   - │tB&@#LYaQ +W"&5477&&54632E   M3  - │·B-4@1&LYaQ$"-- +W"&5477&&54632#"&5477&&54632╦   К   M3  3  'VЇх-P@ (LK░1PX@aN@YaQY@#!-- +S"&54>76632#"&54>76632╨   Ц   V 3  3 )VЎх-P@ &LK░1PX@aN@YaQY@$"-- +S"&5477&&54632#"&5477&&54632╟   К   V3  3  'Vnх>╢LK░1PX@ aN@YaQY@  +S"&54>76632J   V 3 )Vpх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632A   V3  (J@с3.@+0-LЖ(N&%33 +e"''&&54677632#"''&&54677632. `` ``Ч `` ``J ▒ ▓ ▓▒ ▒ ▓ ▓▒)JAс3-@*$! LЖ(N33)'-+w"&&5477'&546632#"&&5477'&546632═ `` ``Ь `` ``J▒▓ ▓ ▒ ▒▓ ▓ ▒ (Jос!@LЖ(N +w"''&&54677632Ь `` ``J ▒ ▓ ▓▒)Jпс @ LЖ(N-+w"&&5477'&546632; `` ``J▒▓ ▓ ▒ +E╘ .@+ La!N  +S"&5'4632#"&5'4632╗  А  E Ш Ш Ш Ш +E\ !@ La!N  +S"&5'4632C  E Ш Ш % ·█R`@]А   А g   gaM a&NMKFD?=8764/.+)#! RR+E"&&55#"&546335#"&54633546632#"&54.#"32##32##326654632?7X4F FF F4X7>W/  ,:!KT╠ ╠╠ ╠*;%,I+  /W)ZK@  l  SKZ),K. "1 SWS  l  @+A):- .K,)(i╢/7g@d  10-LЕА~ЖiYaQ,+%$"! // +w"&55&&554667546322#"&&#26632#'╔ GG?1  &A' /,-.  *A# 655( x cE-K3z w ■╞ u н2 K9:JD"иМ;KU@R90*! LYi Yi aQ=<EC:;LK░)PX@1А~ Ж!M aMa N@/А~ Ж i!Ma NY@HG10.,%$! == +E"&55"&&5466323.54>754632#"&&'76654&&'' @V,#@5!>3 4>  3(3':.ZG >?#8"$#@)'@4 ''1  "O &>0/=$   ■ц -F4Z[) _ L@5@( 44./8 │ w^*,@)gea!N*)%475+G"&546332667>332##"32###= #L332##"32##!2#+ ?.V [;X1 (G.ги/  K  ╝0Q1  )A%╝  ■╡  ┼█@K@H!>Lg  gM  N=;6542-,&$ @@ +s"&55#"&546335#"&54633&&546632663232##32##ь | || s┤  о╕ ╛z ГГ Г ┤  N  j■жZ■Ц  N  ┤ $?Зв;@8 LYgaQ +w"&55#"&546335463232##╓ П П  О О ? П  О О  П ? в. @W_O %+S"&5463!2#P @    BСGЦ%/@,#LYaQ! %%+w"&&5477'&546327632#"''See de eefeСee ee eeee5%Ш╝ %@@=igYaQ!%% % +w"&5463!2#"&54632"&54632F @ г▀   ║AIЯfН /@,gW_O %+S"&546332#"&546332#Z · · · j   ╦   ; ыФJ5=@:Е  ЖhW_O55%%#%% +W"&54677#"&546337#"&546337663232##32##i DS cJн ╜P GT cKо ╛JЫ  и  ╡ Я  и  и 4Jmс@ I(N++w"&547%%&54632G ■■ ■эJ  лм  ╢  ╢JWс@Jv+e"'%&&5467%632D■э ■■ J╢  ╢  мл  ?Dx ),@)LЕW_O)(#!/+w"&&5467%%&&546632"&5463!2#R ■■ ■э  иСТ Ь  Ьd   :Ds )/@,JЕW_O)(#!+e"'%&&5467%632"&5463!2#`■э■■■ч  иЬ  Ь ТСd   =Dа -L@I LgiW_ O  - ,'%  +w"&55#"&546335463232##"&5463!2#я П П  О О й @ и П  О О  П d   IМpЬ!Cb@_А  Аi  i  i  Y a  Q#"<:8642+)'%"C#C !!+A"&&#"#"&&54>32326632"&&#"#"&&54>32326632%( &'  %( &' U   ╔   5▀\&!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒De"&&#"#"&&54>32326632%( &' ▀   =?Ц,@)LЖW_O +e"&55!"&5463!2Е ■█ 6 ? П  а X╢)▒dD@LЕv +▒DS"&54677632#"&'' h h hhX 87  78AO Й'3M@J1 Li  Y  aQ)(/-(3)3#!''  +w"&&5466326632#"&''267&&#"!2654&#"р)I--I)7l"#l7)I--I*7k#"l6/ee/2JJ╗2JJ2/ddO#F45E#@77@#E54F#?77?$<=>;;>>;;>>;;>=<  8<ь(@%iYaQ%%+W"&5463266546632#"  6%'F- &5)8╚  *(Э'C)  !4¤c2!<┌█16@30"LiW_O11'%(%+s"&546335&&54663232##56654&#"M k2>4X77X4>2k О69TKKT96  (]RKZ))ZK■ R](  g QHWSSW■ HQ g╚с+@(LЕW_O(+s"&5476632#%!* ┼  ├ ■МZм╜¤C$qS┌█)@&ЖW_O+s"&5463!2#"&5!e c  ■┴  ╕ ¤H  ж¤Z  д█%.@+LgW_O%$($=+W"&5467&&5463!2#!!2#/ хх c ■║╬╬F у ┬┬  ■l■m   ▌@8@5LЖgY_O +W"&'#"&54633266332##щ О& 2 В█ Z Mч #н  ■x╠  ¤M к╪&6@3#$L"Ma&M$N!&&+W"&54632326654632#"&'^  )3$>%  -N12K э в ■╨*&*C$ ■ш1R1/■▐ 7 ·Ъх(:M@JLАiiYaQ*)31):*: (( +W".55466324&&#"#"&&546632'266554&&#"ш$?20P0LбK░#PX@4   i  i!MaMa  M &N@4 Ж   i  i!MaMa  NY@+@?0/"!GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%. ьт .>L\j╜K░#PX@: i    i!MaM a  M&N@:Ж i    i!MaM a  NY@;^]NM@?0/"!ec]j^jUSM\N\GE?L@L75/>0>)'!.".  +W"&547632"&554632'26554&#""&554632'26554&#""&554632'26554&#"│ З  ■| 1BB1!44!&,,&&++╔1BB1!44!&,,&&++Q1BB1!44!&,,&&++Ї ¤~1:Ы:1/'Ы'/%'Ы'%%'Ы'%■t1:Ы:1/'Ы'/%'Ы'%%'Ы'%1:Ы:1/'Ы'/%'Ы'%%'Ы'%Х ╡n,-@*LЕЕv+E"&5#"&&5477632#"''Б ╜ ╓  ╓╜ K +╛╫ ╫╛¤╒ F╜▌ -@*ЕЖW_O   +e"&&5477!"&5463!'&546632╨╛¤╒ +╛╫ ╫ ╜  ╜╓  ╓Х ╡n,*@'  LЕЕv%%(+E"''&54663246327632Б ╓ ╜  ╜╓ K ╫╛+ ¤╒╛╫ F╜▌-@*ЕЖW_O +e"''&5477632!2#!3╫ ╫╛+ ¤╒╛╓  ╓╜  ╜   д█ @LЕv +W"&'&&54676632'р ХФ ФХ  ггг#   "■▐   ■▌1>>■┬= жУ(Ub{@x5 LА   А  ii  i  i i Y a QWV][VbWbNMKIA?971/)'%#  UU+E".546632#"&'#"&&54663354&#"#"&&54663232>54&#"326632'26655#"F3_K,=Еl`ДD.+#43,#:!.W=138!"%7,;)ГЖKe>7ZA.9"  /;'50-H+4Z$KvQ[ЧZHНi0Y8&.(-//,    7(д07ГЧ0Ti95cN.  п&C $'!) Ў@ь=IЗ@BA;0#LK░PX@'А~aMa&N@%А~ia&NY@?>>I?I86)(== +E"&&54667&&546632#".#"6674632#"&'''267'Fb3*A"7.L-4A ,$=D)▀ a Z`C@Pч:*,T :_86M5%X=5J&#*  K=%=6ў5r& K],j a.=#7*∙ )@2.R2&н█.@+А_M N +a"&5#"&&55466332#"&5#, 07Y44Y7▒  K  )[K KZ) ¤H  ж¤[ 4 ╛У█?M?@32#"&54&&#"54.'ц5Q,   5*DK 5?@5 192D"  0.<( 5@?5 0?e'>HA'>HBB,K. -*IF(0$<1Д8H((G/ 8*@:(0#=0В/E,!/6 /69#Ян#Ii▒dD@^  А  ~ii i Y a Q%$EC><9720,*$I%I##  +▒De".54>32'26654&&#"7"&554632#"&54&&#"326676632i5kZ69\m45kZ69\m4P|GCyQO}GCzS(9:(/3 ?@   4#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb4?з?56%  RзR  %79#Ян#AJr▒dD@g1 <?*L Аi  ig Y a Q%$JHDB63.,)($A%A##  +▒De".54>32'26654&&#"7"&''##"&546732'32654&##i5kZ69\m45kZ69\m4P|GCyQO}GCzмI4  T-(E Ц=$$=#(PzQT{P((PzQT{P(#JДVTВJJГWSГJb вжo.)20Я ╘#()""╪%<G@D:#" L ЖY_O'&9720+*&<'<%% +A"&5463276632#"&55#"&''#"&55#"&546332##'  KL   HH б K╗K ╪  ▒▒  ■°╦ик═ў   ў%ЦИ9▒dD@.iYaQ +▒DS"&&546632'26654&&#"╓/Q10Q00Q11Q0'?&%@''?%%@Ц3S00R21Q2/T3&)B%$A))A$%B)J ыn 9╢ LK░!PX@ !M&N@ Ж!NY@   +W"&54632\   є ¤  K ыo Z@ LK░!PX@a!Ma&N@ea!NY@  +S"&54632"&54632]    ─  ■ц ■'  ■ц  ы{█]@ LK░!PX@M_"M&N@ЖM_"NY@ +W"&5"&54635463272#'╔ О О  О О  ┐  ° °  ■A ) ыМ█1y@ /LK░!PX@" gM_"M &N@" Ж gM_"NY@.,'&%# 11 +W"&55"&54635"&54635463272#'72#'┌ О ОО О  О ОО О  щ  ┐  ° °  ┐  щ ; ·ф▐#0A@>АigYaQ-+&$ ##+E"&&5546632#!32>3232654&&#"-Gm> ++ ?Y6& (( &6  H┤k'▓!f▒dDK░-PX@iYaQ@"АiYaQY@ !!+▒DS"&&#"#"&&54>32326632╙%( &' k     З к c%Ё╛$F▒dDK░ PX@qYaQ@ЖYaQY╡*+"+▒DS6632#"&54676654&#"'&&j"   б       ЭY"╢▒dD@Jv+▒DS"&5477632░ f _Y  <  6d╕щ; ,▒dD@!ЕYaQ $+▒DS52654632d22 :╕ %  .  - |t ─зВ ▒╕ В░5+ sб ╨▒dD@Jv+▒DW"&5477632/ f _Н  <  6 1Ь d▒dDK░PX@pjYaQ@ЕjYaQY@ +▒DW"&&54663232654&''73J # &  3+%╧   cJ+! =n,▒dD@!JYaQ +▒DW"&&546732W(*!*# ├ ,G<'  2▀Y╜Xц╢"@ LЕv +S"&5477632#"&''0 J J JJX 87  78VGх>╢LK░1PX@ aN@YaQY@  +S"&5477&&54632   V3    c(=&c╧╕h▒╕ ╧░5+▒░h░5+  d)E&k╨da▒╕ ╨░5+▒░a░5+  c)=&c╨X▒╕ ╨░5+▒░X░5+  d*Л°'Л ╤dF▒╕ ╤░5+▒░F░5+  d),Ї&$F╤Й>▒╕ ╤░5+▒░>░5+  d+,Є&$F╙Р<▒╕ ╙░5+▒░<░5+  d*rю&$F╥В0▒╕ ╥░5+▒░0░5+  d)Л╫&$v╤d%▒╕ ╤░5+▒░%░5+рр@Еv+Q!!р■ р■  sб ╨│ 2+W477632#"&f _ { < 6 1kВ*WНМNЪм╛╨тЇ);а▓ l~РЬо└_q╧(:L^pВФж▓ЄVhzЖШ▌HZЛЭп┴╙хў +uЗ╓т".:Фх ;  С г п  c u З Щ л ╜ ╧ с ь ■  л Ї \ ╝  + = I ║ ╠ ▐ ъ №=Рвоэ #5GYkwЙЫ▌;M_qГ█#5GYkй╗═▀ё+=OewЙЫз╣╦сє#5GRdvМЮ░┬╬рЄ"4FRdvИФж╕╩╓ш·РЬз▓╜╔╘хЁ√з│=Цвн╣─╧YчєЯ #.:EQ\m╤█цё№Y╟┘CNYdozЖСдп¤2=ОЩц ,7z├ G и ┤ ┐ ╦!?!J!Ц!в!н!╕!─!╨!█!ц!ё!¤""Ю##З$$g$r$}$И$ё$№%%%%)%▌&#&x&Д&П&╘&р&ь&ў''''%'1'='H'Л'ь'°((((u(├(╧(┌(х(ё)0);)F)Q)╩*'*Ж+1+Ч+▄,,А,Л,Ъ,е,░,╗,╞,╒,р,ы,Ў-- --'-2-=-H-T-_-j-u-А-Л-Ъ-е-░-╗-╟-╥-▐-ъ-Ў.. ..$./.;.G.S._.j.u.Б.М.Ч//`/╨00L0н0щ1C1─22В2ё3:3м44d4l4t4|4Д4М4Ф4Ь4д4м4┤4ў525И66X6╕7$7}7ш8R8Х8╤9(9г9·:Z:╟; ;М;ў; <<<<<'C>Я>№?А@@*@U@│A^AЦA╙BBSBгC0C┐DDQDxDЯD╞DэEEPEнFFГF╟G GoG╥H HFHИH▓H▓H▓H▓IKI╠JbK"KuK┘LULЮL╞MMnMпNNHN|N╙O,OРPPДP╣P°QkQнR RHRВR╙S!StSьTйUЫUуV,VrV║WW┬XoX│Y8Y╤ZrZщ[7[l[┼\"\в] ]]]!])]1]9]A]I]Б]м]┤]№^^C^m^Ю^╩^╥__M_Р_Ш_¤``a`Н`╝`╩`ЎaSaКaТa╩bb$b9bNbdbzbРbжb╗b╗b╤bЁBН█ с_<їш╫їmt┘`р¤ q т!=<          иOиOSLLLLLL&S0&S0ЄSЄSЄSЄSЄSЄSЄSЄSЄSЄSщSLLLLL-S--S╩S║S╩"╩ °╩ у╩╩C╩"╩ х╩╩ ╤ЁЁ№S№S─S─S┼S─S┼S╩НS-S-S-S-S-S-SLLLLLLLL;;LMLSуSL¤S¤S¤S¤Sс*с*с*с*с*с*╟╦╟╟%O%O%O%O%O%O%O%O%O%O%Oууууу┐¤¤¤¤¤╨╨╨╨            ЄSЄSЄSЄSЄSЄSЄSЄS╩A╩LLLLLLLLLLLLL%O%O%O%O%O%O%O%O¤¤¤з#з#з#з#з#з#з#з#з#з#╧#╧#╘EТ4Т4Т4Т4Т4Т4╘2╘2╘2╘2╜3╜3╜3╜3╜3╜3╜3╜3╜3╜3╜'!E╛ ╛ ╛ ╛ ╛ тEтт ╘л5лDлл щл ╘ллX5л ╓л  л ┬н ▄н ▄н ╒╡E╡E┤D╜M╜╜M╜M) DсDсDсDсDсDсD╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2№2╘E╘E╘24D4D44 ∙u&u&u&u&u&u&BBBBу@у@у@у@у@у@у@у@у@у@у@ИООООО}ЛЛЛЛЛББББп"╥B╤3╘2√@у@/?с@з#з#з#з#з#з#з#з#з#з#з#з#╜3╜3╜3╜3╜3╜3╜3╜3л2л╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2╟2у@у@у@у@у@у@у@у@ЛЛЛ▌EчE2'@,╙D A╤═&┘!б ╦ °A║!щ1°0БL3Ю+%1"*!B28)C*L3Ю+%1"*!B28)C*L3Ю+%2"*!B2:*C*L3Ю+%2"*!B2:*C*В qKQ▐%2╞"Xь"ф!йб-в-┴=├=-┴=┴=&░508а'# ╘T╘NC"JЛ2╟2╟2▀2Y №в-(-')Ц'Ф)i(i)╫(╫) +З+╚╚╚7%Ц)щDф,D │═▀л$р?ЙB═5пI╧;Л4Л│?▓:▌=╣IР5▀=KAF <с-S┐H▌M▌7х. .ХFХF└├=S)&═4╪9╪9^"н%╕J║KУ╡);Е╪  Ьк█LЕ n┤'L cЭd-2Gcdcdddddр═   q■uт1│·КXKКX^2а P {IMPA└√ cэ У╪█ lx@8 /9~H~Тб░ 7Y╟▌  #(5└Е∙    " & 0 : D p y Й м!"!&!.!T!^!У"""""""+"H"`"e%╩рЎ├√   0:аJТап№7Y╞╪ #&5└Аа    & 0 9 D p t А м!"!&!.!S![!Р"""""""+"H"`"d%╩рЎ├√  .├:C■н■u     ■№■·■ю¤йсмсЕс┴сСсYс#с#рїс%р█р├р╒рLрH▀э▀ф▀▄▀╙▀╔▀╜▀Ы▀}▄,"/ mdtРh╬╨╥╪╓╪тшръЪЮвММД╬м╠│╘Ё°═╖╕▓╪и╜з┤йк▀▄▐оў "#(+68:@AGSUVZ`dopuv{╗╡╝ц┴ н╣║└─╧╨╒╪уцщяЁЎ  %&+╣ ║ф╧н╥╓╙╫· √g╚х╛№ ■тХЦю∙░Фh╔бЮвп  2-/0FLHJQK┌OieghwT▓о░╢▒╡╖╜╦┼╚╔▐┌▄▌┴ї√ў∙·█■')│п┤╗╛┐╝┬├ ╠╞╩!═╟%╥$╤'╘&╙*╫)╓5т3р.█4с1┘,▀7х9чш;ъ=ь<ы>э?юBёDєCЄEЇN¤I°M№RWYX[ ^ ] \ cbankfmjlr"x(y|,~.}-ЬTд\ ╕P _  t$q!s#ЙAКBД<Ж>З?И@Е=7Б9В:Г;А8РHСIТJЛCНEОFПGМDФLУKЪRЫSХMЧOШPЩQЦNЭUЯWаXбYЮVвZг[е]з_и`йaж^z*кbлcмd╞╟┬─┼├▒їЄєЇь┘ср░, ░UXEY K╕QK░SZX░4░(Y`f КUX░%a╣cc#b!!░Y░C#D▓C`B-░,░ `f-░,#!#!-░, d│BC░C ``B▒CB▒%C░CTx ░ #░CCad░Px▓C`B░!e!░CC▓B ░C#B▓C`B#░PXeY▓C`B-░,░+░CX#!#!░CC#░PXeY d ░└P░&Z▓( CEcE░EX!░%YR[X!#!КX ░PPX!░@Y ░8PX!░8YY ▒ CEcEad░(PX!▒ CEcE ░0PX!░0Y ░└PX f ККa ░ PX` ░ PX!░ ` ░6PX!░6``YYY░%░ Cc░RX░K░ PX!░ CK░PX!░Ka╕c░ Cc╕bYYdaY░+YY#░PXeYY d░C#BY-░, E ░%ad ░CPX░#B░#B!!Y░`-░,#!#!░+ d▒bB ░#B░EX▒ CEc▒ C░`Ec░*! ░C К К░+▒0%░&QX`PaRYX#Y!Y ░@SX░+!░@Y#░PXeY-░,░ C+▓C`B-░,░ #B# ░#Ba░bf░c░`░*-░ , E ░Cc╕b ░PX░@`Yf░c`D░`-░ ,▓ CEB*!▓C`B-░ ,░C#D▓C`B-░ , E ░+#░C░%` EК#a d ░ PX!░░0PX░ ░@YY#░PXeY░%#aDD░`-░ , E ░+#░C░%` EК#a d░$PX░░@Y#░PXeY░%#aDD░`-░, ░#B│ EPX!#!Y*!-░,▒E░daD-░,░` ░CJ░PX ░#BY░CJ░RX ░#BY-░, ░bf░c ╕cК#a░C` К` ░#B#-░,KTX▒dDY$░ e#x-░,KQXKSX▒dDY!Y$░e#x-░,▒CUX▒C░aB░+Y░C░%B▒%B▒%B░# ░%PX▒C`░%BКК К#a░*!#░a К#a░*!▒C`░%B░%a░*!Y░CG░CG`░b ░PX░@`Yf░c ░Cc╕b ░PX░@`Yf░c`▒#D░C░>▓C`B-░,▒ETX░#B E░#B░ #░`B ░#B `░a╖BBBК` ░C`░#B▒+░Л+"Y-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒+-░,▒ +-░+,# ░bf░c░`KTX# .░]!!Y-░,,# ░bf░c░`KTX# .░q!!Y-░-,# ░bf░c░&`KTX# .░r!!Y-░ ,░+▒ETX░#B E░#B░ #░`B `░a╡BBК`▒+░Л+"Y-░!,▒ +-░",▒ +-░#,▒ +-░$,▒ +-░%,▒ +-░&,▒ +-░',▒ +-░(,▒ +-░),▒ +-░*,▒ +-░., <░`-░/, `░` C#░`C░%a░`░.*!-░0,░/+░/*-░1, G ░Cc╕b ░PX░@`Yf░c`#a8# КUX G ░Cc╕b ░PX░@`Yf░c`#a8!Y-░2,▒ETX▒EB░░1*▒EX0Y"Y-░3,░+▒ETX▒EB░░1*▒EX0Y"Y-░4, 5░`-░5,▒EB░Ec╕b ░PX░@`Yf░c░+░Cc╕b ░PX░@`Yf░c░+░┤D>#8▒4*!-░6, < G ░Cc╕b ░PX░@`Yf░c`░Ca8-░7,.<-░8, < G ░Cc╕b ░PX░@`Yf░c`░Ca░Cc8-░9,▒% . G░#B░%IККG#G#a Xb!Y░#B▓8*-░:,░░#B░%░%G#G#a▒ B░ C+eК.# <К8-░;,░░#B░%░% .G#G#a ░#B▒ B░ C+ ░`PX ░@QX│  │&YBB# ░ C К#G#G#a#F`░C░b ░PX░@`Yf░c` ░+ ККa ░C`d#░CadPX░Ca░C`Y░%░b ░PX░@`Yf░ca# ░&#Fa8#░ CF░%░ CG#G#a` ░C░b ░PX░@`Yf░c`# ░+#░C`░+░%a░%░b ░PX░@`Yf░c░&a ░%`d#░%`dPX!#!Y# ░&#Fa8Y-░<,░░#B ░& .G#G#a#<8-░=,░░#B ░ #B F#G░+#a8-░>,░░#B░%░%G#G#a░TX. <#!░%░%G#G#a ░%░%G#G#a░%░%I░%a╣cc# Xb!Yc╕b ░PX░@`Yf░c`#.# <К8#!Y-░?,░░#B ░ C .G#G#a `░ `f░b ░PX░@`Yf░c# <К8-░@,# .F░%F░CXPRYX +.▒0+-░~,▒>+░@+-░,▒>+░A+-░А,▒>+░B+-░Б,▒>+░@+-░В,▒>+░A+-░Г,▒>+░B+-░Д,▒?+.▒0+-░Е,▒?+░@+-░Ж,▒?+░A+-░З,▒?+░B+-░И,▒?+░@+-░Й,▒?+░A+-░К,▒?+░B+-░Л,▓ EPX░▓EX#!!YYB+░e░$Px▒EX0Y-K╕╚RX▒ОY░╣cp▒B╡(*▒B@ 5- *▒B@ 91% *▒ B╜ А ААА *▒B╜@@@@ *╣D▒$ИQX░@ИX╣dD▒(ИQX╕ИX╣DY▒'ИQX║А@ИcTX╣DYYYYY@ 7/*╕ Е░Н▒D│dDD╪╪####█╪ █ ·▐ · !!nn ¤!!█m█j╞ |  | Ь 6к  | Fр  & ИF V╬ V╬ 0$ 0$  T 4t  и ▓Copyright 2011 The Dosis Project Authors (impallari@gmail.com)Dosis ExtraLightRegular3.001;IMPA;Dosis-ExtraLightVersion 3.001; ttfautohint (v1.8.2)Dosis-ExtraLightDosis is a trademark of EdgarTolentino, PabloImpallari, IginoMarini.EdgarTolentino, PabloImpallari, IginoMarinihttp://www.impallari.comThis Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFLhttp://scripts.sil.org/OFLDosisExtraLight Ь21$╔╟bнcоР%&¤ d'щ (e  ╚╩ ╦ )*°+,╠═╬·╧-./т01 !"f2╨#╤g╙$%С&п░3э45'()6*ф√+,7-./8╘0╒h╓123459:6789;<ы:╗;=<ц=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkDilkljmnnmаoEF■opqGъrHpstrsuqvwxIJ∙yz{K|}L╫t~vwuАБВMГДNЕЖOЗИЙКуPQЛМНОxRyП{|zРСбТ}▒SюTUУФХVЦх№ЧШЙWЩЪЫX~ЬАБЭЮЯабYZвгде[\ьж║з]ичйклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀└┴ЭЮЫрстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ ╝Ї  їЎ   лг"в├З ? ^`>@▓│B─┼┤╡╢╖йк╛┐ Д╜жЕЦяЁ╕ П!ХФУзaдAТЬЪЩеШ╞╣# ИЖЛКМГ_шВ┬Н█с▐╪О▄C▀┌р▌┘ !"#$%&'()*+,-./0123456789:;AbreveAmacronAogonekAEacute Ccircumflex CdotaccentDcaronDcroatEbreveEcaron EdotaccentEmacronEogonek Gcircumflexuni0122 GdotaccentHbar HcircumflexIJIbreveImacronIogonekItilde Jcircumflexuni0136LacuteLcaronuni013BLdotNacuteNcaronuni0145EngObreve OhungarumlautOmacron OslashacuteRacuteRcaronuni0156Sacute Scircumflexuni0218TbarTcaronuni021AUbreve UhungarumlautUmacronUogonekUringUtildeWacute Wcircumflex WdieresisWgrave YcircumflexYgraveZacute Zdotaccentuni1EAEuni1EB6uni1EB0uni1EB2uni1EB4uni1EA4uni1EACuni1EA6uni1EA8uni1EAAuni1EA0uni1EA2uni1EBEuni1EC6uni1EC0uni1EC2uni1EC4uni1EB8uni1EBAuni1EBCuni1ECAuni1EC8uni1ED0uni1ED8uni1ED2uni1ED4uni1ED6uni1ECCuni1ECEOhornuni1EDAuni1EE2uni1EDCuni1EDEuni1EE0uni1EE4uni1EE6Uhornuni1EE8uni1EF0uni1EEAuni1EECuni1EEEuni1EF4uni1EF6uni1EF8abreveamacronaogonekaeacute ccircumflex cdotaccentdcaronebreveecaron edotaccentemacroneogonekuni0259 gcircumflexuni0123 gdotaccenthbar hcircumflexibreveijimacroniogonekitildeuni0237 jcircumflexuni0137 kgreenlandiclacutelcaronuni013Cldotnacutencaronuni0146engobreve ohungarumlautomacron oslashacuteracutercaronuni0157sacute scircumflexuni0219tbartcaronuni021Bubreve uhungarumlautumacronuogonekuringutildewacute wcircumflex wdieresiswgrave ycircumflexygravezacute zdotaccenta.ss01b.ss02q.ss02g.ss03m.ss04n.ss04r.ss04u.ss04uni1EAFuni1EB7uni1EB1uni1EB3uni1EB5uni1EA5uni1EADuni1EA7uni1EA9uni1EABuni1EA1uni1EA3uni1EBFuni1EC7uni1EC1uni1EC3uni1EC5uni1EB9uni1EBBuni1EBDuni1ECBuni1EC9uni1ED1uni1ED9uni1ED3uni1ED5uni1ED7uni1ECDuni1ECFohornuni1EDBuni1EE3uni1EDDuni1EDFuni1EE1uni1EE5uni1EE7uhornuni1EE9uni1EF1uni1EEBuni1EEDuni1EEFuni1EF5uni1EF7uni1EF9one.lnumuni2080uni2081uni2082uni2083uni2084uni2085uni2086uni2087uni2088uni2089 zero.dnomone.dnomtwo.dnom three.dnom four.dnom five.dnomsix.dnom seven.dnom eight.dnom nine.dnom zero.numrone.numrtwo.numr three.numr four.numr five.numrsix.numr seven.numr eight.numr nine.numruni2070uni00B9uni00B2uni00B3uni2074uni2075uni2076uni2077uni2078uni2079uni2153uni2154 oneeighth threeeighths fiveeighths seveneighths slash.001uni00ADuni00A0CREurouni03A9uni0394uni03BCarrowup arrowright arrowdown arrowleft estimateduni0308uni0307 gravecomb acutecombuni030Buni0302uni030Cuni0306uni030A tildecombuni0304 hookabovecombuni0312uni031B dotbelowcombuni0326uni0327uni0328uni0335 uni0302.001 caron.alt uni03060301 uni03060300 uni03060309 uni03060303 uni03020301 uni03020300 uni03020309 uni03020303NULLuniE000uniF6C3  К(*=@DF`b└┬┬─═╧╒╫тфьяєїdщщ#0 !  "LDFLT  kernmarkmkmk  Rrh hfi, B▐>Ъ▄▄▄▄▄▄▄▄▄▄иbbbbbbZZZZД▐ $ $ $ $ $L FLL|LLLLLLLLL|| X X ( ( Ж ( ( (LLLLLLLZZZZZZZZZZZ n tZ╓╓╓╓ЁЁЁЁЁЁ|||||||||||мЄЄЄЄЄTТТТТТоооо▄▄▄▄▄▄▄▄▄▄▄▄LLZZZZZZZZZZZZZ||||||||ТТТ*,*,*,*,*,*,*,*,*,*,*B*B*T$$$$$$6<jX*B*B*B*B*B*B*B*B*B*B*TnHHHHH'░'░'░*╩*╩bАо╪*╩*╩ *╩D*╩*╩ 44*╨*╨N*╨P'░'░'░'░'░'░'░*T*T*T*T*T*T*T*T*T*T*T*B*T*Tz ╪ ╪ ╪ ╪!!!!!!!"D"D!v"D*~*~*~*~*~*~*~*~*~*~*~"V$p$p$p$p$p$Ц*д*д*д*д*д'8'8'8'8'J*T'░* '░'╞((* *,*,*,*,*,*,*,*,*,*,*,*,*B*B*B*B*B*B*B*B*╩*╩*T*T*T*T*T*T*T*T*T*T*T*T*T*~*~*~*~*~*~*~*~*д*д*д*╩*╨-f*┌*р++\+■, ,.-$-f-─/║=╝=╝/ф/ф/ъ/Ї0v0м1F1P4┬5\8 8:╞:╘=К=К=К=К=╝=ц>>B>Ф>▓>Ё>Ў>Ё>Ў??^?Ф?к?─?т?Ё@JAМBJB─B╬чщьчюfыjtdЭЭoзкpннtп░u▓╡w╖╗{╜└А┬═Д╓╓Р╪┘С▄▄Уў°Ф№ Ц.` чa чb чc чu °v ·w ·x ·y ·z ·{ ∙| ∙} ∙~ ∙к ·л ·м ·т  ·  ·  ·  ·  · · ·  ∙! ∙" ∙# ∙$ ∙% Ё& ·' ·( ·) ·* ·+ є, є- є. єb ·c ·d ·╕ э║ ю╝ ьu╓▄тх ф% Єn╬ э╓█▄▌▐ртух н& ▓' ▓( ▓) ▓* ▓b ▓c ▓d ▓n Ё° Ў№ ч Я Я Я Я Я Я Я Я  Я  Я  х  х ш ш ш ш ш ш# ш$ ш% ш& ш' ш6 }7 }G шH шI шJ шK шL шM шN шO шP шQ шR шU шZ ї[ ї\ ї] ї^ ї_ ї ЯА ЯБ ЯВ ЯГ ЯД ЯЕ ЯЖ ЯЗ ЯИ ЯЙ ЯК ЯХ шЦ шЧ шШ шЩ шЪ шЫ шЬ шЭ шЮ шЯ ша шб шн Jо Jп д░ J▒ J▓ J│ J┤ J╡ Х╢ J╖ J╕ J║ А╗ А╝ ╡╜ А╛ А┐ А└ А┴ А┬ А├ А─ А┼ А╞ П╟ е╚ А╔ А╩ А╦ А╠ А═ А╬ `╧ ч╨ А╤ И╥ А╙ А╘ А╓╪ у┘ к┌ ─█▄ у▌ у▐ у▀ ур ус ут уу уф ух уя ДЁ Дё ДЄ Ыє ДЇ Дї ДЎ Аў А° Р∙ А· А√ А№ А¤ А■ А  А А А Д А Д Д Ў Д  И  И  ╙  И  И И ч ч ч ч ч З З З З З З З З З З З О  О! О" О# О$ О% t& О' О( О) О* О+ S, S- ═. S/ J1 А2 А3 t4 t5 t6 З7 J8 J9 J: J; J< J= J> J? J@ JA JB JC АD АE АF АG АH АI АJ АK уL уM АN АO АP АQ АR АS АT АU АV АW АX АY АZ З[ З\ З] З^ З_ З` Зa Зb Оc Оd Оe чf чj ёkl їn ╦p ёqr Їs Ўt шз пи пй ═к ═л и▓ э┤ ╢╕║╝╜ м╛ м┐ м└ м┬ п├ и╚ ╚╔ ╟╩ ╚╦ ╟ў ┼° ы№ ╘u ·т √ ·% Ё╕ Є║ є╝ ёт √0 √▓ █ рт ╒lt╕║╝° ·№ Ї(` нa лb нc нo мp оq оr оs оt оv дw дx дy дz дк дл дм д╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚─ ╖┼ ╖╞ ╖╟ ╖╠ ╝═ ╝° °№ ╦¤ ╡o м╬ Ї Щ0 эj Єkn рp Єqtо Ї░ │▓ │╡ ╚° °№ ╦¤ ╡┴ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒  ╒  ╒6 Д7 Д` √a √b √c √u °vwxyz{ ё| ё} ё~ ё ╒А ╒Б ╒В ╒Г ╒Д ╒Е ╒Ж ╒З ╒И ╒Й ╒К ╒клмн що щп щ░ щ▒ щ▓ щ│ щ┤ щ╡ щ╢ щ╖ щ╕ щ║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╬ ў╨ ц╤ ц╥ ц╙ ц╘ ц╓┘ ў▄тх я ўЁ ўё ўЄ ўє ўЇ ўї ўЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ў ц ў ў ў ў  Ї  Ї  Ї  Ї  Ї Ї ° ° ° ° ° ° ° ° ° ° °/ щ1 ц2 ц3 ╫4 ╫5 ╫6 °7 щ8 щ9 щ: щ; щ< щ= щ> щ? щ@ щA щB щC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цZ °[ °\ °] °^ °_ °` °a °n эз пи пл г▓┤ ╦╕ ш║ ъ╝ ш╜ ╞╛ ╞┐ ╞└ ╞┬ п├ г╚ ё╩ ёў ї° ·X ў ў ў ў ў ў ў ў  ў  ў6 ∙7 ∙` ┐a ┐b ┐c ┐o √pqrstu фv ыw ыx ыy ыz ы{ ▐| ▐} ▐~ ▐ ўА ўБ ўВ ўГ ўД ўЕ ўЖ ўЗ ўИ ўЙ ўК ўк ыл ым ын ·о ·п ·░ ·▒ ·▓ ·│ ·┤ ·╡ ·╢ ·╖ ·╕ ·/ ·3 √4 √5 √7 ·8 ·9 ·: ·; ·< ·= ·> ·? ·@ ·A ·B ·з ╧и ╧л ╧о я┤ ъ╕ ф║ ч╝ ф┬ ╧├ ╧┼ °╟ °¤╬ √╓▄т хn їт Ё% ыn▓ °)░ л│ л╢ л╝ ╢╛ й╬ з╥ д╓┘ к┌ ▌█▄ я▌ я▐ яр ят ях яї е й е ў  ╘  н д ▒% ┤- ╬e ъf ъj ёkn ┘p ёqr їt ъ▓ э┤ ╤ў ╥° э№ ╫╤ ┘ ┘ ┘ ┘ ┘ ┘ ┘ ┘  ┘  ┘  √  √6 ╗7 ╗ ┘А ┘Б ┘В ┘Г ┘Д ┘Е ┘Ж ┘З ┘И ┘Й ┘К ┘н ╦о ╦п ╦░ ╦▒ ╦▓ ╦│ ╦┤ ╦╡ ╦╢ ╦╖ ╦╕ ╦║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╬ ╘╧ ·╨ ╦╤ ╦╥ ╦╙ ╦╘ ╦╓┘ ╘█▄▌▐рт&х я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╙ ╦ ╘ ╘ э ╘  ╨  ╨  ╨  ╨  ╨ ╨ · ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ╫ ё  ё! ё" ё# ё$ ё% я& є' є( є) є* є+ ш, ш- ш. ш/ ╦1 ╦2 ╦3 ╦4 ╦5 ╦6 ╫7 ╦8 ╦9 ╦: ╦; ╦< ╦= ╦> ╦? ╦@ ╦A ╦B ╦C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╫[ ╫\ ╫] ╫^ ╫_ ╫` ╫a ╫b єc єd єe ·f ·n чqt Єз ╠и ╠й юк юл ╠┤ ╥║╜ ▄╛ ▄┐ ▄└ ▄┬ ╠├ ╠╚ ф╔ Ї╩ ф╦ Їў ч° °№ ї╬ ╪╓┘ ██▄▌▐рт&х  █ ь Ї% єkn ыqt є┤ ╫╕║╝ў ъ° ∙Ц ў ў ў ў ў ў# ў$ ў% ў& ў' ўG ўH ўI ўJ ўK ўL ўM ўN ўO ўP ўQ ўR ўU ўХ ўЦ ўЧ ўШ ўЩ ўЪ ўЫ ўЬ ўЭ ўЮ ўЯ ўа ўб ў║ ё╗ ё╝ ё╜ ё╛ ё┐ ё└ ё┴ ё┬ ё├ ё─ ё┼ ё╞ ё╟ ё╚ ё╔ ё╩ ё╦ ё╠ ё═ ё╬ ∙╨ ·╤ ·╥ ·╙ ·╘ ·╓█▄▌▐ртхЎ ёў ё° ё∙ ё· ё√ ё№ ё¤ ё■ ё  ё ё ё ё ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ▌  ▌! ▌" ▌# ▌$ ▌& ▄' ▄( ▄) ▄* ▄1 ё2 ё6 ъC ёD ёE ёF ёG ёH ёI ёJ ёM ёN ёO ёP ёQ ёR ёS ёT ёU ёV ёW ёX ёY ёZ ъ[ ъ\ ъ] ъ^ ъ_ ъ` ъa ъb ▄c ▄d ▄t╜ ю╛ ю┐ ю└ ю╚ Ё╩ Ё° ·№ ї ╬ ф█рт · ╩0 ∙n сt° °№ хo ┘ ъ0 ·kqtо ї▓ р╡ ▄╕║╝№ Ў¤ х ╬ э╓█▄▌▐ртх нn Ё° Ў№ чт √0 √u ў ∙% °0 √╕ ю║ я╝ ю¤╬ √т °%┤ Ў$│ й╢ й╝ м╛ в╟ в╠ в╬ и╓┘ ║█▄▌▐ртх¤ в в ║ я  ╠  л ╙% ╤e їf їjn ╫pqrt я┤ ╦ў ╒° є№ щo ▐о я╡ я° ют %+ №, №- №. №з ўи ўл ў┤ Ў┬ ў├ ў;о╣.╧╒.╓.╫.╪3┘3┌3█3▄3▌3▐3▀3р3с3т3у3ф3х3ц.ч.щ&ъ&ы&ь&э&ю&.-----801K3L3efм о>▓&╡O╕I║I╝I─ ┼4╞ ╟4╠<═<°№¤@ то▓ ─╞╢ ╤ ╤ ╤ ╤ ╤ ╤ ╤ ╤  ╤  ╤6 ж7 ж` їa їb їc їopqrstu Ўv ·w ·x ·y ·z ·{ х| х} х~ х ╤А ╤Б ╤В ╤Г ╤Д ╤Е ╤Ж ╤З ╤И ╤Й ╤К ╤к ·л ·м ·н ъо ъп ъ░ ъ▒ ъ▓ ъ│ ъ┤ ъ╡ ъ╢ ъ╖ ъ╕ ъ║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы╨ я╤ я╥ я╙ я╘ я╪┘┌█▄▌▐▀рстуфхщъыьэюЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы  №  №  №  №  № №/ ъ1 ы2 ы3 щ4 щ5 щ7 ъ8 ъ9 ъ: ъ; ъ< ъ= ъ> ъ? ъ@ ъA ъB ъC ыD ыE ыF ыG ыH ыI ыJ ыKLM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыз ┘и ┘л ┘┤ ┌╕║╝╜ ╥╛ ╥┐ ╥└ ╥┬ ┘├ ┘╚ Є╩ Єў Ў° щo ∙u хухо ф╡т ╡╕║╝┼╟ т о╡ ╕║╝┼╟╠═¤ т о▓/╝─┼╞╟╠ ═ т о▓╕║╝─┼╞╟╠═т мо▓╡╕║╝─┼╞╟╠ ═ 1╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLм о5▓╡#╕║╝─$┼╞$╟╠!═!¤  т о▓0╝─┼╞╟╠═o ч╬ °0о╡ ї° Є@о╣,╝╧╒,╓,╫,╪2┘2┌2█2▄2▌2▐2▀2р2с2т2у2ф2х2ц,ч,щ$ъ$ы$ь$э$ю$Є∙, <++++-60/K2L2efмо<░ ▐▓$╡N╕J║I╝I─┼3╞╟3╠;═;°№¤?  т&'()*bcd░ ▐Ч  √ ∙ ∙ ∙ ∙ ∙ ∙ √ √ √ √ √ √ √ √ √ √ √ √  √! √" √# ∙$ ∙% ∙& ∙' ∙( √) √* √+ √- √. √/ √0 √1 √2 √3 √4 √5 √8 √9 √: √; √< √= √? √@ √A √B √C √D √E √F √G ∙H ∙I ∙J ∙K ∙L ∙M ∙N ∙O ∙P ∙Q ∙R ∙S √T √U ∙V √W √X √Y √Z ·[ ·\ ·] ·^ ·_ ·` дa дb дc дd °e °f °g °h °i °j °k °l °m °n °o ╙p ┌q ┌r ┌s ┌t ┌v ╗w ╗x ╗y ╗z ╗{ √| √} √~ √Л √М √Н √О √П √Р √С √Т √У √Ф √Х ∙Ц ∙Ч ∙Ш ∙Щ ∙Ъ ∙Ы ∙Ь ∙Э ∙Ю ∙Я ∙а ∙б ∙в °г °д °е °ж °з °и °й °к ╗л ╗м ╗о щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Ї o °u ┘о ╥┤ ╓╡╕ ▀║ ф╝ ▀ў ї° чo ╪о ъ╡ ч Ў  ї! ї" ї# ї$ ї% Ї& Ї' Ї( Ї) Ї* Ї+ °, °- °. °b Їc Їd Їо Ї╡ Ё╕ Є║ є╝ Є3o є╣╒╓╫╪┘┌█▄▌▐▀рстуфхцчщъыьэю0KLмо▓╡ √╕║╝─┼╞╟╠═° є¤ o єо Ё╡ ї° єЖ щ щ щ щ щ щ щ щ  щ  щ6 ╘7 ╘Z √[ √\ √] √^ √_ √` ▒a ▒b ▒c ▒o ёp Їq Їr Їs Їt Їu ▌v ╒w ╒x ╒y ╒z ╒{ ╤| ╤} ╤~ ╤ щА щБ щВ щГ щД щЕ щЖ щЗ щИ щЙ щК щк ╒л ╒м ╒║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═Ўў°∙·√№¤■ 123 ∙4 ∙5 ∙CDEFGHIJMNOPQRSTUVWXYз ти тл то ▀┤ ч╡ Ї╕ т║ ц╝ т╜ Є╛ Є┐ Є└ Є┬ т├ т─ Ў┼ Ў╞ Ў╟ Ў╠ ў═ ў° ў o ёu ▌о ▐┤ ц╡ Ї╕ т║ ц╝ т° Ўи ° ° ° ° ° °# °$ °% °& °' °6 °7 °G °H °I °J °K °L °M °N °O °P °Q °R °U °` │a │b │c │defghijklmno юp Єq Єr Єs Єt Єv ╤w ╤x ╤y ╤z ╤Х °Ц °Ч °Ш °Щ °Ъ °Ы °Ь °Э °Ю °Я °а °б °вгдежзийк ╤л ╤м ╤║ ї╗ ї╝ ї╜ ї╛ ї┐ ї└ ї┴ ї┬ ї├ ї─ ї┼ ї╞ ї╟ ї╚ ї╔ ї╩ ї╦ ї╠ ї═ ї╨ √╤ √╥ √╙ √╘ √Ў їў ї° ї∙ ї· ї√ ї№ ї¤ ї■ ї  ї ї ї ї1 ї2 ї6C їD їE їF їG їH їI їJ їM їN їO їP їQ їR їS їT їU їV їW їX їY їZ[\]^_`aо Ё╡ Ї╜ с╛ с┐ с└ с╚ Ў╩ Ў╠═° Ёo фо э╡ ю° ё ∙  °! °" °# °$ °& ў' ў( ў) ў* ўb ўc ўd ўо ї╡ ▌╕║╝─ Є┼ Є╞ Є╟ Є╠ є═ єo ╩ ∙о ъ╡ ▄¤o ╩ ∙  ∙! ∙" ∙# ∙$ ∙& °' °( °) °* °b °c °d °о ъ╡ ▄─ ю┼ ю╞ ю╟ ю╠ я═ я¤xн уо уп у░ у▒ у▓ у│ у┤ у╡ у╢ у╖ у╕ у║ ц╗ ц╝ ц╜ ц╛ ц┐ ц└ ц┴ ц┬ ц├ ц─ ц┼ ц╞ ц╟ ц╚ ц╔ ц╩ ц╦ ц╠ ц═ ц╨ ы╤ ы╥ ы╙ ы╘ ыЎ цў ц° ц∙ ц· ц√ ц№ ц¤ ц■ ц  ц ц ц ц  ·  ·  ·  ·  · ·/ у1 ц2 ц3 у4 у5 у7 у8 у9 у: у; у< у= у> у? у@ уA уB уC цD цE цF цG цH цI цJ цM цN цO цP цQ цR цS цT цU цV цW цX цY цз ╙и ╙л ╙о ╥┤ ╓╡╕ ▀║ ф╝ ▀╜ ═╛ ═┐ ═└ ═┬ ╙├ ╙─ ў┼ ў╞ ў╟ ў╚ Ё╩ Ё╠ °═ °ў їо щ╡ ч─ є┼ є╞ є╟ є╠ Ї═ Їo ╠ ·о ъ╡ ▌¤o ╠о ъ╡ у¤ o ╩u Ё% їо ш╡ ▀╕ ъ║ ы╝ ъ¤ o ╫u ъ%о ц┤╡ ш╕ ш║ ъ╝ ш o Єu ▄о ▐┤ ц╡ ї╕ т║ ц╝ т° Ўт т░ ▐ЭU` Ўa Ўb Ўc Ўn ┌ЭА░ ┘╜ ╩╛ ╩┐ ╩└ ╩╪ └┘ ═▄ Ї` їa їb їc їvwxyzклмЭI╕ ш║ щ╝ ч(67` їa їb їc їo Ўp Ўq Ўr Ўs Ўt Ўv їw їx їy їz їк їл їм їkmnoq эЭMз Ўи Ўл Ў╡ я╕ ї║ Ў╝ Ї┬ Ў├ Ў╠ ї═ ї╪┘ ї■ яnЭO■ Ї` Ўa Ўb Ўc ЎЭJ╕ щ║ ъ╝ ш= ╪ ╪ ╪ ╪ ╪ ╪ ╪ ╪  ╪  ╪6 ╘7 ╘`abcopqrstvwxyz ╪А ╪Б ╪В ╪Г ╪Д ╪Е ╪Ж ╪З ╪И ╪Й ╪К ╪клмkn ├t ъз │и │л │░ ╒│ ц┤ Ы╜ ╩╛ ╩┐ ╩└ ╩┬ │├ │╥ щ╪ │┘ ╧▄ ф` їa їb їc їvwxyzклмЭI╕ ч║ щ╝ ц` ёa ёb ёc ёvwxyzклмt єЭ3з Єи Єл Є┤ Є╕ т║ ф╝ с┬ Є├ Є}  ї ї ї ї ї ї# ї$ ї% ї& ї' їG їH їI їJ їK їL їM їN їO їP їQ їR їU ї` чa чb чc чd їe їf їg їh їi їj їk їl їm їn їo чp шq шr шs шt шuv цw цx цy цz ц{|}~АБВГДЕЖЗИЙКХ їЦ їЧ їШ їЩ їЪ їЫ їЬ їЭ їЮ їЯ їа їб їв їг їд їе їж їз їи їй їк цл цм цj юkn уp юqtЭФ░ ▌│ ь╡ ╙╕║╝╜ █╛ █┐ █└ █╠ щ═ щ╥ ┌╪ ╥┘ ┌▄ ю■ ф j0kSlGmJoLp0qАr<sIto эрт ` їa їb їc їo їp їq їr їs їt їv їw їx їy їz їк їл їм ї Ё  Ё! Ё" Ё# Ё$ Ё& Ё' Ё( Ё) Ё* Ёb Ёc Ёd Ё щ ▐ъ ▐ы ▐ь ▐э ▐ю ▐k Їl цm цo ьq ╨s яt ▄& ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀)6 ▓7 ▓` эa эb эc э{ ф| ф} ф~ ф ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓▄.▌т3х.l Ёt ▀▄ ╧ ╧ ╧ ╧ ╧ ╧ ╧ ╧  ╧  ╧  є  є Ї Ї Ї Ї Ї Ї# Ї$ Ї% Ї& Ї' Ї6 ╬7 ╬G ЇH ЇI ЇJ ЇK ЇL ЇM ЇN ЇO ЇP ЇQ ЇR ЇU Ї ╧А ╧Б ╧В ╧Г ╧Д ╧Е ╧Ж ╧З ╧И ╧Й ╧К ╧Х ЇЦ ЇЧ ЇШ ЇЩ ЇЪ ЇЫ ЇЬ ЇЭ ЇЮ ЇЯ Їа Їб Їн ╧о ╧п ╧░ ╧▒ ╧▓ ╧│ ╧┤ ╧╡ ╧╢ ╧╖ ╧╕ ╧║ ╦╗ ╦╝ ╦╜ ╦╛ ╦┐ ╦└ ╦┴ ╦┬ ╦├ ╦─ ╦┼ ╦╞ ╦╟ ╦╚ ╦╔ ╦╩ ╦╦ ╦╠ ╦═ ╦╨ ╠╤ ╠╥ ╠╙ ╠╘ ╠█рт я ╘Ё ╘ё ╘Є ╘є ╘Ї ╘ї ╘Ў ╦ў ╦° ╦∙ ╦· ╦√ ╦№ ╦¤ ╦■ ╦  ╦ ╦ ╦ ╘ ╦ ╘ ╘ х ╘  ╨  ╨  ╨  ╨  ╨ ╨ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ╒ ф  ф! ф" ф# ф$ ф% ф& х' х( х) х* х+ ▐, ▐- ▐. ▐/ ╧1 ╦2 ╦3 ╔4 ╔5 ╔6 ╒7 ╧8 ╧9 ╧: ╧; ╧< ╧= ╧> ╧? ╧@ ╧A ╧B ╧C ╦D ╦E ╦F ╦G ╦H ╦I ╦J ╦M ╦N ╦O ╦P ╦Q ╦R ╦S ╦T ╦U ╦V ╦W ╦X ╦Y ╦Z ╒[ ╒\ ╒] ╒^ ╒_ ╒` ╒a ╒b хc хd хj ьl їn ▓p ьr яst ┘┤ &` ┘a ┘b ┘c ┘o ▀p тq тr тs тt тv ╓w ╓x ╓y ╓z ╓к ╓л ╓м ╓ Є  ё! ё" ё# ё$ ё& ё' ё( ё) ё* ёb ёc ёd ёkq┼ ╤╟ ╤╠ ╙═ ╙л  я я я я я я# я$ я% я& я' яG яH яI яJ яK яL яM яN яO яP яQ яR яU яpqrstАБВГДЕЖЗИЙКХ яЦ яЧ яШ яЩ яЪ яЫ яЬ яЭ яЮ яЯ яа яб я║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ ї ї ї ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj тk їm Ёn ╥p тr чs щ╖ ю╣ ъ╕ ю║ я╝ эл  Ё Ё Ё Ё Ё Ё# Ё$ Ё% Ё& Ё' ЁG ЁH ЁI ЁJ ЁK ЁL ЁM ЁN ЁO ЁP ЁQ ЁR ЁU ЁpqrstАБВГДЕЖЗИЙКХ ЁЦ ЁЧ ЁШ ЁЩ ЁЪ ЁЫ ЁЬ ЁЭ ЁЮ ЁЯ Ёа Ёб Ё║ ы╗ ы╝ ы╜ ы╛ ы┐ ы└ ы┴ ы┬ ы├ ы─ ы┼ ы╞ ы╟ ы╚ ы╔ ы╩ ы╦ ы╠ ы═ ы█▐ртЎ ыў ы° ы∙ ы· ы√ ы№ ы¤ ы■ ы  ы ы ы ы ї ї ї ї щ щ щ щ щ щ щ щ щ щ щ ц  ц! ц" ц# ц$ ц& ч' ч( ч) ч* ч1 ы2 ы6 щC ыD ыE ыF ыG ыH ыI ыJ ыM ыN ыO ыP ыQ ыR ыS ыT ыU ыV ыW ыX ыY ыZ щ[ щ\ щ] щ^ щ_ щ` щa щb чc чd чj фk Ўm Ёn ╒p фr шs ъ╖ я╣ ы╕ ъ║ ы╝ щн  ю ю ю ю ю ю# ю$ ю% ю& ю' ю6 Ў7 ЎG юH юI юJ юK юL юM юN юO юP юQ юR юU юpqrstАБВГДЕЖЗИЙКХ юЦ юЧ юШ юЩ юЪ юЫ юЬ юЭ юЮ юЯ юа юб ю║ ъ╗ ъ╝ ъ╜ ъ╛ ъ┐ ъ└ ъ┴ ъ┬ ъ├ ъ─ ъ┼ ъ╞ ъ╟ ъ╚ ъ╔ ъ╩ ъ╦ ъ╠ ъ═ ъ█▐ртЎ ъў ъ° ъ∙ ъ· ъ√ ъ№ ъ¤ ъ■ ъ  ъ ъ ъ ъ Ї Ї Ї Ї ш ш ш ш ш ш ш ш ш ш ш т  с! с" с# с$ с& у' у( у) у* у1 ъ2 ъ6 шC ъD ъE ъF ъG ъH ъI ъJ ъM ъN ъO ъP ъQ ъR ъS ъT ъU ъV ъW ъX ъY ъZ ш[ ш\ ш] ш^ ш_ ш` шa шb уc уd уj сk їm юn ╥p сr цs ш╖ ю╣ щ o ▄u ю Є% сk ёl єm єo єq ╘s яt ┘╠ Ы o ╠ тj Єk Їn фp Єq─ п┼ п╠ п o ╠ тj Єk Їn фp Єq─ п┼ п╠ А ╓▄рт,х є Ўз пи пл п┬ п├ пo╓█ ▄▌▐ртх Є ї% °з пи пл п┤ ╢┬ п├ пў ╕№ э╓▄рт,х є Ўo╓█ ▄▌▐ртх Є ї% °┤ ╢ў ╕№ эo Їo фu Ё% Ў╓█▄рт!х Ї ў%n ╥з пи пл п┤ ╝╜ Ы╛ Ы┐ Ы└ Ы┬ п├ Аў ╔№ Ў ╓█▄рт!х Ї ў%n ╥┤ ╝ў ╔№ Ўj Їm Ўn ▌p Їr Єk яl Ўnq ╞s їt ╧k ёl фm фo шq ╬s уt ╪kq шt э` ╓a ╓b ╓c ╓o эp яq яr яs яt яv ▄w ▄x ▄y ▄z ▄к ▄л ▄м ▄┼ ┴╟ ┴╠ ╬═ ╬P` ╣a ╣b ╣c ╣d √e √f √g √h √i √j √k √l √m √n √o ┌p ▄q ▄r ▄s ▄t ▄v ┴w ┴x ┴y ┴z ┴в √г √д √е √ж √з √и √й √к ┴л ┴м ┴ · · · · ў ў ў ў ў ў ў ў ў ў ў ї  ї! ї" ї# ї$ ї& є' є( є) є* є0 ∙6 ўZ ў[ ў\ ў] ў^ ў_ ў` ўa ўb єc єd є┼ ▀╟ ▀╠ с═ с/ ї ї ї ї ї ї ї ї  ї  ї` ╫a ╫b ╫c ╫o Їp Ўq Ўr Ўs Ўt Ўu їv ъw ъx ъy ъz ъ{ щ| щ} щ~ щ їА їБ їВ їГ їД їЕ їЖ їЗ їИ їЙ їК їк ъл ъм ъ┼ Є╟ Є ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀  ▀  ▀6 ─7 ─ ▀А ▀Б ▀В ▀Г ▀Д ▀Е ▀Ж ▀З ▀И ▀Й ▀К ▀╓█▄ртхkn ▌т  Ш  ╘)$ √ · · ∙ ў √ · є ° √ ш ° √ √ · ў √ · · в ° ╨ и ё ° Ё ю ю ° ╞ ш ▌ щ ╔ √ ┌ ┘ ╪ · ° · √ ° √ √ √ ° √ ∙ ў Ў Ы ∙ ∙ ╙ · в Ё ю ю с Ё ╥ л ў м ╥ · р √ ж ў ╓ з ° Ё я я · ∙ √ ° √ ° ∙ Є Ў · ∙ ї ° ∙ ° ° ╢ Ў ▄ ў в ш Ї є є √ ∙ √ ю ° ў ї Ш ° · ╥ ∙ в я ю ю в ў й ┼ ╡ ║ ╪ л ╔ б ╙ ╟ ї ╦ Ч ї м █ ╨ ч ш ╪ ї с √ ░ ╨ ё ° ╧ ў Ў Ў √ · ф ° ў у ° √ ъ ъ ▌ ч д Ч о Ш Ы ┐ є ╨ ё ╝ ╖ ╖ ю я · є ∙ Ї ╣ ° ф Щ ╒ ∙ ° ў ў √ √ √ · н ┌ о є є Є Є √ √ · Ў · є Ї √ ╤ ╘ ▌ ▄ █ Ў ╪ ╨ ╤ Ї с · э ╥ ╞ Ё ч ё ▀ √ Є № п ╪ · Є ў ў щ ╒ Ї т № ░ ╤ Є ∙ ╘ ў Ў Ў ї ° ∙ ї ° √ Є й щ л ╔ д я е ▓ ў н ╤ д ▒ ╧ ъ Ё л г ц о ╒ ╧ ╘ ╒ Ў · ╘ ∙ ╠ Ў ╔ ┐ · ° ╥ ю є ў Є ╔ с ╨ с ╤ ╝ ╡ ╢ ї ╟ ё ▀ Є р Є ╬ ш ┌ я ╝ ╢ ц у ╔ ▄ · ∙ ╙ ы м ╗ ═ у а Ё ° ў ў ї ╘ ў о ┌ ° Є Ў ∙ ° ─ ъ й ┘ ў ё Ў ї ї · ∙ √ ° √ ° ∙ Є Ў · ∙ ї √ √ ї Є Ё ╘ ╘ ю є ▄ Ё ╘ ф ч Ў ╘ ╥ ╠ ╤ ю ч ╧ ъ я ╝ ╢ Є Ў ╟ э · ╢ ф я Є ┌ Ї Ї ў ё ╝ Ё ў ╝ Ў я ╫ ╝ ╥ ю ё ╪ є є Ў Ё ╡ я Ў ї э ╒ э Ё ╓ Є Є ї я ╢ ю ї ╢ Ї ь ╪ ▐ ╢ ╔ ! #R UnPptjv└o┬╬║╨ч╟щь▀юу∙ $&.01 34"7f$зкT╜└X┬═\J   !#'(+,,-56789!:?@FRRVYZ_`cdnptvz {~КЛТУФвйкм н╢╖╕╣╣║┐└└ ┬├ ─═╬╬╨╘╒╫ ╪х цч%щьююяї Ў  $&* +.0011 34 7BCJKL MYZabd ee ffзийк"╜└┬├──'┼┼(╞╞'╟╟(╚╚#╔╔$╩╩#╦╦$╠═&H   "#'(+-5678=?FGRSTUUVYZ_ `cdnptvz {~КЛФХбвйкм н╕╣╣║═╧╧╨╘╒╫╪хцчщю яї Ў   $&* +.//1235667BCJKLMYZabd efзийклл╜└┬├──"┼┼#╞╞"╟╟#╚╚╔╔ ╩╩╦╦ ╠═! .Т▄ !"#(*=&@D:F`?b└Z┬┬╣─═║╧╒─╫т╦фь╫яєрїхdщщTм▓╕╕╛─╩╨╓F.4:>DN ╞ёU▓─╩Ъ─╩|─╩Ъ─╩ T─╩Ъ─╩ Z─╩▓─╩ `─╩ f─╩ l x r x ~^ К в Ц в Д в К Р Ц в Ь в~в и╢в ию ╓ о ┤ ╓ ║ ║ ╓ └ ю ╞ ╠ ▐╘ ╥╘ ╪╘ ▐┌ ф╘hz ъ\z ъ$** №$* Ё$* №$* Ў$* Ў$* №$*$*$*$*& &,>D8P2D8P>D8P>DJPV╛hz\zbzhntzHflrxTflrxАflrxTflrxЖflrxTflrxМflrxТflrxHflrxTflrx`flrxШЮдк░ЖHl~ЖКЖ╢Ж~╝ц╘╬╘┬╘ц╚╬╘ц┌цPЄрPЄцьЄ~ЬвиКЬви°ЬвиКЬви■ЬвиКЬвиЬви Ьви~ЬвиЬвиЦЬви"4.4.4(4.4:@о╞L╞L╞F╞L╞RjpXjp^jpdjpv─╩|╕╩В─╩И─╩О─╩Ф─╩Ъ╕╩а─╩ж─╩м─╩▓╕╩╛─╩╨ ╓Ї ▄ т ш юЇ ·  *$*0flrxTfNrx6flrx<flrxBflrxHfNrxZflrxHflrxTflrxHfNrxTflrxZflrx`flrx~ЬДиРЬви~ЬвиКЬви~ЬДиКЬвиРЬвиЦЬвио┤║╞└╞Ьо┤До┤fо┤До┤╠о┤До┤╥о┤Ьо┤╪о┤▐о┤фЁъЁ№Ў№ & &╪ЁЎ└ЁЎDЁЎ,ЁЎ└ЁЎJЁЎJЁЎ└ЁЎ2ЁЎ╪ЁЎ8>╪PDP└P╪PJPVTb\TbhtntАtzАЖМШТШдЮдк░╢┬╚ъ╬╝╚ъ╬┬╚ъ╬┬╚╬╘┌HTрTцTHьЄT,JPV\8JPV\°JPV\8JPV\■JPV\8JPV\JPV\ JPV\,JPV\8JPV\DJPV\06$$$("""(.LF@F4FL:@FLRX^jpd|jpd|jpv|bАЖМnАЖМВАЖМnАЖМИАЖМnАЖМОАЖМФАЖМbАЖМЪАЖМzАЖМажм╛╕╛╕╛▓╛╕╛─╩Тк╓к╓к╨к╓к▄Ї·тЇ·шЇ·юЇ· $*06bЖ<BHNTZ`о┤fв┤lо┤rо┤xо┤~о┤Дв┤Ко┤Ро┤Цо┤Ьв┤ио┤║ЁЎ└▐Ў╞ЁЎ╠ЁЎ╥ЁЎ╪▐ЎфЁЎъЁЎ№JPV\8J2V\JPV\ JPV\&JPV\,J2V\>JPV\,JPV\8JPV\,J2V\8JPV\>JPV\DJPV\bАhМtАЖМbАЖМnАЖМbАhМnАЖМtАЖМzАЖМТШЮкдк░Цн╡W█W╣T█▐█5 1╣Ц%n╔▐Цнї█ї╔╣█Цne╔eЦe╣eнe╡°█°╣°■■█■ s╣¤█░█¤ sтnG█╣▐█ s╡╔Ц╖нз█з█Є█▐Є sё▐ 1ё╣   sф▐ф█ф sфn╔Ц╖н█r█rЦr╣rр█р Ц ╣▐█▐╣▐▐▐Цшшn╔■∙,√ў╣їз┌█ |▄╬ ў╣їз┌█∙ |▄╡∙╣ e█e |e▄e\ўїз┌█ |╣▄╡m█щ n█ |╣▄╡█<  █  | ▄ ╡ ╘У╘к╘╘▓h╪h╢h╔█╔╪Ў 1╔╢╔Уцъ└╪ъь▀█▀кСС▀╞▀У▀ VЎV╘ёАV╪V╞V╢VкVУV▓W╪W╢W ██╪█ s┌╪┌_З_йй_АА╪Аё╢ё█ё sё▓ф╞фУч┤фкъЪ╢Ъ█<Ъ╪< s╗█╨ 1╗╢└╗╪└ s╪ИИ╪№╪И sИьЄ╞ЄУї┤ЄкЄ─╪─G╪GУG╢G┐╪┐╞У╞╢┴╪┴╢┴█┴У┴┴ь╪╪╪Д щщ╪щъ╪ъ ~╪~Ш╪Шё╪═╪ё▒ ╘¤╘╞═Ў╘)╘°╘Ї╘╢╘Є╙д╘╫╘╪╘ |╘┘╘I ▀Ї▀╢▀Є▐д▀╫▀╪▀ |▀┘▀▓▀Y$V |V┘VMфЇфЄудф╫ф╪ф |ф╢ф┘ф▓T╪фЩ фьЄ╪Є |Є╢Є┘Є▓╙╪Є ╞╪  |╞┘╞▓    6 !Q_>Q |_ sN 1  "x  &,228>DJPU╪n╪C╪В╪М╪m╪Ф╪к╪  &,28>UУnУC╢В╢М█m╞Ф▓к┘   з╪ 0кDFLT    aalt>fracDligaJlnumPsaltVss01\ss02bss03hss04nss05t  Ltж║╘ш. /0234156t н╣╨яЁk e╪fщ╧/0234156н╣╨яЁВн 01╣b╨ 345яЁ" kО*T`vВё┤jjЁ┤j "г┤rб┤nЯ┤mЮ┤lа┤mд┤rв┤nе┤rж┤rjklmoqfcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/_static/custom.css000066400000000000000000000004061473255640600340140ustar00rootroot00000000000000 div.admonition p.admonition-title { font-size: 14px; } p.last { font-size: 12px; } @font-face { font-family: "Dosis ExtraLight"; src: url("./Dosis-ExtraLight.ttf"); } @font-face { font-family: "Barlow"; src: url("./Barlow-Regular.ttf"); }fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/a_glossary.rst000066400000000000000000000003211473255640600332330ustar00rootroot00000000000000.. _glossary: Glossary ------------ This section contains the main definitions and acronyms used throughout the document. Definitions ~~~~~~~~~~~ Acronyms ~~~~~~~~ :MTG: Meteosat Third Generation fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/automatic_tests.rst000066400000000000000000000035221473255640600343060ustar00rootroot00000000000000.. _automatic_tests: Automatic Tests: Decompression via Command Line Tools and via Python ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section presents the automatic validation tests for the FCIDECOMP software. These tests are run on the project's CI/CD pipelines :ref:`[FCIDECOMP_PIPELINES] <[FCIDECOMP_PIPELINES]>` on EUMETSAT's GitLab instance, on machines provided by EUMETSAT with CentOS 7 64-bit (run in Docker container), Windows 10 64-bit and Windows 10 32-bit, with all requirements described in ":ref:`reference_platform`" satisfied. The tests can also be run on a local machine, provided: - a clone of the FCIDECOMP software GitLab repository :ref:`[FCIDECOMP] <[FCIDECOMP]>` is present on the machine - MTG FCI L1C test data :ref:`[TEST_DATA] <[TEST_DATA]>` are present on the machine at the local path ``$EPCT_TEST_DATA_DIR/MTG/MTGFCIL1``, where ``$EPCT_TEST_DATA_DIR`` is an arbitrary local path - The environment variable ``EPCT_TEST_DATA`` is set equal to the path ``$EPCT_TEST_DATA_DIR`` - pre-requisites described in ":ref:`reference_platform`" are satisfied Once the above requirements are satisfied, automatic tests can be run executing the following command from the root directory of the FICDECOMP software repository: ``pytest -vv`` :Note: The test case descriptions of the automated tests are extracted from the test files themselves. .. _FCIDECOMP.CLI.TC.01.01: FCIDECOMP.CLI.TC.01.01: decompression via command line tools ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. automodule:: test_CLI_TC_01_01 :members: :undoc-members: :show-inheritance: .. _FCIDECOMP.PY.TC.01.01: FCIDECOMP.PY.TC.01.01: decompression via Python ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. automodule:: test_PY_TC_01_01 :members: :undoc-members: :show-inheritance: fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/conf.py000066400000000000000000000235411473255640600316460ustar00rootroot00000000000000# Copyright 2022, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # -*- coding: utf-8 -*- # # Configuration file for the Sphinx documentation builder. # # This file does only contain a selection of the most common options. For a # full list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # import os import sys sys.path.insert(0, os.path.abspath('../../tests')) # -- Project information ----------------------------------------------------- import re project = "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Test Cases and Test Procedures" copyright = ( "2022, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT)" ) author = "B-Open Solutions srl" # The full version, including alpha/beta/rc tags. release = re.sub("^v", "", os.popen("git describe").read().strip()) if "CI_COMMIT_SHORT_SHA" in os.environ: release = os.environ.get("CI_COMMIT_SHORT_SHA") if "CI_COMMIT_TAG" in os.environ: release = os.environ.get("CI_COMMIT_TAG") version = release # -- General configuration --------------------------------------------------- # If your documentation needs a minimal Sphinx version, state it here. # # needs_sphinx = '1.0' # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ "sphinx.ext.autodoc", "sphinx.ext.mathjax", "sphinx.ext.ifconfig", "sphinx.ext.napoleon", "sphinx.ext.doctest", "sphinx.ext.todo", "sphinx.ext.intersphinx", "sphinx.ext.coverage", "sphinx.ext.viewcode", "sphinx.ext.githubpages", "sphinx.ext.autosummary", ] ################################################################### os.environ['FCIDECOMP_VERSION'] = '0.1.0' autodoc_mock_imports = ["cf2cdm", "cfunits", "datetime", "fcidecomp", "glob", "logging", "netCDF4", "numpy", "os", "pkg_resources", "pytest", "validation_tests", "xarray", "yaml"] # Napoleon settings napoleon_google_docstring = True napoleon_numpy_docstring = True napoleon_include_init_with_doc = True napoleon_include_private_with_doc = False napoleon_include_special_with_doc = True napoleon_use_admonition_for_examples = False napoleon_use_admonition_for_notes = False napoleon_use_admonition_for_references = False napoleon_use_ivar = False napoleon_use_param = True napoleon_use_rtype = True ######## # Add any paths that contain templates here, relative to this directory. templates_path = ["_templates"] # The suffix(es) of source filenames. # You can specify multiple suffix as a list of string: # # source_suffix = ['.rst', '.md'] source_suffix = ".rst" # The master toctree document. master_doc = "index" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. # # This is also used if you do content translation via gettext catalogs. # Usually you set "language" from the command line for these cases. language = None # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"] # The name of the Pygments (syntax highlighting) style to use. pygments_style = None # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = "alabaster" # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. # html_theme_options = {"font_family": "Barlow", "head_font_family": "Dosis ExtraLight"} # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["_static"] # Custom sidebar templates, must be a dictionary that maps document names # to template names. # # The default sidebars (for documents that don't match any pattern) are # defined by theme itself. Builtin themes are using these templates by # default: ``['localtoc.html', 'relations.html', 'sourcelink.html', # 'searchbox.html']``. # # html_sidebars = {} html_logo = "images/eumetsat.png" # -- Options for HTMLHelp output --------------------------------------------- # Output file base name for HTML help builder. htmlhelp_basename = "user_guidedoc" # -- Options for LaTeX output ------------------------------------------------ latex_elements = { # The paper size ('letterpaper' or 'a4paper'). # # 'papersize': 'letterpaper', "papersize": "a4paper", "maketitle": r""" \pagenumbering{Roman} %%% to avoid page 1 conflict with actual page 1 \sphinxmaketitle \clearpage \pagenumbering{arabic} """, "preamble": r""" \usepackage{graphicx} \usepackage{background} \usepackage{lscape} \backgroundsetup{ scale=1, color=black, opacity=1, angle=0, position=current page.north, contents={% \small\sffamily% \begin{minipage}{.22\textwidth} \vspace{1.65cm} \hspace{-0.175cm} \includegraphics[width=\linewidth,height=70pt,keepaspectratio]{../../images/eumetsat.png} \end{minipage}% \begin{minipage}{.8\textwidth} \vspace{2cm} \parbox[b]{.6\textwidth}{}\hfill \\ \end{minipage}% } } \usepackage{fancyhdr} \pagestyle{fancy} \fancypagestyle{normal}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/verification-and-validation-test-cases-test-procedures \\ version, \today \\ EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Test Cases and Test Procedures}} \renewcommand{\headrulewidth}{0.5pt} \fancyfoot{} \fancyfoot[C]{\thepage} } \fancypagestyle{plain}{% \fancyhead{} \fancyhead[RE,RO]{\bf{documentation/verification-and-validation-test-cases-test-procedures \\ version, \today \\ EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Test Cases and Test Procedures}} \fancyfoot[CO,CE]{\thepage} } """.replace("version", version), } # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, # author, documentclass [howto, manual, or own class]). latex_documents = [ ( master_doc, "fcidecomp-verification-and-validation-test-cases-test-procedures.tex", "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Test Cases and Test Procedures", "EUMETSAT", "manual", ), ] # -- Options for manual page output ------------------------------------------ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ ( master_doc, "fcidecomp-verification-and-validation-test-cases-test-procedures", "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Test Cases and Test Procedures", [author], 1, ) ] # -- Options for Texinfo output ---------------------------------------------- # Grouping the document tree into Texinfo files. List of tuples # (source start file, target name, title, author, # dir menu entry, description, category) texinfo_documents = [ ( master_doc, "fcidecomp-verification-and-validation-test-cases-test-procedures", "EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification and Validation Test Cases and Test Procedures", author, "fcidecomp-verification-and-validation-test-cases-test-procedures", "One line description of project.", "Miscellaneous", ), ] # -- Options for Epub output ------------------------------------------------- # Bibliographic Dublin Core info. epub_title = project # The unique identifier of the text. This can be a ISBN number # or the project homepage. # # epub_identifier = '' # A unique identification for the text. # # epub_uid = '' # A list of files that should not be packed into the epub file. epub_exclude_files = ["search.html"] numfig = True # -- Extension configuration ------------------------------------------------- def setup(app): app.add_css_file("custom.css") fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/document_info.rst000066400000000000000000000030321473255640600337230ustar00rootroot00000000000000Document Information ==================== +---------------------------+----------------------------------------------------------------------------------+ | Doc. id : | fcidecomp/project-docs/verification-validation-test-cases-test-procedures | +---------------------------+----------------------------------------------------------------------------------+ | External version : | |version| | +---------------------------+----------------------------------------------------------------------------------+ | Author : | M\. Bottaccio, M\. Cucchi (B-Open Solutions srl) | +---------------------------+----------------------------------------------------------------------------------+ Document Change Record ---------------------- .. table:: :class: longtable :widths: 10 15 10 55 ============= ================================ ========== ============================================================================================================= Version Version Date DCR\* No. Description of Changes 2.0.0-rc1 21-03-2022 Initial issue, prepared under contract EUM/SEP/WPD/21/1244304 by B-Open Solutions srl. ============= ================================ ========== ============================================================================================================= ***\*DCR = Document Change Request*** fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/images/000077500000000000000000000000001473255640600316075ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/images/eumetsat.png000066400000000000000000000311551473255640600341510ustar00rootroot00000000000000ЙPNG  IHDR╞@ArШ IDATxэ}i┤]GuцWu╞;╝Q│,O╪▓Е-уIЄД'l3ЪЪД┘аcРtЪ&!4+щмРР,ТIў :Э╥4 ─ NlГ ╞`└╪▓e╦єИeY├╙ЁЇ▐}ўЮ▒кz}╗юХхIOy`▒┤╓=Zў▌щ▄sкvэё█╗╢Фs╬ax )0д└3(аЯёn°fHБ!ДC┴2┬Р╧CБб`<QЖ )0М! )Ё< ╞єe°╤РC┴Є└Р╧CБб`<QЖ )╛8$(╫Ч9fItчмS╨PГ╠Йspиа┤ъГ╧№▌P^_Ьu^ї`)ЁвF]aГ[gсмБ░ ░D ,а╡ВV~╞~н┤ ■`g0Ў(\|▐Y8ядЧ№"i2╝ўРXШ`8а6╡─ :P`Xmа╙│°╔]ўb╫lзА┌YTd| ╢FYЦ(╩uaРч9КкFf*dEЙ┬╘(╩YYртП└√пxF# б{Ue]│0ьc╜є:ы xdr уА&Йю╠лИ'NC╬Е'Є░8╨pЄЮ▀sГs№Щ╞(MзQЙЛ╚kЖP2 0A;╕╧┼ф°ЎЛ╗№· Th■Ъу▓░жBЁюJ└ ║и┌4<╪7C8┬yA▀╓Єs <┬¤т╗┬A%╩O╪√№I╖}.нбt║╛JиAЪ(ШZ!▄>фэd╝з  йЇ╟─╣╦фЎY?╛фBhаок°╥Z╘Aь╬"рНeЎ<═╩їq ░╝$╩SЩ&Р╪Vї╫|└/|С ЖO60~░░ё╙эSxшБЯв╢t┴j ├I╓5▓┌ак*Ї╩yePd╒>┴ш╒%Є▓B^W√Cugq┬╤+ёё]ЙхM"*TBДИцбЛы39GFВD:Ф#ЩКЛ ВБC╨ЗНфсrР┴╚╜°╣Vj▀y√╗╧7╠KV%K{╞свУё7В №ўЇA^у┴▀9a╢ЦZГЯЕz▀g╡3г=;з├╣PР jшч$A=3ї╩ IФЇКвM@Ш╪8#Яя?&╣∙│ 8ОхiX}0 ▐ЯА?8Ogм0с`╢вяМкДЙjU!айа08  ╠▀У9╔ШdШРч "рХЬтщХ_▀Тr|ц╣ ё∙.│0┴ртPє╢lЯ╞жAЮ╫ШX┤aТвнщV(╔Mв▒4L о4LаыU ╝fН п╕°MШ8├Ж█o╟л╬>┘SГtч∙∙&ЄМ╧*яU0│кX╛ mт╡9пФЄЩht╟{ЛкЧevL@*j$о▄╙М╠╡▄зИ╕╞Є жцЩ┘ЇЕ┬Б.ж▐Зо╤═сD├╬]ў] { ▌▒hвт_*г<│ЁzтЮ╓Ї(Я^hОРoj?\zNd4~Кт)c*З(в+ё┬^▄АЖU╒CУn╬3лД~)"╛яУИ┬MУдDш╔Оw╫+╬i ▐Э▓и ZЖH~├ RЖюjЁ▓%рRo№~2ЬвP9п╝Г}ЮgZTz ╝ЯvБ║у▄Я╢■╧є│g|┤0┴7 ╞l╧р▐AзS`ё╥хт.НООв{эXVF4▌й║PBх╦CшSGУh|Ё}╨WU1Лvв╙┘ЛШ< ╝├I╥ "╡Юf╪g╠ж Ж№hЛ:Ў╙│╢F@S*5Y╘▒╝` \╪╛KEa╫!їеХекro┼┬╪╦ ┐aтrЯ+сM║еыу(зби∙Oфb*8M╟MfЛ┌╤rЙNюЗ}╖@ДИc"чRрX[FKya!Г╤g╫Їёy'щ5▓CяOИA}4 зкАXb 3┴╛№рЩ╧axWР&$фє╤@й=╞╬ЯQСЇЯ¤ а,k▒√[HоХВТ─дПё┐эпy]хИ"╞b┤╛"б╛R╠{ёюTМ╬WH╠3~▒H┬ONrZо!┤еvС?s╬╧~╖ ┴░:ВS w▌ў╢Mэ┼╪теB¤v3Eи Т4Х(2PXЦbYВ└Йы}Oю~t╧#▀╖"[dX║Ї8ъдЗ║АОX[Bif=pшЪ─<ЗH╠!оСюЭJЬўХ)Ф▐%р▌)8С╕a№Ї}и╤8DLBJ Cцт54м ╝л|╨hз┤и┤┤▐j14T$iЪ27"яТp&Jjї8 рT"УSA("l-УЯМ{JДМEP@QkS█К|ш Ё▓H║JВvQ:Л-E└НЄ╨пO{! ╓H╝PяРАЫ<\AQ$г┼е7;тW╥-м"5╡CСF^Й8*3ВЪ,OБя+▄д%нЪ╕Кd┼HтЛ8д4;бЙ─л╔Ди·q[мyЭСзпbЬ(г8МdХ%╢█╧т╛╨U$FkLMgxшё═@╪Ф╔═╬╬bb╒T┘,К(АК,*ыP'╚М▒DБ╕HнGДиDЛPAў_sаБн┴Z}ъ╪ `D)$Q SH√VрЕ&─╧kг┼B0gFlЙА ~у╔NЦЎЎ'пйQ}8╦ёQ!хї║лШx┤Hтб°R K[(<╞╟%tЩ*еCгЙ╝й~ЁЩх%-╤Г"Ж"zеБT╞D еU ╘^ОDщsБj"К4B$Tи║Е,/Р$ЙA╞░Ь ё▒XЙd_░Z╘Рё╫К╠┴▒╪bИlПy└Р2╤┤▐bЄє╨#duцдD]°TR9ДСЦэ~ТW?,*ep╞▒kЇr@ЇOТ чВЖy┼╔c╠┘н╨hQИ№<5ш√Fw:вKн╪h_Ь╖ЯwyаKЇ#ФЮЄ▄/ozЁAФ╡C(К Iд╤ЭЩA#f║ё!Н╒(КUeЭвР╨З▐_п∙╠Г╧ ╨Т╓(╛√Г ╪╕ёnш▓ЛvTу№sN╟╦╧<эY@щs╟g┬▌ ╕■·[1╫╦&MФЇ▒├ХТ╨в╬3й█rоF+ЬrЄIXsтB∙п|ї{иMЕfв(цЁТгWс╝їз√КaA\bФ╡╞m?║█ЮЬF╞(к9┤'B╝ъ╒б┘К°Ў ?DЦ╫°R;jаЧ╕№їЧ"И╕└^ГТIL\wэН╪M╔T1с▐▓Зеcxх% &╘ аkАЫxvNэBзB_·╥ riбxMjщв&лY,^<Й /9?4Е√я┐жЎщ╣ФєЯx1ж█eAз▌Кqъ╔k▒zїr19"№tє46▐■0║я)ь▐;лkМ-nb╤╥Q╝|їRм^}<Ц,ЫЇАAeУШ@xН>=SсЪkn@7+з сС╔%Kp┼хg{!p└L╟р;7▐М,я╗гд·Ъу&щ9с│О?з╛ь$д▒ўl}Ах∙ь~║яуY в$ў>ЇTL,╒@3HВfrН.ЪhYfP╣ б┌┌а45*Уг╥╠~QФ└мsВ2Ф%єdТ╙I╞╟s╗ЎxAВAKЧ╪<√Ьyцщє F\╜*╟G>Ў9qуt╤@ЭFИv┘"аМ3аИGmДuБ╨n├╖■х│`шаВ ┐∙╗WбЩ╖С╟9ФНp╓╣╦q═╦OvЪШWНЯ∙ЗятGw<КС┘▌6}ш3Ч_и╩$╪Н┐Є╔╧#▓G└Ъiдї(:н.F╩╛w╥)XuтR4┼us╚а1╡e/>Ё▒k1;Zв╡+ДЮиБвЕ░5Н╟~r┴╛√'╨°Э?╛;╖N#R]T▌╪н═дfкС=P╢ Э╟Иь оx )╕фU'у_o▌А┐№╘═ш╤Иц2┤т d6GЎ╫═вg'▒sll╘┴▓╬ P╜зp▌ППЕQvnэсЯ■~p¤ПСЛQФ\ф`в ╓ в! ╨p└%чп╟o ╞;Ё▓УузY╣дbъ ├╖п▌КO¤╬НШkЎрВЖА"═bЧ^pVМv┌╜О┴o|Ї_▒╗a╣Йю"*и├YХ!HcX╞ОЕFПбьu1^Лnt?■ЁO▐Кїы╓@1╟дш■╒╝b5P√dфр_LэЮKрГъ╩√qu-┴wЩWшd=╠х▓,CСТ┤гх t[х╡а@;vяТ┌@!╧ ╤p┤╝цDЮa▓╩1Ц═aСй1I▄╛3Гjzz3Q:╨hщw╙ы╤qN╡рв*·╕c@СB4┌m│╘t9N?k-VЯ8*ююБо{░▀╤№s ╗w╬КыBME°Ъ╚ !X[;|├=√ШЕeў╘Б▀■сЭтЧ6DШ─░╣Г╔k╘yЕЭ{─╤7Ф┌╠кe┼фиГ SXе6"╕иЖю%P6АU9тЗ °ц7"@М8РЖ1F╤F┌UhVMиоF\╡╫-DUЙEфЩ 1ZОCя╬qю∙ы░·╚уЁ°fЛ╖┐хS╕х·█СЖуs8ЕAhА8╙hdMд∙(вrQ8Жып╗_°ч╧Б0,TЕ*ыЛепМ |їы╫аО ╥н БJ2╟╕ю;╖вFSФ6Дэ╓hгНСj ёЮ&lH▌┌XКд7Кf5Ж4KбўфhыY╛УЛ"\zсy^PлJ<q&Є╪■`W{┐є╢m▀!хеоaUИ RPY!ж╛о║HгўY╞╩╥Н▓(kГ┬T(ЙN0kЖb-:▌ =╞"e ║6~у+▒|bЩ+пj╪@ Тб╗=,k╪М╩0┼иPY&Ў"D6F>7ЕF[├┼{╨╩╟PdЇXfёб gIкS%█ЯK┘╗wy╢l▐ m"ЄВИ╪~ЙИ▐kс║Ыя╞Хя╛DЦЙБ7Л,┐■э█Б8Ж╬rБUM$Н~YДй╙8r|Ь2p╢фi╨═к Б2D>╗ УG╓шOaдZО╥їаRГK/YП3NY B QAх3И╚02>Йщ'жб'╟6b8V&LыIL$ЛP╓FЧh|°╫▐(▀я ┴ч▒∙╤╢щ▌Ск7Н▒┼)ТЦA╘H▒wк+┬l]А▐▄╜ц№ц╟оДЦ░╣B╘lБЙи*щaєц6▄Гм╔дчбаЩ 2_·чясЭo>WE╒AsYН╜nмОС╢ кдЙ▐Tq{Б `Є н▒╬╬uБxeИW┐ъ,м\▄ЁаJ╘Ф`╔x▓█ПйЯїrAо╘ЇЮnU5о(2и.Й¤0щgсЯйдW╚Т·╜5д4Т╠ff╨┴O╖oE│▌F▐ЩЕ-╔4Ч]p.∙ЩЭGY╚GyЧПF0╩ы√Ё╧Ъ╦╛╖d@╧щ╠╩zДfty┐√бwрхп]Г▒▓ЙВcш╨nk,╒И@WПх ■~╓ГA#░cы ┤'Гїy┘A8╥F=[сОMOp %qШв;[у╬{ЮD]жHужЄ(ЬСЭР!жvvА5+Ya)Гh^GбBЪZЬu┴)°єO]БEН6J&╤ВеЩ├СK╟аъ.В0└я;\╛ L┬╕ yс?¤П╪╕i3Є*ГЭ`)7|ч/╤Ы7 ┤В╟?ЙG╢Mужя▐Ы,БkЕ(╦FЦ[№ї▀|чЯsДTЮd9░щ'[ёO╫▄Ко╜ °▀KG5┴ t,╣╣·_nCнRФtы*┼$+*хЁЁ▌█ЁфVЛгЧЦx╔╤г°ЄW~U3Bh5в▓┬ЧozЯ√лпIЬH┐:tя∙╡╫уЄW┐ kQX`эZ║йЇы·k╔єTИ\B|ПЪhХ$3Y&░ЪеЎВBйB)SpeНТ┴│л╜▀Gд┬I>1┘WЪ UYA╟╢ю╪БFлЕм*aлоштМ5лёо7Ь s`оDЇ)Сжl·X╝LЇ└и]ЮaкQФ"pLoVМм]1Ва*А0Р _ы2─ Кэ╕"┘№▀1Rв█;╜3У╥AI╚м╚б ]╗{wх╪╕щ Ьy·`-╒6lBw╞!╥ ╦iu╪&Шpмa▒kк'ЛLЧм.,\R╞!ъ╝Г─┼8їш&┤aВМ0o .С\┤p#ЦНжHG┤° СnвBНf SЎ$╧!Tb═1cОбЎЩED┤Ю┌╝FЗш5шкё зЮ▒ыO;-ц]lQ`q┴┘Л▒■▄7# фы1╓К% Z>&я╕v ш"┴Ч╛rГp)┴▒h/I╤▌Ы┴jЛl┌тжяn└пX╟Ї?╬zщ2а╗I@ ─[╢гм║PHбcФ%VЯ░gмЩD╚-╥Бч╔Зи╨ч┤R╧ъ╦Ёц░рБ▓и╤+j╤■м}Т:з╩ ╦+Б{eНвиСў╧╦кZ ∙;&¤К║Ца)ыцш╬╠┬Х^▓l >Ё╓7cФиK]·=ТФвVд╞ї┼{мeЪяpеУ╠М6s)l╕Xа.¤5(Д+у▒|a┐\СдЯї`¤y█ЎiqiA)дУ╟L┬ft ▓!о┐∙n╓ер\w╙OыA└d]4ЧдилЖ╣`╫ЎY┼╥ НB0▒LЬVЩ╕Wi▄Аб·TЇ═ЛўДY┐Bц╧а└╕к╨`EА╪wа╩╘╢╨╥ИVu╔nБ─ t┘╚╔БMСў\┴╝ЙFмту▀╗q3n°Ў#╪3┬щ1шp░ ┤3М╖TщЕY┤ ы╡FА╓r [Ю╪ ЗHъугзп;RP║Ъnx#┴UWХ У шРШ╩E@/ВлjдeAС┬ЎT∙Ь(r╔OQR┘J6Ю 8б@L*К+{ |░ЇМK▒▄гиJш E`2ц|├┘VЯgА═║%╨л╘єPєI1a_а╩ ╝д╡| >Є■+░D й═[■~5-Х;╜TC№ ёаВЇ#zцE╗╚а-РDMzW}ы.▄ё╘vа(4Фy'п^Йў╛хbaв2╧╤ ▐№3м г╛}jє6Я│QFr!ы╧YЗы┐q l╓A ЎПю╟'■ы@^7▀■иoХgHSЕ╡gЮА█n╝ЦЙQD╪╢}П@е─ўЩcл]ХJZ╡Ёрc№┴Я}6g@ё╣Ю┼∙э╖aм Б,╔а┌08щ╫eа`2▒╨░│шХXC┼фb─╤Р╟RС{▄qKО[еБ-;И┬║╗~ыcЙxд─Й'н└║╙^ЖЛ/║gЯ9.s!L*кИAджzгaЁ┼/▌ т·:╥h╬е8√╥уЁК╫ЮЖ ▀┐9cє░ЕM=ЕMПm├╟мР*г6╔A░тдtИm"ё-sЛ|РядвБиK═№U"▒-╖O╟:Жf┼/└в═Гр·Г8х╣\╥|1╤D$КИK▌п#2*МEZB▌IF╓8Л╥║н$1╞,05тXлН_} {▒дM▀з4E A Х╚б$йXN@nИ91┌у∙ьл*мC╥H╤ы╒0.DQ5Ё╜ЫFvч}hШ6╩вЗ(58g▌KЁО╖^ ЄШdl>щsз}╨Я *_wю╪-К┴▒·6╓8їЇ╡╕ёЪ█dm"╕√Ю╟0╫Юzъ)<№ш6М╕ШXc╤У8єьS▒ёG#C]ь┌1▌/▌bЦЛ-З*╕╪въ╒Г[этп ■;И│QdiIнб╙i╝єгп╞Hбб[n&'▒╨√┘╠шт╘IА╩e╪a kйъ" VЬ}╘(╬║шd▄|├у╨эЮ└┤Q:К^`f╞af╙▄rч7ёчw NX╓─п~рЧЁоw]И╡$eн5rkg*▄Ї═█Qs;B╒├H╤─┼чн├ygSU░К0~В^ ▄t√Э8си╦СFTнмAуР{x ╩.lиfKиА)G╤╠f╩Z▒]нkfr╔IЙ0c■е\Р`,M%G1Ухe∙G9Г$ ╨3Д╫"д╡CЪРёЩи─Ч╧нF╖╓иY╘W√ ╦М;▌.~уў T{Г2СЮ╨и+┤UИЮu0НD╗&ъ■чя■7мZ╕p@Ъ╨[0жЖС┬┼HЁ▐fтCя3▐°▐ 0Rf c╟1QУ УT,┌╤┬РМSг7`еЦ█"N╔╢*Бнj)oлё╔▄JY╦ъ▌-ГWь;wLCЄJRRO╘.├шxИ╦^y&■т a▄Ж*C№x├&l}j+╞еГJ╥╥8єЬcpыэ╘КvCr!{w╧╔&пV┬zдQшjnzщ▌┬О=u╛ЄўЯВFUа1X- м\NMm$WРp-юf╕?╧╤/3ЧШFрЄaеpьТ№'чууЇ №р{рюНПр╬ wу╬{╒▄(Ъ╔┤щ└N:Їfc|уKwруx+tФуз█+▄▓ёqдIД╣щI:Ж╓╪*№у Sg`й !¤╚еиУZ,▐u ·cЬ■╤╫#рn>╓жIхё∙Й+цъ╘╢Р-пa!Кй╚Z╕·ъ █IsфI╗$C5СгWЦ╨═Qй┘кm.є2╠С1Ю|tю╝g;Ь-╓пШg¤_/H0иvVМжx═ЕganчУY,XPI"-rX╪┼Ао7╗Й*▒д|ь╩wу▄╙╓`Фf┘0А %Рe0√ьG└ДT?#DИ7╘,аP╨═Щ▀GНhЩО╔╢NцtЛ]Ц]╟dn·i°а▄ЯоСш&@Н╪0ИЪ>╗Ly█╬▄u Ї$цiбЛ?║k+Юxrзь╤а36╟Q╟,эяG0╡}╖дгjmQ┌Jv─Н&M(cёЪ╦╬@U╠╔.3X║oДО;ИВчп?t▄F ┬▐!O"qvLM√║#G╘о Х▒┘@$┼ЧЕ 0║╖ PgQcОuВ ╪C╨c░│b>s╤O╦╛ л┤╛H┼m■╙╧~їЕ[1▌5`%J-e─▄Б[█[ЯТ└╪╓й╬a╒ЪQD рО{╢сЙGзQ5┼r[#4sЛdoнMйX[└Г┬Zb╓╩SШ┐г╫·ёДq√I&F>ерEх┤sЭ┴4╕=u'М╥▓1&Au`Дх%5ZИ╩&итsf6$PKA4X╖╛Н▀√╠╗1╣иBnw╚^Г┬Ж╚ЪХе█4 П╔>j╒▌ГгПiуo>¤!Ьw|елQ└}[v jд│mш<┬тE)f╪е#Ю%№ъ╫Ь;╫ГоЪ╨ХЦЛ^s"║d╔`/fL.Oс▓)Ц└ЩПlc║╪еАд╡ К∙Щ╝-┼Вж9уЩЩ:Е■╣ОQ╗Ek; ▌`оF╬@14╓Ш▒pQО:▄%╒┐ХrИ▓╢fлlШ╬А╗є^┤Ц▓t`╡AC%hх▄╧╥D╜EЎ6зРПьFаfЁ╢wЭВп¤пПбaАo▌°8▐; ╗$DЬЕhЎ №Є█_Г▌%╣bLD░эТ^nщz√/A╪ьв(z0Н│qИ/|¤┌Q(L#7+Pк]H4БгчРЫ░_l╩=Я?√▒ Л┴^▄╦!z∙N;ёx|ф╩ўтя╛°Ut З╖╛э]mу┴й.ЬafЦ°│ТАЦ┴▄р╡ Я╪*ИнfЬя вєiм\╣qв( i т√═/╝V жw9Ь║цXLўLDнk█Qэ6ZшХ╛ы x+YЖ╒╦Ag`¤в`яyч:м=єH\¤═Н°Ўїё─}█ЫTкu│цу`fc┘кХx╙ы▐Д╖┐х╡x╔Q бь╗`▐ШМcм\ъ`WF0eНУО\МQ╟J╨IЮ]r╬щ╕~эн╚YEл5╞╟с╘уY╩╝IНvЬ╛fюмvHYМуйA┬К╝t┼j╘S;аг1#╦P╫sТяИ]Щ▐fеIывш`м╜ fh.бУ2Ў2└qKЦcч╩=▓Ш╣╟-lk─=цUvY╘Ёх· n╗ыI| {╖уцЫ┴он;Счв ёНрЬ├q'ЯА3╓ЯЖ7┐{ N?j9"tP╫ ║ыЬz▄╤Ш┘^г╜tсшЬsЎ▒eо╫ЇР▓╚yQ"Ic╝ю▓гЁ┘Uу(╘╩В▄в░эбeЪoь┬┌ЦвGd╧жh6[Ш╨▄lLFъ7гоZ°Я5\глB~.╦L0~о!Y|ю ■ ~░qУьgv▄jщ┘╜╟Eb ,u▓¤╛C▄$аЙO3╚д┴JЙЄп╝цм_┐ЛM°·Аь╢с|╫щК~А9;ьБ┬(ff─г▄└я]хБyд;FqdЖTтK╓щю'l╒ЕVУТ[б'Q ь+{r─СF═ЄСзKnдб6░uО !P·▐╝ ╚,Р7(+4┘Єдd-Xyfї╟@ў2ъ╗Р╥ЪCkщ┬╖▒Ъи┼)═ЮBзСДУтq>RЦ╥░▒@▀·К$╕kFИЩKЖЬзїfПм┘Ю╠фЫ┐■АFТ-F│и║9вf[ИEгOЛ(CЕ&х`DTдГ ╟╚=0R╝_╧▒A║&BбB42а■сy∙/!G┴Ёmw*KEJlР╣┘F!чТ6!П█╪ьA6)Ёf■ЪЬKЁe├X_Ї│  йл'G╤ g V▓Ї░FыоG╖сж▐ВНЫA╫▒Ф9Сь1┐P+d,й(sDбBвнььП\x╬z╝ЄвЛqь╨h°HД╒┤lцПБ┼,▀ M╛т╞b┐[М\г Tьв+╔;v!dОЫД╘Є▀и~WЛ}1)╣YvЎР┌╥7OтоTp├сW▐Ыьaa╪ЮЗЭKT|·В7ы▒Wг╘ r▌пЙЫ┤Нм№>$ЮejтC2i┴Х93ЬКUЕ$╔J╠k!]RO6? ├A[&3╔°ДQqедm╤ ▓FмB?ю>∙(ф"щ(┌ОЭ J╘I Т.4Q WеJСТP░Oс╬╒вк╣Ч╛-Ь;╩ ┼ДЙ╔Z`ъ2b9}Йx L╓°╣░щп┬d!h_ыK╠А╖сг{В&К0 XВ╗ Т~б"5с╧x,H0╚╥╜П╙к╩╩·RqйrЇZс╔йю╝ i╚╢e╦6dY╩╠Еf3┼фXлV.├║У_К3╓о┴"v╬и!┘mоSmJiкр{qpж¤Ў4╥┬цЕgNvн╚Г╢МГl)59 IfаdЁDб8 ╔пб╝g═╧м┤Сqь:B╞,┬@(Ji╝+^Ио╠a3■ЪоўZ╚&|ЛлР╞▒)╗э╔┴ДўЮ╓▀╫─ХСy╦ўф^.4╟╞6::v╜р4╚$RГф+7ВъЬA3V _┘j█$~U* Gs┬FТх'AXmP"e;E░DЕ$Йд Od╤! е7оМл?vrРMUt[KPHс_Км╥ЇPeC;ш└╚xТ¤tiIe╫%I\!d▒#Хо2(Л9─iKrd!;┼HgB_╜mrnЙ&)fTЄN╣л╤Шз=РLrЮ?  [∙ЦЦ╝6УWм╒ё╗J░╛╟УЫ( [эp∙`ЛбЭшQ╧4нв╜Л└№j│Vh.+∙▀Ш╕<еп#╟р~¤╖╧z*еsэ/рўСa$╣ Ўе%sx^у яЮ \╚$]JЯaf╧еЪdП│`6:Ц╓,ЮQ№═∙эри0+╣▒HP╚Лi╥ш╖╟д}еЎdЎ├g█Y D"╨Ў╓тD╨кqk┤oG#уўеF┴2j╫Рё√√УhL7ТКь9╦=ХX8& ┘{Чп╟╛L<╪UKJqd;чЕCТАВZ∙k▒╗Л┤ъ╗4№5╧iИeу┴╒хў~@4,Ц=о─║B║▓ v (йЕаVM|,■ТF╘;BS^Я▓UxYїG┤3╛▀07+▒ШС │ыt╜їgп-:Q№Ю▒Ж╖@~` √╗ ┴РQP{p4Фtge#N,=Я╪╚Щy2/R6╓bЩ│'6[шД▓'Ь^Шgз}ыx╜кЖУЎР\╤uЮ╜%░їэwцН1·J╓3╗J▐RМуf┐0z)}╧fЁ∙АД,ечN║╛\ №ыш╛єЯ╙бЇехеэ │фв■ЎM║t!╕ ┴╦Ъ╨ДфРFЗ╩·▀│бZ_Hyя┴ыAci╛чГўцXд}gЯ╦°Ъэ,┘ Э#%%╜C┼nш╛-еиz]}=BЛ($▀яЪ№ПD);'T┌ yYрГ╜лrщчхЩM<.Z"i╤:а╟╞┼є▌═Зp╠<Ч╛?╗─°f═МBШвFH7С╫я%╦+Q∙ЙRхеxЇiH▌·DVbUЗаЇєл@р▀─чЄ√Тa4╡? ╤lrМ] __+V9°{ IaЪ╖(д_qПOв╪БЛ П╒╥¤ оn?R-фхc!╖■fHБ├З}q<|<щРЗВC┴8T▐у░г└P0╗%°PP`(ЗВ╩├{v ╞a╖d├ уPPyxП├ОC┴8ьЦl8рCAБб` *яq╪Q`(З▌Т |((0МCAхс=; у░[▓сАЖВq(и<╝╟aGБб`vK6Ёба└P0ХЗў8ь(0М├n╔Ж>° g▌╔╢є{├МIENDоB`Вfcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/index.rst000066400000000000000000000007551473255640600322120ustar00rootroot00000000000000.. verification_validation_plan documentation master file EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification & Validation Plan - Test Cases & Test Procedures ================================================================================================================================================ .. toctree:: :maxdepth: 3 document_info introduction organization_of_test_cases test_cases_and_procedures a_glossary fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/introduction.rst000066400000000000000000000064121473255640600336200ustar00rootroot00000000000000.. _introduction: Introduction ------------ Purpose ~~~~~~~ The document details the V&V Test Cases and Test Procedures for the Work Package 'Support to CharLS decompression for MTG users' in the context of the EUMETSAT Data Tailor Web Service. Scope ~~~~~ Objective of this document is indicate the procedures to validate the ability of the FCIDECOMP software to decompress FCI L1c NRT data, meeting the goals defined in the :ref:`Verification & Validation Plan <[FCIDECOMP_VV]>`. These aim to verify a working installation of the EUMETSAT FCIDECOMP software and its ability to decompress FCI L1c NRT data via selected CLI tools, Python, the EUMETSAT Data Tailor Software and selected Java Software. It is addressed at: - developers/quality manager, to support them in the internal V&V process, - EUMETSAT officers in charge of the validation of the software. Applicable Documents ~~~~~~~~~~~~~~~~~~~~ .. list-table:: Applicable documents. :header-rows: 1 :widths: 25 35 40 * - # - Title - Reference * - [FCIDECOMP_VCD] .. _[FCIDECOMP_VCD]: - EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification Control Document - `fcidecomp/documentation/verification-validation-plan-test-case-procedures/FCIDECOMP_VCD.xlsx <../../../verification-validation-test-cases-test-procedures/FCIDECOMP_VCD.xlsx>`_ * - [FCIDECOMP_VV] .. _[FCIDECOMP_VV]: - EUMETSAT Data Tailor Web Service - Support to CharLS decompression for MTG users - Verification & Validation Plan - `fcidecomp/documentation/verification-validation-plan <../../../verification-validation-plan/_build/html/index.html>`_ * - [FCIDECOMP_WP] .. _[FCIDECOMP_WP]: - Support to CharLS decompression for MTG users - Work package description - EUM/SEP/WPD/21/1244304 Reference Documents ~~~~~~~~~~~~~~~~~~~ .. list-table:: Reference documents. :header-rows: 1 :class: longtable :widths: 23 42 35 * - # - Title - Reference * - [EPCT_MTG] .. _[EPCT_MTG]: - ``epct_plugin_mtg`` software GitLab repository - `https://gitlab.eumetsat.int/data-tailor/epct_plugin_mtg/-/blob/development/ `_ * - [FCIDECOMP] .. _[FCIDECOMP]: - FCIDECOMP software GitLab repository - `https://gitlab.eumetsat.int/sepdssme/fcidecomp/fcidecomp/-/tree/development `_ * - [FCIDECOMP_DEP_OFF] .. _[FCIDECOMP_DEP_OFF]: - FCIDECOMP Softwre offline dependencies repository - `https://gitlab.eumetsat.int/sepdssme/fcidecomp/offline-dependencies/-/tree/development `_ * - [FCIDECOMP_PIPELINES] .. _[FCIDECOMP_PIPELINES]: - FCIDECOMP project's CI/CD pipelines - `https://gitlab.eumetsat.int/sepdssme/fcidecomp/fcidecomp/-/pipelines `_ * - [TEST_DATA] .. _[TEST_DATA]: - MTG FCI L1C test data - `https://gitlab.eumetsat.int/data-tailor/epct-test-data/-/tree/development/MTG/MTGFCIL1 `_ fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-procedures/manual_tests.rst000066400000000000000000000163721473255640600336040ustar00rootroot00000000000000Manual Tests: Decompression via Java software and via the EUMETSAT Data Tailor software, and installation with offline dependencies repository ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This section describes the test cases and procedures to validate: - Opening and inspection of a JPEG-LS compressed MTG FCI L1C product via Panoply (reference Java software) - Decompression of a JPEG-LS compressed MTG FCI L1C product via the EUMETSAT Data Tailor software - Installation of the FCIDECOMP software without a connection to Internet (uses the offline dependencies repository :ref:`[FCIDECOMP_DEP_OFF] <[FCIDECOMP_DEP_OFF]>` hosted at EUMETSAT GitLab) .. _test_data: Tests reported in this section use the following MTG FCI L1C test data files :ref:`[TEST_DATA] <[TEST_DATA]>`: .. list-table:: Test data :header-rows: 1 :widths: 10 20 70 * - ID - Description - File name * - TD. COMP. 01 - JPEG-LS compressed MTG FCI L1C body file - W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--DIS-NC4E_C_EUMT_20200405000845 _GTT_DEV_20200405000330_20200405000345_N_JLS_T_0001_0015.nc * - TD.DE COMP. 01 - Decompressed MTG FCI L1C body file - W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---NC4E_C_EUMT_20200405000845 _GTT_DEV_20200405000330_20200405000345_N__T_0001_0015.nc .. _FCIDECOMP.JAVA.TC.01.01: FCIDECOMP.JAVA.TC.01.01: decompression via Java software ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 0 :widths: 20 80 * - Goal - Validate the ability to open JPEG-LS compressed MTG FCI L1C products with Panoply * - Input data - TD.COMP.01 * - Pass/Fail criteria - Data contained in the TD.COMP.01 file can be plotted with Panoply .. _FCIDECOMP.JAVA.TP.01.01: FCIDECOMP.JAVA.TP.01.01: decompression via Java software ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. list-table:: :header-rows: 1 :widths: 10 55 35 * - ID - Description - Expected output * - 0. - Configure Panoply to use the netCDF4-C library, following instructions reported in the README file hosted in the FCIDECOMP software GitLab repository :ref:`[FCIDECOMP] <[FCIDECOMP]>` - \- * - 1. - Open TD.COMP.01 in Panoply and create a plot using the ``/data/ir_105/measured/effective_radiance`` variable - Plot is generated .. _FCIDECOMP.DT.TC.01.01: FCIDECOMP.DT.TC.01.01: decompression via the EUMETSAT Data Tailor software ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 0 :widths: 20 80 * - Goal - Validate the ability to decompress JPEG-LS compressed MTG FCI L1C products using the EUMETSAT Data Tailor software * - Input data - TD.COMP.01 * - Pass/Fail criteria - The ``epct_plugin_mtg`` plugin is correctly installed The plugin successfully generates a decompressed netCDF output product .. _FCIDECOMP.DT.TP.01.01: FCIDECOMP.DT.TP.01.01: decompression via the EUMETSAT Data Tailor software ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. list-table:: :header-rows: 1 :widths: 5 50 45 * - ID - Description - Expected output * - 0. - Install the ``epct`` and ``epct_plugin_mtg`` packages as described in the README file hosted in the ``epct_plugin_mtg`` software GitLab repository :ref:`[EPCT_MTG] <[EPCT_MTG]>` Check the ``epct_plugin_mtg`` si correctly installed, running the command: ``epct info`` - The output of the command reports ``epct_mtg`` under the ``registered_backends`` key * - 1. - Decompress the TD.COMP.01 file. To do so, open a ``python`` terminal and run the following lines: .. code-block:: >>> from epct import api >>> chain_config = {"product": "MTGFCIL1", "format": "netcdf4_satellite"} >>> api.run_chain(["$COMPRESSED_PRODUCT"], chain_config=chain_config, target_dir="$OUTPUT_DIR") where * ``$OUTPUT_DIR`` is the path to the directory where the decompressed file will be written, which should be different from the directory containing TD.COMP.01 * ``$COMPRESSED_PRODUCT`` is the path to TD.COMP.01 - The output of the command reports ``*** STOP PROCESSING - Status DONE ***`` * - 2. - Check that the output product is actually decompressed, running in the terminal the command: ``ncdump -h -s $OUTPUT_PRODUCT | grep _Filter`` where ``$OUTPUT_PRODUCT`` is the path to the decompressed output product, reported in the printed output of step 1 - The output of the command is empty * - 3. - Check that the output product has been correctly decompressed, by opening it with Panoply (after reverting step 0 of `FCIDECOMP.JAVA.TP.01.01`_) and creating a plot using the ``/data/ir_105/measured/effective_radiance`` variable - Plot is generated .. _FCIDECOMP.OFF.TC.01.01: FCIDECOMP.OFF.TC.01.01: installation of the FCIDECOMP software using the offline dependencies repository ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. list-table:: :header-rows: 0 :widths: 20 80 * - Goal - Validate the possibility to install the FCIDECOMP software using the offline dependencies repository :ref:`[FCIDECOMP_DEP_OFF] <[FCIDECOMP_DEP_OFF]>` * - Input data - TD.COMP.01 * - Pass/Fail criteria - The FCIDECOMP software is correctly installed The plugin can be used to successfully generates a decompressed netCDF output product .. _FCIDECOMP.OFF.TP.01.01: FCIDECOMP.OFF.TP.01.01: installation of the FCIDECOMP software using the offline dependencies repository '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. list-table:: :header-rows: 1 :widths: 10 55 35 * - ID - Description - Expected output * - 0. - Install the FCIDECOMP software following instructions reported in the README file at :ref:`[FCIDECOMP_DEP_OFF] <[FCIDECOMP_DEP_OFF]>`, at the "Installing the EUMETSAT FCIDECOMP software using the local Conda channel" > "Installation" > "Installation from a local FCIDECOMP Conda package". In those instructions, ``$PYTHON_VERSION`` could be limited to ``3.9`` - The installation completes without errors * - 1. - Deactivate and re-activate the ``conda`` environment in which the FCIDECOMP software has been installed, and run the following command: ``nccopy -F none $TO_TD.COMP.01_PATH $DECOMPRESSED_OUTPUT_PATH`` where: * ``$TD.COMP.01_PATH`` is the path to the TD.COMP.01 test file * ``$DECOMPRESSED_OUTPUT_PATH`` is the path to the netCDF file where the decompressed output dataset will be saved - The command runs without errors * - 2. - Check that the output product has been correctly decompressed, by opening it with Panoply (after reverting step 0 of `FCIDECOMP.JAVA.TP.01.01`_) and creating a plot using the ``/data/ir_105/measured/effective_radiance`` - Plot is generated organization_of_test_cases.rst000066400000000000000000000140101473255640600364160ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-proceduresOrganization of Test Cases, Non-regression Tests ------------------------------------------------ Organization of Test Cases and Order of Execution ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Automatic test cases (FCIDECOMP.CLI.TC.01.01 and FCIDECOMP.PY.TC.01.01) test the FCIDECOMP software can be used to decompress FCI L1c NRT data via command line tools and via Python. The netCDF4 ``nccopy`` tool is taken as reference for command line tools, and the ``netCDF4`` Python library is taken as reference for use via Python. Manual test cases test the FCIDECOMP software can be used to decompress FCI L1c NRT data via selected Java Software and via the Data Tailor Software (FICDECOMP.JAVA.TC.01.01 and FCIDECOMP.DT.TC.01.01), and that it can be installed using the offline dependencies repository :ref:`[FCIDECOMP_DEP_OFF] <[FCIDECOMP_DEP_OFF]>` (FCIDECOMP.OFF.TC.01.01). ``Panoply`` is taken as reference for decompression via Java Software .. _organization_of_test_cases_conventions: Conventions ~~~~~~~~~~~ The following conventions have been adopted in writing the Test Procedures: - all paths follow the Linux convention (тАЬ/тАЭ as the separator) - commands executed in a terminal are written with a BASH syntax (e.g. newlines). For validation purposes, reference platform are: - Centos 7 64-bit, Windows 10 64-bit and Windows 10 32-bit for FCIDECOMP.CLI.TC.01.01 and FCIDECOMP.PY.TC.01.01 - Ubuntu 20.04 LTS 64-bit for FCIDECOMP.JAVA.TC.01.01 - Ubuntu 20.04 LTS 64-bit and Windows 10 64-bit for FCIDECOMP.DT.TC.01.0 and FCIDECOMP.OFF.TC.01.01 .. _reference_platform: Reference Platform and Execution Time for Test Cases ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As a support to the planning of test sessions, the following table summarizes hardware and software pre-requisites and average execution times for each test case category, for the reference platforms with the following specifications: - Centos 7 64-bit: - Docker container running on a machine with the following specifications: - Processor: Intel(R) Xeon(R) Gold 6252 CPU @ 2.1 GHz, 1 Core - RAM: 51 GB, 4 GB required (estimate) - Disk space: 4 GB required - Ubuntu 20.04 LTS 64-bit: - Processor: Intel┬о CoreтДв i7-10510U CPU @ 1.80GHz ├Ч 8 (2 cores, 4 threads) - RAM: 16 GB, 4 GB required (estimate) - Disk space: 4 GB required - Windows 10 64-bit/32-bit: - Processor: Intel(R) Xeon(R) Gold 6132 CPU @ 2.60GHz (2 processors) - RAM: 32 GB installed, 4 GB required (estimate) - Disk space: 4 GB required .. list-table:: Estimated execution times for test cases under each test sub-category. :header-rows: 1 :widths: 20 40 40 :class: longtable * - Category ID - Software pre-requisites - Average execution time in minutes * - :ref:`FCIDECOMP.CLI.TC.01.01 ` - - OS: Centos 7 64-bit, Windows 10 64-bit and Windows 10 32-bit - ``conda`` environment with * ``fcidecomp`` installed, as described in the INSTALL file hosted in the FCIDECOMP software GitLab repository :ref:`[FCIDECOMP] <[FCIDECOMP]>` * ``pytest`` installed, as described at ``_ :Note: all requirements are satisfied by the GitLab CI/CD environment in which the test is run. - < 1 min * - :ref:`FCIDECOMP.PY.TC.01.01 ` - - OS: Centos 7 64-bit, Windows 10 64-bit and Windows 10 32-bit - ``conda`` environment with * ``fcidecomp`` installed, as described in the INSTALL file hosted in the FCIDECOMP software GitLab repository :ref:`[FCIDECOMP] <[FCIDECOMP]>` * ``pytest`` installed, as described at ``_ :Note: all requirements are satisfied by the GitLab CI/CD environment in which the test is run. - < 1 min * - :ref:`FCIDECOMP.JAVA.TC.01.01 ` - - OS: Ubuntu 20.04 LTS 64-bit - ``conda`` environment with ``fcidecomp`` installed, as described in the INSTALL file hosted in the FCIDECOMP software GitLab repository :ref:`[FCIDECOMP] <[FCIDECOMP]>` - ``panoply`` installed, as described at ``_ - 15 min * - :ref:`FCIDECOMP.DT.TC.01.01 ` - - OS: Ubuntu 20.04 LTS 64-bit and Windows 10 64-bit - ``conda`` environment with ``epct`` and ``epct_plugin_mtg`` installed, as described in the README file hosted in the ``epct_plugin_mtg`` GitLab repository :ref:`[EPCT_MTG] <[EPCT_MTG]>` - ``panoply`` installed, as described at ``_ - 15 min * - :ref:`FCIDECOMP.OFF.TC.01.01 ` - - OS: Ubuntu 20.04 LTS 64-bit and Windows 10 64-bit - ``conda`` installed, as described at ``_ - ``panoply`` installed, as described at ``_ - 15 min Requirements and Validation Goals addressed by Test Cases ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following table maps the requirements detailed in the Work Package description :ref:`[FCIDECOMP_WP] <[FCIDECOMP_WP]>` with the validation goals defined in the FCIDECOMP Verification and Validation Plan:ref:`[FCIDECOMP_VV] <[FCIDECOMP_VV]>` and respective tests to meet these goals defined herein: .. list-table:: Requirements and validation goals addressed by the test cases defined in this document. :header-rows: 1 :widths: 10 40 50 * - Requirement - Validation Goal - Corresponding Tests (IDs) * - DTWS-FCI-010 - VG1, VG2, VG3, VG4 - All * - DTWS-FCI-020 - VG4 - FCIDECOMP.DT.TC.01.01 * - DTWS-FCI-030 - VG1, VG3 - FCIDECOMP.CLI.TC.01.01, FCIDECOMP.PY.TC.01.01, FCIDECOMP.JAVA.TC.01.01 * - DTWS-FCI-040 - VG5, VG6 - FCIDECOMP.OFF.TC.01.01 * - DTWS-FCI-050 - Contractual requirement - No test expected test_cases_and_procedures.rst000066400000000000000000000001711473255640600362260ustar00rootroot00000000000000fcidecomp-2.1.1/documentation/verification-validation-test-cases-test-proceduresTest Cases and Procedures ------------------------- .. toctree:: :maxdepth: 2 automatic_tests manual_tests fcidecomp-2.1.1/inventory/000077500000000000000000000000001473255640600155155ustar00rootroot00000000000000fcidecomp-2.1.1/inventory/items/000077500000000000000000000000001473255640600166365ustar00rootroot00000000000000fcidecomp-2.1.1/inventory/items/BSD-2-Clause.ABOUT000066400000000000000000000010571473255640600214160ustar00rootroot00000000000000name: fcidecomp description: fcidecomp project documents license_spdx: BSD-2-Clause home_url: http://www.eumetsat.int/ copyright: EUMETSAT version: 2.0.0 date: 2023-01-09 about_resource: documentation/available-software-and-documents/Makefile about_resource: documentation/installation-manual/Makefile about_resource: documentation/solution-design/Makefile about_resource: documentation/verification-validation-plan/Makefile about_resource: documentation/verification-validation-test-cases-test-procedures/Makefile about_resource: documentation/notebooks/* fcidecomp-2.1.1/inventory/items/BSD-3-Clause.ABOUT000066400000000000000000000004011473255640600214070ustar00rootroot00000000000000name: fcidecomp description: fcidecomp dependencies license_spdx: BSD-3-Clause version: 2.0.0 date: 2023-01-09 about_resource: conda, version 4.6.11, https://docs.conda.io, copyright and license information at https://docs.conda.io/en/latest/license.html fcidecomp-2.1.1/inventory/items/data_proprietary.ABOUT000066400000000000000000000007061473255640600230060ustar00rootroot00000000000000name: fcidecomp description: fcidecomp test data license_spdx: Proprietary home_url: http://www.eumetsat.int/ copyright: EUMETSAT version: 2.0.0 date: 2023-01-09 about_resource: /src/fcidecomp/fcidecomp-H5Zjpegls/test/* about_resource: /src/fcidecomp/fcidecomp-H5Zjpegls/test/data/* about_resource: /src/fcidecomp/fcidecomp-jpegls/test/* about_resource: /src/fcidecomp/fcidecomp-jpegls/test/data/* about_resource: /src/fcidecomp/fcidecomp-test/data/* fcidecomp-2.1.1/inventory/items/fcidecomp.ABOUT000066400000000000000000000021231473255640600213610ustar00rootroot00000000000000name: fcidecomp description: fcidecomp license_spdx: Apache-2.0 home_url: http://www.eumetsat.int/ copyright: EUMETSAT version: 2.0.0 date: 2023-01-09 about_resource: /AUTHORS.txt about_resource: /CHANGES.md about_resource: /INSTALL.md about_resource: /README.md about_resource: /.gitattributes about_resource: /.gitignore about_resource: /.gitlab-ci.yml about_resource: /inventory/** about_resource: /documentation/* about_resource: /documentation/*/*.csv about_resource: /documentation/*/*.rst about_resource: /documentation/*/*images/* about_resource: /documentation/*/*/*.css about_resource: /conda/scripts/* about_resource: /conda/* about_resource: /src/fcidecomp/*.sh about_resource: /src/fcidecomp/cmake/** about_resource: /src/fcidecomp/fcicomp-common/** about_resource: /src/fcidecomp/fcicomp-*pegls/include/** about_resource: /src/fcidecomp/fcicomp-*pegls/src/** about_resource: /src/fcidecomp/fcicomp-*pegls/* about_resource: /src/fcidecomp/fcidecomp-test/*.sh about_resource: /src/fcidecomp/gen/* about_resource: /src/fcidecomp/SCF_fcidecomp/* about_resource: /src/fcidecomp-python/README.md fcidecomp-2.1.1/inventory/items/fonts_Barlow.ABOUT000066400000000000000000000004321473255640600220700ustar00rootroot00000000000000name: fcidecomp font Barlow description: Barlow font license_spdx: OFL-1.1 home_url: https://github.com/jpt/barlow copyright: 2017 The Barlow Project Authors (https://github.com/jpt/barlow) version: 2.0.0 date: 2023-01-09 about_resource: documentation/*/_static/Barlow-Regular.ttffcidecomp-2.1.1/inventory/items/fonts_Dosis.ABOUT000066400000000000000000000006311473255640600217240ustar00rootroot00000000000000name: fcidecomp font Dosis description: Dosis font license_spdx: OFL-1.1 home_url: www.ikern.com/k1/ copyright: Copyright (c) 2011, Edgar Tolentino and Pablo Impallari (www.impallari.com|impallari@gmail.com), Copyright (c) 2011, Igino Marini. (www.ikern.com|mail@iginomarini.com), with Reserved Font Names "Dosis". version: 2.0.0 date: 2023-01-09 about_resource: documentation/*/_static/Dosis-ExtraLight.ttffcidecomp-2.1.1/inventory/legal/000077500000000000000000000000001473255640600166015ustar00rootroot00000000000000fcidecomp-2.1.1/inventory/legal/Apache-2.0.txt000066400000000000000000000261351473255640600210270ustar00rootroot00000000000000 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.fcidecomp-2.1.1/inventory/legal/BSD-2-Clause.txt000066400000000000000000000023711473255640600213260ustar00rootroot00000000000000Copyright 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. 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 HOLDER 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. fcidecomp-2.1.1/inventory/legal/BSD-3-Clause.txt000066400000000000000000000030041473255640600213210ustar00rootroot00000000000000Copyright (c) 2017 Continuum Analytics, Inc. (dba Anaconda, Inc.). https://www.anaconda.com. 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 holder 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 HOLDER 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. fcidecomp-2.1.1/inventory/legal/EUMETSAT_PROPRIETARY.txt000066400000000000000000000004471473255640600224760ustar00rootroot00000000000000COPYRIGHT: EUMETSAT 2022-2023 LICENSE: PROPRIETARY PROJECT: Fcidecomp All information contained herein is, and remains the property of EUMETSAT. Dissemination of this information or reproduction of this material is strictly forbidden unless prior written permission is obtained from EUMETSAT. fcidecomp-2.1.1/inventory/legal/OFL-1.1.txt000066400000000000000000000101671473255640600202640ustar00rootroot00000000000000----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS "Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. "Reserved Font Name" refers to any names specified as such after the copyright statement(s). "Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s). "Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. "Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. fcidecomp-2.1.1/perf/000077500000000000000000000000001473255640600144145ustar00rootroot00000000000000fcidecomp-2.1.1/perf/test_PERF_CLI.py000066400000000000000000000051001473255640600172440ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl """ This test measures speed performances of JPEG-LS compressed MTG FCI L1C products decompression through the netCDF4 tool `nccopy`. """ import os import subprocess import pytest TEST_DATA_PATH = os.environ.get("EPCT_TEST_DATA_DIR", "") INPUT_PATH = os.path.join(TEST_DATA_PATH, "MTG", "MTGFCIL1") COMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N_JLS_T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N_JLS_T_0072_0021.nc" )] DECOMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N__T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N__T_0072_0021.nc" )] def cli_decompression(comp_file, decomp_file): process = subprocess.call(["nccopy", "-F", "none", comp_file, decomp_file]) return process @pytest.mark.parametrize( "test_input,test_output", [(test, exp) for (test, exp) in zip(COMP_FILEPATH, DECOMP_FILEPATH)], ids=[f"{os.path.getsize(comp_file) / (1024 * 1024):.2f} Mb" for comp_file in COMP_FILEPATH] ) def test_decomp_cli(benchmark, tmpdir, test_input, test_output): assert "HDF5_PLUGIN_PATH" in os.environ.keys() decomp_res_file = os.path.join(tmpdir, os.path.basename(test_output)) result = benchmark(cli_decompression, test_input, decomp_res_file) assert result == 0 fcidecomp-2.1.1/perf/test_PERF_PY.py000066400000000000000000000052451473255640600171770ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl """ This test measures speed performances of JPEG-LS compressed MTG FCI L1C products decompression through the `netCDF4` Python library. """ import os import netCDF4 as nc import numpy as np import pytest import fcidecomp TEST_DATA_PATH = os.environ.get("EPCT_TEST_DATA_DIR", "") INPUT_PATH = os.path.join(TEST_DATA_PATH, "MTG", "MTGFCIL1") COMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N_JLS_T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N_JLS_T_0072_0021.nc" )] DECOMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N__T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N__T_0072_0021.nc" )] def py_decompression(comp_file): ds = nc.Dataset(comp_file, "r") band = ds['data']['vis_04']['measured']['effective_radiance'][:] ds.close() return band @pytest.mark.parametrize( "test_input,expected", [(test, exp) for (test, exp) in zip(COMP_FILEPATH, DECOMP_FILEPATH)], ids=[f"{os.path.getsize(comp_file) / (1024 * 1024):.2f} Mb" for comp_file in COMP_FILEPATH] ) def test_decomp_py(benchmark, test_input, expected): assert "HDF5_PLUGIN_PATH" in os.environ.keys() band_test = benchmark(py_decompression, test_input) ds_exp = nc.Dataset(expected, 'r') band_exp = ds_exp['data']['vis_04']['measured']['effective_radiance'][:] assert np.ma.allequal(band_test, band_exp) fcidecomp-2.1.1/src/000077500000000000000000000000001473255640600142475ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp-python/000077500000000000000000000000001473255640600175175ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp-python/README.md000066400000000000000000000016551473255640600210050ustar00rootroot00000000000000# Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # FCIDECOMP Python plugin This Python library enables the use of the FCIDECOMP decompression library through `h5py` and `h5py`-based Python libraries (such as `xarray`). Such support is automatically enabled within the Conda environment where the `fcidecomp` Conda package is installed.fcidecomp-2.1.1/src/fcidecomp-python/fcidecomp/000077500000000000000000000000001473255640600214505ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp-python/fcidecomp/__init__.py000066400000000000000000000101121473255640600235540ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl import ctypes as _ctypes from glob import glob as _glob import logging as _logging import os as _os import sys as _sys from collections.abc import Mapping as _Mapping import h5py as _h5py _logger = _logging.getLogger(__name__) try: PLUGINS_PATH = _os.environ["HDF5_PLUGIN_PATH"] except KeyError: print("HDF5_PLUGIN_PATH environment variable is not defined") FILTER_NAME = 'fcidecomp' FILTER_ID = 32018 try: _FilterRefClass = _h5py.filters.FilterRefBase except AttributeError: class _FilterRefClass(_Mapping): """ Base class for referring to an HDF5 filter and describing its options. """ filter_id = None filter_options = () # Mapping interface supports using instances as **kwargs for compatibility # with older versions of h5py @property def _kwargs(self): return { 'compression': self.filter_id, 'compression_opts': self.filter_options } def __hash__(self): return hash((self.filter_id, self.filter_options)) def __len__(self): return len(self._kwargs) def __iter__(self): return iter(self._kwargs) def __getitem__(self, item): return self._kwargs[item] class FciDecomp(_FilterRefClass): """` `h5py.Group.create_dataset``'s compression arguments for using FciDecomp filter. """ filter_id = FILTER_ID def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) def _init_filters(): """ Initialise and register HDF5 filters with h5py Generator of tuples: (filename, library handle) """ hdf5_version = _h5py.h5.get_libversion() filter_name = FILTER_NAME filter_id = FILTER_ID # Check if filter is already loaded (not on buggy HDF5 versions) if (1, 8, 20) <= hdf5_version < (1, 10) or hdf5_version >= (1, 10, 2): if _h5py.h5z.filter_avail(filter_id): _logger.warning("%s filter already loaded, skip it.", filter_name) return # Load DLL if _sys.platform.startswith('win'): filter_file_name = 'H5Zjpegls.dll' elif _sys.platform.startswith('linux'): filter_file_name = 'libH5Zjpegls.so' else: filter_file_name = '' filename = _glob(_os.path.join(PLUGINS_PATH, filter_file_name)) if len(filename): filename = filename[0] else: _logger.error("Cannot initialize filter %s: File not found", filter_name) return try: lib = _ctypes.CDLL(filename) except OSError: _logger.error("Failed to load filter %s: %s", filter_name, filename) return if _sys.platform.startswith('win'): # Use register_filter function to register filter lib.register_filter.restype = _ctypes.c_int retval = lib.register_filter() else: # Use init_filter function to initialize DLL and register filter lib.init_filter.argtypes = [_ctypes.c_char_p] lib.init_filter.restype = _ctypes.c_int retval = lib.init_filter( bytes(_h5py.h5z.__file__, encoding='utf-8')) if retval < 0: _logger.error("Cannot initialize filter %s: %d", filter_name, retval) return yield filename, lib _filters = dict(_init_filters()) # Store loaded filters fcidecomp-2.1.1/src/fcidecomp-python/setup.py000066400000000000000000000044531473255640600212370ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl import os from setuptools import setup, find_packages with open("README.md") as readme_file: readme = readme_file.read() install_requirements = ["h5py"] setup_requirements = ["setuptools"] try: with open("VERSION") as version_file: version = version_file.read().strip() except FileNotFoundError: version = os.environ.get( "CI_COMMIT_TAG", os.popen("git describe --tags --abbrev=0").read() ) if version == "": version = "0.0.0+"+os.environ.get("CI_COMMIT_SHORT_SHA") with open("VERSION", "w") as version_file: version_file.write(version) setup( name='fcidecomp-python', version=version, description="FCIDECOMP Python plugin", long_description=readme, author="B-Open Solutions srl", author_email="software@bopen.eu", url="https://www.eumetsat.int", packages=find_packages(), include_package_data=True, install_requires=install_requirements, setup_requires=setup_requirements, license="Apache License 2.0'", zip_safe=True, keywords="", classifiers=[ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", ], ) fcidecomp-2.1.1/src/fcidecomp/000077500000000000000000000000001473255640600162005ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/000077500000000000000000000000001473255640600206245ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/SCF.txt000077500000000000000000000121561473255640600220100ustar00rootroot00000000000000 ########################################### # # # SOURCE CONFIGURATION FILE # # # ########################################### 0- Identification ----------------- $Id: SCF.txt 844 2017-09-11 09:17:48Z delaunay $ Copyright 2015-2023 EUMETSAT Author : THALES Services Date : 2017-09-11 This file contains the complete description of the configuration of the component. The SCF is constituted by the present file and the following files : - generation.txt : build procedure - installation.txt : installation procedure - all-files.txt : list of all source files delivered - mod-files.txt : list of modified files - add-files.txt : list of added files - del-files.txt : list of deleted files The project FCIDECOMP, is comprised of one archive (cf 4.1), described by a unique SCF in the sources. 1- Description of the component ------------------------------- IDENTIFICATION OF THE COMPONENT ------------------------------- Component name : FCIDECOMP Criticity : Normal Confidentiality : NC Contract manager : THALES SERVICES Function : FCIDECOMP is the JPEG-LS decompression system for MTG FCI L1c datasets in NetCDF-4 files. IDENTIFICATION OF THE VERSION ----------------------------- Date version : 2017-09-11 Version : V1.0.2 Reference version : V1.0.1 Type of delivery : Major version 2- Applicable reference ------------------------- [FCP] 176200-PCO-14-5489-A_1 Financial and Contractual Proposal [ITT] ITT No.: 14/208775 13 June 2014 EUMETSAT Invitation To Tender (ITT) No. 14/208775 MTG Ground Segment тАУ Lossless Compression for the Operational Dissemination of Level 1 Datasets [SOW] EUM/MTG/SOW/14/746987, Issue v2B, 11 June 2014 Statement of Work MTG Ground Segment тАУ Lossless Compression for Operational FCI Level 1 Datasets Dissemination [STC] EUM/COS/STC/14/756646, Issue v1, 7 May 2014 Special Tender Conditions MTG Ground Segment - Lossless Compression for Operational FCI Level 1 Datasets Dissemination [IDPFRD] EUM/MTG/SPE/11/0686 MTG Instrument Data Processing Facility (IDPF) - Requirements Document [FCIL1FS] EUM/MTG/SPE/10/0447 v3k Draft 19 November 2014 FCI Level 0 and 1 Format Specification [GFS] EUM/MTG/SPE/11/0252 MTG Generic Format Specification 3- Resources required (or used) to develop/generate/use -------------------------------------------------------- Component Version DEV/GEN/EXP License ----------------------------------------------- CMake 2.8.12 O/O/N BSD zlib 1.2.8 O/O/O zlib HDF5 1.8.14 O/O/O BSD-style NetCDF 4.3.2 O/O/O MIT-style CharLS 1.0 O/O/O BSD-style 4- Detailed instructions ------------------------ 4.1- Reception of the delivery ------------------------------- The delivery of FCIDECOMP is composed of a folder FCIDECOMP_V1.0.2 containing the following elements : SCF : Folder of the SCF Software : Folder composed of the file : fcidecomp_sources-V1.0.2.tar.gz : archive containing the folder FCIDECOMP_SOURCES The tar command used to make those archives is in version : tar (GNU tar) 1.26 The 2 archives must be decompressed with the following commands : gtar xvzf fcidecomp_sources-V1.0.2.tar.gz A folder FCIDECOMP_SOURCES is created containing the source code. 4.2- Generation environment --------------------------- Linux x86_64 ------------ System : CentOS 6.3 Compiler : gcc (GCC) 4.4.6 20120305 5- Generation - Install - Delivery of the binaries -------------------------------------------------- Build procedure is detailed in generation.txt file. Installation procedure is detailed in installation.txt file. 6- Modifications compared to the previous version -------------------------------------------------------------- Key modifications ----------------- Consideration of tickets lists below List of corrected NCR --------------------- Key|Title FCICOMP-13|Edit the H5Zjpegls filter ID FCICOMP-12|Manipulation of signal handlers creates conflict with the Java virtual machines during the integration of the compression sw FCICOMP-11|Unnecessary cmake files in the decompression side package FCICOMP-7|Build and install of the extended netCDF lib should be in two steps FCICOMP-6|Version of libnetcdf.so modified extended netCDF is not in line with the version of the COTS libnetcdf.so List of CHR taken into account ----------------------------- List of WVR accepted -------------------- 7- Composition -------------- Files delivered --------------- See all-files.txt Added files ----------- See add-files.txt Modified files -------------- See mod-files.txt Deleted files ------------- See del-files.txt End of the SCF. fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/add-files.txt000066400000000000000000000000001473255640600232030ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/all-files.txt000077500000000000000000000063011473255640600232400ustar00rootroot00000000000000build_fcidecomp.sh build.sh cmake/config/compilerFlags.cmake cmake/config/packageConfig.cmake cmake/config/runTestCompare.cmake cmake/config/unitTestSettings.cmake cmake/modules/FindCHARLS.cmake fcicomp-common/include/fcicomp_errors.h fcicomp-common/include/fcicomp_log.h fcicomp-common/include/fcicomp_options.h fcicomp-common/src/fcicomp_log.c fcicomp-H5Zjpegls/CMakeLists.txt fcicomp-H5Zjpegls/h5zjpegls-config.cmake.in fcicomp-H5Zjpegls/include/H5Zjpegls_definitions.h fcicomp-H5Zjpegls/include/H5Zjpegls.h fcicomp-H5Zjpegls/include/H5Zjpegls_messages.h fcicomp-H5Zjpegls/src/H5Zjpegls.c fcicomp-H5Zjpegls/test/data/H5ZjpeglsDecodeIneffective_ref.err fcicomp-H5Zjpegls/test/data/H5ZjpeglsDecodeNominal_ref.err fcicomp-H5Zjpegls/test/data/H5ZjpeglsDecodeRGBANominal_ref.err fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeCannotApply_ref.err fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeIneffective_ref.err fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeNominal_ref.err fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeRGBANominal_ref.err fcicomp-H5Zjpegls/test/data/noise_sample_ref.h5 fcicomp-H5Zjpegls/test/data/noise_sample_ref.raw fcicomp-H5Zjpegls/test/data/noise_sample_ref.raw.hdr fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.h5 fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.png fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.raw fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.raw.hdr fcicomp-H5Zjpegls/test/data/sample_ref.h5 fcicomp-H5Zjpegls/test/data/sample_ref.raw fcicomp-H5Zjpegls/test/data/sample_ref.raw.hdr fcicomp-H5Zjpegls/test/data/testH5ZjpeglsEncodeCannotApply_ref.h5 fcicomp-H5Zjpegls/test/src/H5Zjpegls_decode_nominal.c fcicomp-H5Zjpegls/test/src/H5Zjpegls_encode_cannot_apply.c fcicomp-H5Zjpegls/test/src/H5Zjpegls_encode_nominal.c fcicomp-H5Zjpegls/test/src/H5Zjpegls_encode_rgba_nominal.c fcicomp-H5Zjpegls/test/src/H5Zjpegls_test.c fcicomp-H5Zjpegls/Version.cmake fcicomp-jpegls/CMakeLists.txt fcicomp-jpegls/fcicomp_jpegls-config.cmake.in fcicomp-jpegls/include/fcicomp_jpegls.h fcicomp-jpegls/include/fcicomp_jpegls_messages.h fcicomp-jpegls/src/fcicomp_jpegls.c fcicomp-jpegls/test/data/jpeglsCompressErrorCase_ref.err fcicomp-jpegls/test/data/jpeglsDecompressErrorCase_ref.err fcicomp-jpegls/test/data/jpeglsReadHeaderErrorCase_ref.err fcicomp-jpegls/test/data/noise_sample.jpg fcicomp-jpegls/test/data/noise_sample_ref.jls fcicomp-jpegls/test/data/noise_sample_ref.raw fcicomp-jpegls/test/data/noise_sample_ref.raw.hdr fcicomp-jpegls/test/data/sample.jpg fcicomp-jpegls/test/data/sample_ref.jls fcicomp-jpegls/test/data/sample_ref.raw fcicomp-jpegls/test/data/sample_ref.raw.hdr fcicomp-jpegls/test/src/jpegls_compress_error_case.c fcicomp-jpegls/test/src/jpegls_compress_nominal.c fcicomp-jpegls/test/src/jpegls_decompress_error_case.c fcicomp-jpegls/test/src/jpegls_decompress_nominal.c fcicomp-jpegls/test/src/jpegls_read_header_error_case.c fcicomp-jpegls/test/src/jpegls_test.c fcicomp-jpegls/Version.cmake fcidecomp-test/data/sample.nc fcidecomp-test/data/sample_ref.txt fcidecomp-test/postInstallationTest.sh gen/build.sh gen/install.sh gen/Version.txt SCF_fcidecomp/add-files.txt SCF_fcidecomp/all-files.txt SCF_fcidecomp/del-files.txt SCF_fcidecomp/generation.txt SCF_fcidecomp/installation.txt SCF_fcidecomp/mod-files.txt SCF_fcidecomp/SCF.txt fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/del-files.txt000077500000000000000000000001571473255640600232370ustar00rootroot00000000000000fcicomp-jpegls/test/data/jpeglsDecompressSegFault_ref.err fcicomp-jpegls/test/src/jpegls_decompress_segfault.c fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/generation.txt000077500000000000000000000020761473255640600235300ustar00rootroot00000000000000$Id: generation.txt 840 2017-09-07 09:07:16Z delaunay $ ########################################### # # # BUILD PROCEDURE # # # ########################################### Copyright 2015-2023 EUMETSAT 1-Prerequisites --------------- Check the SCF.txt file. FCIDECOMP source code delivery is required (check version in SCF/SCF.txt) 2-Build in development ---------------------- Install the FCI compression/decompression software $ ./build.sh release 3- Build with an official delivery : ------------------------------- # Make a generation folder ENVGEN= mkdir -p $ENVGEN tar zxvf FCIDECOMP_FCIDECOMP_SOURCES--.tar.gz -C $ENVGEN tar zxvf FCIDECOMP_FCIDECOMP_COTS--.tar.gz -C $ENVGEN # Set environment variables export FCICOMP_COTS_ROOT=$ENVGEN/FCIDECOMP_COTS # Build Product cd $ENVGEN/FCIDECOMP_SOURCES/ ./build.sh release fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/installation.txt000077500000000000000000000007171473255640600240760ustar00rootroot00000000000000$Id: installation.txt 840 2017-09-07 09:07:16Z delaunay $ ########################################### # # # INSTALLATION PROCEDURE # # # ########################################### Copyright 2015-2023 EUMETSAT See the Software Installation Guide: EUM-COM-SIG-14-121-TS fcidecomp-2.1.1/src/fcidecomp/SCF_fcidecomp/mod-files.txt000077500000000000000000000014631473255640600232530ustar00rootroot00000000000000fcicomp-H5Zjpegls/include/H5Zjpegls_definitions.h fcicomp-H5Zjpegls/include/H5Zjpegls.h fcicomp-H5Zjpegls/src/H5Zjpegls.c fcicomp-H5Zjpegls/test/data/noise_sample_ref.h5 fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.h5 fcicomp-H5Zjpegls/test/data/sample_ref.h5 fcicomp-H5Zjpegls/test/data/testH5ZjpeglsEncodeCannotApply_ref.h5 fcicomp-H5Zjpegls/Version.cmake fcicomp-jpegls/CMakeLists.txt fcicomp-jpegls/include/fcicomp_jpegls.h fcicomp-jpegls/include/fcicomp_jpegls_messages.h fcicomp-jpegls/src/fcicomp_jpegls.c fcicomp-jpegls/test/src/jpegls_test.c fcicomp-jpegls/Version.cmake fcidecomp-test/data/sample.nc gen/Version.txt SCF_fcidecomp/add-files.txt SCF_fcidecomp/all-files.txt SCF_fcidecomp/del-files.txt SCF_fcidecomp/generation.txt SCF_fcidecomp/installation.txt SCF_fcidecomp/mod-files.txt SCF_fcidecomp/SCF.txt fcidecomp-2.1.1/src/fcidecomp/build.sh000077500000000000000000000054771473255640600176530ustar00rootroot00000000000000#!/bin/bash # ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # This script is intended to be run by Hudson continuous integration # system to build the FCICOMP software. # # The FCICOMP_COTS_ROOT environment variable should be set before # launching this script. It tells the location of the root of the COTS # software. # # This script defines the location of the following list of COTS: # - ZLIB_ROOT # - HDF5_ROOT # - NETCDF_ROOT # - NETCDF_SOURCE_ROOT # - CHARLS_ROOT # # This also script defines the ${FCICOMP_ROOT} directory as the # directory where this script is located. It should be the location of # the root of the FCICOMP software. # # It launches the build script ${FCICOMP_ROOT}/gen/build.sh in the # "coverage" mode to compile the FCICOMP software in debug mode, run the # unit test and check the coverage. # # Usage example: # ------------- # export FCICOMP_COTS_ROOT=/path/to/FCICOMP_COTS_ROOT # [ -d build ] && rm -rf build/ # ./build.sh # set -o nounset set -o errexit # If the FCICOMP_COTS_ROOT environment variable is not set, # print an error message if [[ -z ${FCICOMP_COTS_ROOT:-} ]]; then echo "Error: the FCICOMP_COTS_ROOT is not set." echo "Please set the FCICOMP_COTS_ROOT environment variable before launching this script." exit 1 fi # If the FCICOMP_ROOT environment variable is not set, set the default if [[ -z ${FCICOMP_ROOT:-} ]]; then FCICOMP_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) fi # Define the COTS location export ZLIB_ROOT=${FCICOMP_COTS_ROOT}/zlib/V_1_2_8 export HDF5_ROOT=${FCICOMP_COTS_ROOT}/hdf5/V_1_8_14 export NETCDF_ROOT=${FCICOMP_COTS_ROOT}/netcdf/V_4_3_2 export NETCDF_SOURCE_ROOT=${FCICOMP_COTS_ROOT}/netcdf/V_4_3_2_SOURCE export CHARLS_ROOT=${FCICOMP_COTS_ROOT}/charls/V_1_0 # Call the build_fcicomp.sh script of the ./build_fcidecomp.sh script if [[ -f "${FCICOMP_ROOT}/build_fcicomp.sh" ]]; then ./build_fcicomp.sh $@ exit $? elif [[ -f "${FCICOMP_ROOT}/build_fcidecomp.sh" ]]; then ./build_fcidecomp.sh $@ exit $? else echo "Cannot find script build_fcicomp.sh or build_fcidecomp.sh " exit 1 fi fcidecomp-2.1.1/src/fcidecomp/build_fcidecomp.sh000077500000000000000000000127301473255640600216520ustar00rootroot00000000000000#!/bin/bash # ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # This script is intended to be run by Hudson continuous integration # system to build the FCIDECOMP software. # # The following environment variable should be set before # launching this script. It tells the location of the COTS software. # # - HDF5_ROOT # - CHARLS_ROOT # # This also script defines the ${FCICOMP_ROOT} directory as the # directory where this script is located. It should be the location of # the root of the FCICOMP software. # # It launches the build script ${FCICOMP_ROOT}/gen/build.sh in the # "coverage" mode to compile the FCICOMP software in debug mode, run the # unit test and check the coverage. # # Usage example: # ------------- # [ -d build ] && rm -rf build/ # ./build_fcidecomp.sh # set -o nounset set -o errexit function usage() { echo "Usage: $0 mode module" echo echo "mode Building mode in {release, debug, test, coverage, memcheck}." echo "module Module to build in {fcidecomp, fcicomp-jpegls, fcicomp-H5Zjpegls}." exit 2 } function main() { if [[ ${1:-} == "-h" ]] || [[ ${1:-} == "-u" ]]; then # Print the usage usage fi # Get the name of the modules the user want to build if [[ $# == 0 ]]; then # Compile in debug mode and perform unit test coverage build_mode="coverage" module="all" elif [[ $# == 1 ]]; then build_mode=$1 module="all" else build_mode=$1 module=$2 fi # Check that HDF5_ROOT is set if [[ -z ${HDF5_ROOT:-} ]]; then echo "Error: the HDF5_ROOT is not set." echo "Please set the HDF5_ROOT environment variable before launching this script." exit 1 fi # Check that HDF5_ROOT point on a directory if [[ ! -d ${HDF5_ROOT:-} ]]; then echo "Error: HDF5 directory cannot be reached: ${HDF5_ROOT:-}" echo "Please set the HDF5_ROOT environment variable pointing on a valid directory." exit 1 fi # Check that CHARLS_ROOT is set if [[ -z ${CHARLS_ROOT:-} ]]; then echo "Error: the CHARLS_ROOT is not set." echo "Please set the CHARLS_ROOT environment variable before launching this script." exit 1 fi # Check that CHARLS_ROOT point on a directory if [[ ! -d ${CHARLS_ROOT:-} ]]; then echo "Error: CHARLS directory cannot be reached: ${CHARLS_ROOT:-}" echo "Please set the CHARLS_ROOT environment variable pointing on a valid directory." exit 1 fi # If the FCICOMP_ROOT environment variable is not set, set the default # one: this script directory if [[ -z ${FCICOMP_ROOT:-} ]]; then FCICOMP_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) fi # Define an install path FCICOMP_INSTALL_PATH=${FCICOMP_ROOT}/build/local [[ ! -d $FCICOMP_INSTALL_PATH ]] && mkdir -p $FCICOMP_INSTALL_PATH # Define the location of the building script BUILD_SCRIPT=${FCICOMP_ROOT}/gen/build.sh # Define the location of the install script INSTALL_SCRIPT=${FCICOMP_ROOT}/gen/install.sh # -------------------------------------------------------------------- # Build FCICOMP-JPEGLS # -------------------------------------------------------------------- PACKAGE="fcicomp-jpegls" if [[ x${module}x == x${PACKAGE}x ]] || [[ x${module}x == x"all"x ]]; then echo echo " =============== FCICOMP-JPEGLS ===============================" echo # Define where to find CharLS and where to install fcicomp-jpegls BUILD_OPTIONS="-DCMAKE_PREFIX_PATH=${CHARLS_ROOT} -DCMAKE_INSTALL_PREFIX=${FCICOMP_INSTALL_PATH}" # Create the command line build_cmd="${BUILD_SCRIPT} ${PACKAGE} ${build_mode} ${BUILD_OPTIONS}" install_cmd="${INSTALL_SCRIPT} ${PACKAGE} " # Launch the commands $build_cmd || { echo "Error: cannot build ${PACKAGE}." 1>&2 ; exit 1; } $install_cmd || { echo "Error: cannot install ${PACKAGE}." 1>&2 ; exit 1; } fi # Define where is installed fcicomp-jpegls FCICOMP_JPEGLS_ROOT=${FCICOMP_INSTALL_PATH} # -------------------------------------------------------------------- # Build FCICOMP-H5ZJPEGLS # -------------------------------------------------------------------- PACKAGE="fcicomp-H5Zjpegls" if [[ x${module}x == x${PACKAGE}x ]] || [[ x${module}x == x"all"x ]]; then echo echo " =============== FCICOMP-H5ZJPEGLS ===================" echo # Define where to find CharLS, Zlib and HDF5 and where to install the filter BUILD_OPTIONS="-DCMAKE_PREFIX_PATH=${FCICOMP_JPEGLS_ROOT};${HDF5_ROOT} -DCMAKE_INSTALL_PREFIX=${FCICOMP_INSTALL_PATH}" # Create the command line build_cmd="${BUILD_SCRIPT} ${PACKAGE} ${build_mode} ${BUILD_OPTIONS}" install_cmd="${INSTALL_SCRIPT} ${PACKAGE} " # Launch the commands $build_cmd || { echo "Error: cannot build ${PACKAGE}." 1>&2 ; exit 1; } $install_cmd || { echo "Error: cannot install ${PACKAGE}." 1>&2 ; exit 1; } fi } # Call the main function main $@fcidecomp-2.1.1/src/fcidecomp/cmake/000077500000000000000000000000001473255640600172605ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/cmake/config/000077500000000000000000000000001473255640600205255ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/cmake/config/compilerFlags.cmake000066400000000000000000000055301473255640600243210ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services STRING( TOUPPER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE ) IF("${CMAKE_BUILD_TYPE}" STREQUAL "RELEASE") SET(RELEASE ON) ENDIF() IF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") SET(DEBUG ON) ENDIF() #----------------------------------------------------------------------------- # Compiler specific flags for GNU C #----------------------------------------------------------------------------- IF (CMAKE_COMPILER_IS_GNUCC) # Requirement [IDPF-I] ADD-08140 a) C ISO/IEC 9899 SET (CMAKE_C_FLAGS "-std=iso9899:1999 -pedantic ${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}") # Shared libs settings IF (BUILD_SHARED_LIBS) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") ENDIF (BUILD_SHARED_LIBS) # Note: CMake automatically adds the CMAKE_C_FLAGS_RELEASE=""-DNDEBUG # -O3" to the compiler option if CMAKE_BUILD_TYPE is RELEASE. IF (RELEASE) # Set the optimization flag SET (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") ENDIF (RELEASE) # Note: CMake automatically adds the CMAKE_C_FLAGS_DEBUG to the # compiler option if CMAKE_BUILD_TYPE is DEBUG. IF (DEBUG) # Add compilation flags for the debug mode SET (CMAKE_C_FLAGS_DEBUG "-DDEBUG -W -Wall ${CMAKE_C_FLAGS_DEBUG}") ENDIF (DEBUG) ENDIF (CMAKE_COMPILER_IS_GNUCC) #----------------------------------------------------------------------------- # Compiler specific flags for GNU C++ #----------------------------------------------------------------------------- IF (CMAKE_COMPILER_IS_GNUCXX) # Requirement [IDPF-I] ADD-08140 b) C++ ISO/IEC 14882 SET (CMAKE_CXX_FLAGS "-std=c++03 -pedantic ${CMAKE_ANSI_CFLAGS} ${CMAKE_CXX_FLAGS}") # Shared libs settings IF (BUILD_SHARED_LIBS) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") ENDIF (BUILD_SHARED_LIBS) IF (RELEASE) # Set the optimization flag SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") ENDIF (RELEASE) IF (DEBUG) # Add compilation flags for the debug mode SET (CMAKE_CXX_FLAGS_DEBUG "-DDEBUG -W -Wall ${CMAKE_C_FLAGS_DEBUG}") ENDIF (DEBUG) ENDIF (CMAKE_COMPILER_IS_GNUCXX) fcidecomp-2.1.1/src/fcidecomp/cmake/config/packageConfig.cmake000066400000000000000000000032331473255640600242510ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services INCLUDE (CMakePackageConfigHelpers) SET (PACKAGE_CONFIG_DIR "share/cmake") CONFIGURE_PACKAGE_CONFIG_FILE (${PROJECT_NAME_LOWER}-config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config.cmake" INSTALL_DESTINATION "${PACKAGE_CONFIG_DIR}/${PROJECT_NAME_LOWER}" PATH_VARS INCLUDE_INSTALL_DIR LIBRARY_INSTALL_DIR) WRITE_BASIC_PACKAGE_VERSION_FILE ( "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config-version.cmake" VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) INSTALL (EXPORT ${PROJECT_NAME_LOWER}-targets NAMESPACE fcicomp:: DESTINATION "${PACKAGE_CONFIG_DIR}/${PROJECT_NAME_LOWER}") INSTALL (FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME_LOWER}-config-version.cmake DESTINATION "${PACKAGE_CONFIG_DIR}/${PROJECT_NAME_LOWER}" ) fcidecomp-2.1.1/src/fcidecomp/cmake/config/runTestCompare.cmake000077500000000000000000000147341473255640600245160ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # runTestCompare.cmake executes a command that generates an output # file. The output file is then compared against a reference file. Exit # status of command can also be checked. # Arguments checking IF (NOT TEST_NAME) MESSAGE (FATAL_ERROR "Require TEST_NAME to be defined") ENDIF (NOT TEST_NAME) IF (NOT TEST_PROGRAM) MESSAGE (FATAL_ERROR "Require TEST_PROGRAM to be defined") ENDIF (NOT TEST_PROGRAM) IF (NOT TEST_ARGS) MESSAGE (STATUS "Require TEST_ARGS to be defined") ENDIF (NOT TEST_ARGS) IF (NOT TEST_FOLDER) MESSAGE (FATAL_ERROR "Require TEST_FOLDER to be defined") ENDIF (NOT TEST_FOLDER) # Arguments checking for the stdout comparisons IF (NOT TEST_REF_OUTPUT) SET (TEST_SKIP_COMPARE_OUTPUT ON) ENDIF(NOT TEST_REF_OUTPUT) # Arguments checking for the stderr comparisons IF (NOT TEST_REF_ERR) SET (TEST_SKIP_COMPARE_ERR ON) ENDIF(NOT TEST_REF_ERR) # Arguments checking for the output files comparisons IF ( (NOT TEST_REF_OUTPUT_FILE) AND (NOT TEST_REF_OUTPUT_FILE_LIST) ) SET (TEST_SKIP_COMPARE_OUTPUT_FILES ON) ENDIF() # Check that the ouput file is defined IF( (NOT TEST_OUTPUT_FILE_LIST) AND (NOT TEST_OUTPUT_FILE) ) IF (NOT TEST_SKIP_COMPARE_OUTPUT_FILES) MESSAGE (FATAL_ERROR "Require TEST_OUTPUT_FILE or TEST_OUTPUT_FILE_LIST to be defined") ENDIF (NOT TEST_SKIP_COMPARE_OUTPUT_FILES) ENDIF () # Check that the ouput file list is defined IF ( (NOT TEST_OUTPUT_FILE_LIST) AND (TEST_OUTPUT_FILE) ) SET (TEST_OUTPUT_FILE_LIST ${TEST_OUTPUT_FILE}) ENDIF () # Check that the reference ouput file list is defined IF ( (NOT TEST_REF_OUTPUT_FILE_LIST) AND (TEST_REF_OUTPUT_FILE) ) SET (TEST_REF_OUTPUT_FILE_LIST ${TEST_REF_OUTPUT_FILE}) ENDIF () # Replace ";" by space in the list of arguments STRING (REPLACE ";" " " TEST_ARGS_STRING "${TEST_ARGS}") MESSAGE (STATUS "COMMAND: ${TEST_PROGRAM} ${TEST_ARGS_STRING}") IF (TEST_ENV_VAR) # MESSAGE (STATUS "TEST_ENV_VAR: $ENV{${TEST_ENV_VAR}}") SET (ENV{${TEST_ENV_VAR}} "${TEST_ENV_VALUE}") # MESSAGE (STATUS "TEST_ENV_VAR: $ENV{${TEST_ENV_VAR}}") ENDIF (TEST_ENV_VAR) # # Remove the output file if it already exists # EXECUTE_PROCESS ( # COMMAND ${CMAKE_COMMAND} # -E remove # ${TEST_OUTPUT_FILE} # ) SET (TEST_OUTPUT "${TEST_NAME}.out") SET (TEST_ERR "${TEST_NAME}.err") # run the test program, capture the stdout/stderr and the result var EXECUTE_PROCESS ( COMMAND ${TEST_PROGRAM} ${TEST_ARGS} WORKING_DIRECTORY ${TEST_FOLDER} RESULT_VARIABLE TEST_RESULT OUTPUT_FILE ${TEST_OUTPUT} ERROR_FILE ${TEST_ERR} ) MESSAGE (STATUS "COMMAND Result: ${TEST_RESULT}") # if the return value is !=${TEST_EXPECT} bail out IF (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT}) MESSAGE ( FATAL_ERROR "Failed: Test program ${TEST_PROGRAM} exited != ${TEST_EXPECT}.\n${TEST_ERROR}") ENDIF (NOT ${TEST_RESULT} STREQUAL ${TEST_EXPECT}) # IF (TEST_ERROR) # MESSAGE (STATUS "COMMAND Error:\n${TEST_ERROR}") # ENDIF (TEST_ERROR) IF (NOT TEST_SKIP_COMPARE_OUTPUT) # now compare the output with the reference EXECUTE_PROCESS ( COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT} ${TEST_REF_OUTPUT} RESULT_VARIABLE TEST_RESULT ) MESSAGE (STATUS "COMPARE stdout result: ${TEST_RESULT}") # again, if return value is !=0 scream and shout IF (NOT ${TEST_RESULT} STREQUAL 0) MESSAGE (FATAL_ERROR "Failed: The content of ${TEST_FOLDER}/${TEST_OUTPUT} did not match ${TEST_REF_OUTPUT}") # print the content of the files FILE (READ ${TEST_REF_OUTPUT} REFERENCE_OUTPUT) MESSAGE (STATUS "Expected output:\n${REFERENCE_OUTPUT}") FILE (READ ${TEST_FOLDER}/${TEST_OUTPUT} GENERATED_OUTPUT) MESSAGE (STATUS "Obtained output:\n${GENERATED_OUTPUT}") ENDIF (NOT ${TEST_RESULT} STREQUAL 0) ENDIF (NOT TEST_SKIP_COMPARE_OUTPUT) IF (NOT TEST_SKIP_COMPARE_ERR) # now compare the output with the reference EXECUTE_PROCESS ( COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_ERR} ${TEST_REF_ERR} RESULT_VARIABLE TEST_RESULT ) MESSAGE (STATUS "COMPARE stderr result: ${TEST_RESULT}") # again, if return value is !=0 scream and shout IF (NOT ${TEST_RESULT} STREQUAL 0) MESSAGE (FATAL_ERROR "Failed: The content of ${TEST_FOLDER}/${TEST_ERR} did not match ${TEST_REF_ERR}") # print the content of the files FILE (READ ${TEST_REF_ERR} REFERENCE_ERR) MESSAGE (STATUS "Expected error:\n${REFERENCE_ERR}") FILE (READ ${TEST_FOLDER}/${TEST_ERR} GENERATED_ERR) MESSAGE (STATUS "Obtained error:\n${GENERATED_ERR}") ENDIF (NOT ${TEST_RESULT} STREQUAL 0) ENDIF (NOT TEST_SKIP_COMPARE_ERR) IF (NOT TEST_SKIP_COMPARE_OUTPUT_FILES) LIST (LENGTH TEST_OUTPUT_FILE_LIST TEST_OUTPUT_FILE_LIST_LEN) MATH (EXPR NITEMS "${TEST_OUTPUT_FILE_LIST_LEN} - 1") FOREACH (ITEM RANGE "${NITEMS}") LIST (GET TEST_OUTPUT_FILE_LIST ${ITEM} TEST_OUTPUT_FILE) LIST (GET TEST_REF_OUTPUT_FILE_LIST ${ITEM} TEST_REF_OUTPUT_FILE) # now compare the output file with the reference file EXECUTE_PROCESS ( COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_FOLDER}/${TEST_OUTPUT_FILE} ${TEST_REF_OUTPUT_FILE} RESULT_VARIABLE TEST_RESULT ) MESSAGE (STATUS "COMPARE output files result: ${TEST_RESULT}") # again, if return value is !=0 scream and shout IF (NOT ${TEST_RESULT} STREQUAL 0) MESSAGE (FATAL_ERROR "Failed: The file ${TEST_FOLDER}/${TEST_OUTPUT_FILE} did not match ${TEST_REF_OUTPUT_FILE}") ENDIF (NOT ${TEST_RESULT} STREQUAL 0) ENDFOREACH() ENDIF (NOT TEST_SKIP_COMPARE_OUTPUT_FILES) # # Remove the files that have been generated during the test # EXECUTE_PROCESS ( # COMMAND ${CMAKE_COMMAND} # -E remove # ${TEST_OUTPUT_FILE} # ) # everything went fine... MESSAGE ("Passed: The output of ${TEST_PROGRAM} matches ${TEST_REFERENCE}") fcidecomp-2.1.1/src/fcidecomp/cmake/config/unitTestSettings.cmake000066400000000000000000000035711473255640600250750ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services #--------------------------------------------------------------------------- # Unit Test Settings #--------------------------------------------------------------------------- IF (BUILD_TESTING) ENABLE_TESTING() # Setting for the tests with valgrind IF (MEMORY_CHECK) INCLUDE(CTest) # Find valgrind program FIND_PROGRAM (CTEST_MEMORYCHECK_COMMAND valgrind) IF (CTEST_MEMORYCHECK_COMMAND) # Valgrind has been found MESSAGE ("-- Check for valgrind program: ${CTEST_MEMORYCHECK_COMMAND}") # Set valgrind options SET (CTEST_MEMORYCHECK_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --trace-children=yes --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe") ELSE (CTEST_MEMORYCHECK_COMMAND) # Valgrind has not been found # Disable memory check SET (MEMORY_CHECK OFF) ENDIF (CTEST_MEMORYCHECK_COMMAND) ENDIF (MEMORY_CHECK) # Setting for the coverage testing IF (COVERAGE_TESTING) INCLUDE (CTest) ENDIF (COVERAGE_TESTING) ENDIF (BUILD_TESTING) fcidecomp-2.1.1/src/fcidecomp/cmake/modules/000077500000000000000000000000001473255640600207305ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/cmake/modules/FindCHARLS.cmake000066400000000000000000000047531473255640600235200ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl # - Find CharLS, an optimized JPEG-LS compression library # # To provide the module with a hint about where to find your CharLS # installation, you can set the environment variable CHARLS_ROOT. The # Find module will then look in this path when searching for CharLS # paths, and libraries. # # This module will define the following variables: # CHARLS_FOUND - Indicates whether the library has been found at all # CHARLS_LIBRARY - Name of the library to link # CHARLS_INCLUDE_DIR - Path to the header files to include # if(DEFINED ENV{CHARLS_ROOT}) message(STATUS "CHARLS_ROOT defined: $ENV{CHARLS_ROOT}") else() message(STATUS "CHARLS_ROOT not defined") endif() find_path(CHARLS_INCLUDE_DIR NAMES charls.h HINTS CHARLS_ROOT ENV CHARLS_ROOT PATH_SUFFIXES /include/CharLS /include/charls DOC "CharLS include directory." ) if(WIN32) if($ENV{ARCH} EQUAL "64") set(charls_lib_name charls-2-x64) else () set(charls_lib_name charls-2-x86) endif () else () set(charls_lib_name CharLS charls) endif () find_library(CHARLS_LIBRARY NAMES ${charls_lib_name} HINTS CHARLS_ROOT ENV CHARLS_ROOT PATHS /usr/ /usr/local/ PATH_SUFFIXES lib Lib DOC "CharLS library." ) if (CHARLS_LIBRARY AND CHARLS_INCLUDE_DIR) set(CHARLS_LIBRARIES ${CHARLS_LIBRARY}) set(CHARLS_INCLUDE_DIRS ${CHARLS_INCLUDE_DIR}) set(CHARLS_FOUND "YES") else () set(CHARLS_FOUND "NO") endif () if (CHARLS_FOUND) if(NOT CHARLS_FIND_QUIETLY) message(STATUS "Found CHARLS: ${CHARLS_LIBRARY}") endif() else() if(CHARLS_FIND_REQUIRED) message(FATAL_ERROR "Couldn't find CharLS library!") endif() endif() mark_as_advanced( CHARLS_LIBRARY CHARLS_INCLUDE_DIR ) fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/000077500000000000000000000000001473255640600214315ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/CMakeLists.txt000066400000000000000000000566151473255640600242060ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl # Build the HDF5 JPEG-LS compression-decompression filter. # # To provide the module with a hint about where to find your FCICOMP_JPEGLS # installation, you can set the environment variable FCICOMP_JPEGLS_ROOT. The # Find module will then look in this path when searching for CharLS # paths, and libraries. # # The module is build with compiler settings in # ${FCICOMP_RESOURCES_DIR}/compilerFlags.cmake. # # Unit test settings are in # ${FCICOMP_RESOURCES_DIR}/unitTestSettings.cmake. # cmake_minimum_required (VERSION 2.8.12) PROJECT (H5ZJPEGLS C) INCLUDE (${CMAKE_CURRENT_SOURCE_DIR}/Version.cmake) MESSAGE("") MESSAGE("**************************") MESSAGE(" ${PROJECT_NAME}") MESSAGE("**************************") MESSAGE("") # FCICOMP_ROOT should be set IF (NOT FCICOMP_ROOT) # Otherwise try to set the FCICOMP_ROOT to a default value SET (FCICOMP_ROOT ${H5ZJPEGLS_SOURCE_DIR}/..) ENDIF (NOT FCICOMP_ROOT) # Define where to find the FCICOMP_COMMON source code SET (FCICOMP_COMMON_SOURCE_DIR ${FCICOMP_ROOT}/fcicomp-common) #--------------------------------------------------------------------------- # Optional Settings #--------------------------------------------------------------------------- # Force building with shared libraries instead of static SET(BUILD_SHARED_LIBS ON) # Build with logging enable? OPTION(LOGGING "Enable logging" ON) # Build the unit tests? OPTION(BUILD_TESTING "Build unit tests" ON) OPTION(MEMORY_CHECK "Enable memory check" OFF) OPTION(COVERAGE_TESTING "Enable coverage testing" OFF) #----------------------------------------------------------------------------- # Define some CMake variables for use later in the project #----------------------------------------------------------------------------- SET (FCICOMP_CMAKE_MODULE_PATH ${FCICOMP_ROOT}/cmake/modules) SET (FCICOMP_RESOURCES_DIR ${FCICOMP_ROOT}/cmake/config) #----------------------------------------------------------------------------- # Set the path for external cmake modules #----------------------------------------------------------------------------- SET (CMAKE_MODULE_PATH ${FCICOMP_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH}) #----------------------------------------------------------------------------- # FCICOMP-JPEGLS Library Settings # Users can set the FCICOMP_JPEGLS_ROOT variable which is copied to ENV{FCICOMP_JPEGLS_ROOT} #----------------------------------------------------------------------------- # Copy the FCICOMP_JPEGLS_ROOT variable retrieved from the cmake command line option # -DFCICOMP_JPEGLS_ROOT into the ENV{FCICOMP_JPEGLS_ROOT} variable used by the FIND_PACKAGE(FCICOMP_JPEGLS_ROOT) command. SET (ENV{FCICOMP_JPEGLS_ROOT} ${FCICOMP_JPEGLS_ROOT}) # Find FCICOMP_JPEGLS includes and library FIND_PACKAGE (FCICOMP_JPEGLS REQUIRED) INCLUDE_DIRECTORIES (${FCICOMP_JPEGLS_INCLUDE_DIR}) #----------------------------------------------------------------------------- # HDF5 Library Settings # Users can set the HDF5_ROOT variable which is copied to ENV{HDF5_ROOT} # ENV{HDF5_ROOT} is used in by FindHDF5.cmake at the call of FIND_PACKAGE(HDF5_ROOT) #----------------------------------------------------------------------------- # Copy the HDF5_ROOT variable retrieved from the cmake command line option # -DHDF5_ROOT into the ENV{HDF5_ROOT} variable used by the FIND_PACKAGE(HDF5) command. IF (HDF5_ROOT) MESSAGE("HDF5_ROOT = ${HDF5_ROOT}") SET (ENV{HDF5_ROOT} ${HDF5_ROOT}) ENDIF (HDF5_ROOT) # Find HDF5 includes and library FIND_PACKAGE (HDF5 REQUIRED) # Set the HDF5 include directories if they have been found IF (HDF5_INCLUDE_DIRS) MESSAGE("HDF5_INCLUDE_DIRS = ${HDF5_INCLUDE_DIRS}") INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIRS}) ENDIF (HDF5_INCLUDE_DIRS) #----------------------------------------------------------------------------- # Set the compiler specific flags #----------------------------------------------------------------------------- INCLUDE (${FCICOMP_RESOURCES_DIR}/compilerFlags.cmake) #----------------------------------------------------------------------------- # Set the unit test settings #----------------------------------------------------------------------------- INCLUDE (${FCICOMP_RESOURCES_DIR}/unitTestSettings.cmake) #----------------------------------------------------------------------------- # System inspection #----------------------------------------------------------------------------- INCLUDE (CheckIncludeFiles) CHECK_INCLUDE_FILES("stdlib.h" HAVE_STDLIB_H) CHECK_INCLUDE_FILES("stdio.h" HAVE_STDIO_H) CHECK_INCLUDE_FILES("stdarg.h" HAVE_STDARG_H) CHECK_INCLUDE_FILES("strings.h" HAVE_STRINGS_H) #----------------------------------------------------------------------------- # Define the rpath settings for the H5Zjpegls library #----------------------------------------------------------------------------- # =========== NOTE ON THE HDF5 PLUGIN INSTALLATION DIRECTORY ================= # # The default directory for an HDF5 filter plugin library is defined on # UNIX-like systems as: # # /usr/local/hdf5/lib/plugin # # It is recommended for users to set the CMAKE_INSTALL_PREFIX variable # point to the /usr/local directory. # # The default path can be overwritten by a user with the # HDF5_PLUGIN_PATH environment variable. # # ============================================================================ # Set the default installation directory IF (NOT CMAKE_INSTALL_PREFIX) SET (CMAKE_INSTALL_PREFIX "/usr/local") ENDIF (NOT CMAKE_INSTALL_PREFIX) # Add the automatically determined parts of the RPATH # which point to directories outside the build tree to the install RPATH SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # The RPATH to be used when installing, but only if it's not a system directory LIST (FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/hdf5/lib/plugin" isSystemDir) IF ("${isSystemDir}" STREQUAL "-1") SET (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/hdf5/lib/plugin") ENDIF ("${isSystemDir}" STREQUAL "-1") #----------------------------------------------------------------------------- # Define H5Zjpegls library #----------------------------------------------------------------------------- # Define the name of the library SET (TARGET_LIBRARY_NAME H5Zjpegls) # Create the list of source code files SET (H5ZJPEGLS_SRCS ${H5ZJPEGLS_SOURCE_DIR}/src/H5Zjpegls.c ${FCICOMP_COMMON_SOURCE_DIR}/src/fcicomp_log.c ) # Include the "include" directory INCLUDE_DIRECTORIES (${H5ZJPEGLS_SOURCE_DIR}/include ${FCICOMP_COMMON_SOURCE_DIR}/include) # Create the H5Zjpegls library ADD_LIBRARY (${TARGET_LIBRARY_NAME} SHARED ${H5ZJPEGLS_SRCS}) TARGET_LINK_LIBRARIES (${TARGET_LIBRARY_NAME} PRIVATE ${FCICOMP_JPEGLS_LIBRARIES}) TARGET_LINK_LIBRARIES (${TARGET_LIBRARY_NAME} PRIVATE ${HDF5_LIBRARIES}) IF (WIN32) # Find ZLIB, this set ZLIB_LIBRARIES FIND_PACKAGE (ZLIB REQUIRED) TARGET_LINK_LIBRARIES (${TARGET_LIBRARY_NAME} PRIVATE ${ZLIB_LIBRARIES}) ENDIF() # Set the version and soversion of the library # this creates the dynamic links SET_TARGET_PROPERTIES (${TARGET_LIBRARY_NAME} PROPERTIES VERSION ${H5ZJPEGLS_VERSION} SOVERSION ${H5ZJPEGLS_SOVERSION}) #----------------------------------------------------------------------------- # Logging settings #----------------------------------------------------------------------------- # Define the default logging level SET (DEFAULT_LOGGING_LEVEL "ERROR_SEVERITY") # Define the default logging level depending on the debug mode IF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") SET (DEFAULT_LOGGING_LEVEL "DEBUG_SEVERITY") ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") # Enable logging IF (LOGGING OR LOGGING_LEVEL) SET (EXTRA_COMPILER_FLAGS "-DLOGGING ${EXTRA_COMPILER_FLAGS}") # Set the logging level IF (NOT LOGGING_LEVEL) # Set the default logging level SET (LOGGING_LEVEL ${DEFAULT_LOGGING_LEVEL}) ENDIF (NOT LOGGING_LEVEL) # Set the logging level SET (EXTRA_COMPILER_FLAGS "-DLOGGING_LEVEL=${DEFAULT_LOGGING_LEVEL} ${EXTRA_COMPILER_FLAGS}") ENDIF (LOGGING OR LOGGING_LEVEL) #----------------------------------------------------------------------------- # Set extra compiler flags #----------------------------------------------------------------------------- # Test Coverage Settings IF (COVERAGE_TESTING) SET (EXTRA_COMPILER_FLAGS "-fprofile-arcs -ftest-coverage ${EXTRA_COMPILER_FLAGS}") SET (EXTRA_LINK_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage ${EXTRA_LINK_FLAGS_DEBUG} ") ENDIF (COVERAGE_TESTING) # Add extra compiler flags if any IF (EXTRA_COMPILER_FLAGS) SET_TARGET_PROPERTIES(${TARGET_LIBRARY_NAME} PROPERTIES COMPILE_FLAGS ${EXTRA_COMPILER_FLAGS}) ENDIF (EXTRA_COMPILER_FLAGS) # Add extra link flags if any IF (EXTRA_LINK_FLAGS_DEBUG) SET_TARGET_PROPERTIES(${TARGET_LIBRARY_NAME} PROPERTIES LINK_FLAGS_DEBUG ${EXTRA_LINK_FLAGS_DEBUG}) ENDIF (EXTRA_LINK_FLAGS_DEBUG) #----------------------------------------------------------------------------- # Define the installed components for the H5Zjpegls library #----------------------------------------------------------------------------- # Define the PROJECT_NAME_LOWER variable STRING (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER) # Define the include and lib install dir SET (INCLUDE_INSTALL_DIR include/) SET (LIBRARY_INSTALL_DIR hdf5/lib/plugin/) # Install the library INSTALL (TARGETS ${TARGET_LIBRARY_NAME} EXPORT "${PROJECT_NAME_LOWER}-targets" LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} INCLUDES DESTINATION ${INCLUDE_INSTALL_DIR} ) # Install include headers INSTALL (FILES ${H5ZJPEGLS_SOURCE_DIR}/include/H5Zjpegls.h DESTINATION ${INCLUDE_INSTALL_DIR}) #----------------------------------------------------------------------------- # Create the package #----------------------------------------------------------------------------- SET (PROJECT_VERSION ${H5ZJPEGLS_VERSION}) INCLUDE (${FCICOMP_RESOURCES_DIR}/packageConfig.cmake) #----------------------------------------------------------------------------- # Unit tests #----------------------------------------------------------------------------- IF (BUILD_TESTING) # Define the unit tests directory SET (TEST_DIR ${H5ZJPEGLS_SOURCE_DIR}/test) # Define where the source codes of the unit test are located SET (TEST_SOURCE_DIR ${TEST_DIR}/src) # Define the directory where are located the test data SET (TEST_DATA_DIR ${TEST_DIR}/data) #------------------------------------------------------------------------- # Define the executables test programs #------------------------------------------------------------------------- # H5Zjpegls_test ADD_EXECUTABLE (H5Zjpegls_test ${TEST_SOURCE_DIR}/H5Zjpegls_test.c ${TEST_SOURCE_DIR}/H5Zjpegls_encode_nominal.c ${TEST_SOURCE_DIR}/H5Zjpegls_encode_rgba_nominal.c ${TEST_SOURCE_DIR}/H5Zjpegls_encode_cannot_apply.c ${TEST_SOURCE_DIR}/H5Zjpegls_decode_nominal.c ) TARGET_LINK_LIBRARIES (H5Zjpegls_test ${HDF5_LIBRARIES}) IF (WIN32) TARGET_LINK_LIBRARIES (H5Zjpegls_test ${ZLIB_LIBRARIES}) ENDIF() #------------------------------------------------------------------------- # Define the test image #------------------------------------------------------------------------- # sample # ------ # Define the test image name, size and bpp SET (TEST_SAMPLE_IMAGE_NAME "sample") SET (TEST_SAMPLE_IMAGE_SIZE "200;100") SET (TEST_SAMPLE_IMAGE_BPP "16") # Define the reference uncompressed image file SET (REF_SAMPLE_RAW_FILE "${TEST_DATA_DIR}/${TEST_SAMPLE_IMAGE_NAME}_ref.raw") # Define the reference compressed image file SET (REF_SAMPLE_HDF5_FILE "${TEST_DATA_DIR}/${TEST_SAMPLE_IMAGE_NAME}_ref.h5") # RGBA_sample # ----------- # Define the test RGBA image name, size and bpp SET (TEST_RGBA_SAMPLE_IMAGE_NAME "RGBA_sample") SET (TEST_RGBA_SAMPLE_IMAGE_SIZE "60;40") SET (TEST_RGBA_SAMPLE_IMAGE_BPP "8") SET (TEST_RGBA_SAMPLE_IMAGE_COMPONENTS "4") # Define the reference uncompressed image file SET (REF_RGBA_SAMPLE_RAW_FILE "${TEST_DATA_DIR}/${TEST_RGBA_SAMPLE_IMAGE_NAME}_ref.raw") # Define the reference compressed image file SET (REF_RGBA_SAMPLE_HDF5_FILE "${TEST_DATA_DIR}/${TEST_RGBA_SAMPLE_IMAGE_NAME}_ref.h5") # noise_sample # ----------- # Define the test RGBA image name, size and bpp SET (TEST_NOISE_SAMPLE_IMAGE_NAME "noise_sample") SET (TEST_NOISE_SAMPLE_IMAGE_SIZE "32;32") SET (TEST_NOISE_SAMPLE_IMAGE_BPP "16") # Define the reference uncompressed image file SET (REF_NOISE_SAMPLE_RAW_FILE "${TEST_DATA_DIR}/${TEST_NOISE_SAMPLE_IMAGE_NAME}_ref.raw") # Define the reference compressed image file SET (REF_NOISE_SAMPLE_HDF5_FILE "${TEST_DATA_DIR}/${TEST_NOISE_SAMPLE_IMAGE_NAME}_ref.h5") #------------------------------------------------------------------------- # Define the unit test macro for this module #------------------------------------------------------------------------- # ------------------------------------------- # Define the unit test macro for this module MACRO (ADD_H5ZJPEGLS_UNIT_TEST testname input_file output_file reference_file) IF (MEMORY_CHECK) # If memory check is enable, do not run the tests using cmake # Run the test directly ADD_TEST ( NAME ${testname} COMMAND H5Zjpegls_test ${testname} ${input_file} ${output_file} ${ARGN} WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) ELSE (MEMORY_CHECK) # If LOGGING is not enable, do not compare the stderr IF (LOGGING) SET(TEST_REF_ERR ${TEST_DATA_DIR}/${testname}_ref.err) ENDIF(LOGGING) # If memory check is disable, also run file comparisons ADD_TEST ( NAME ${testname} COMMAND "${CMAKE_COMMAND}" -D "TEST_NAME=${testname}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=${testname};${input_file};${output_file};${ARGN}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" -D "TEST_REF_ERR=${TEST_REF_ERR}" -D "TEST_OUTPUT_FILE=${output_file}" -D "TEST_REF_OUTPUT_FILE=${reference_file}" -P "${FCICOMP_RESOURCES_DIR}/runTestCompare.cmake" ) ENDIF (MEMORY_CHECK) # Add the building directory to the HDF5_PLUGIN_PATH environment variable SET_PROPERTY(TEST ${testname} PROPERTY ENVIRONMENT "HDF5_PLUGIN_PATH=${H5ZJPEGLS_BINARY_DIR}:$ENV{HDF5_PLUGIN_PATH}" ) ENDMACRO (ADD_H5ZJPEGLS_UNIT_TEST) # # --------------------------------------------- # # Define the h5ls test macro for this module # # This macro compare the output of h5ls to reference results # # The second argument is the dependancy on a previous test (which generates the h5 file) # # Try to find h5ls # FIND_PROGRAM (H5LS h5ls # HINTS ENV HDF5_ROOT # PATH_SUFFIXES bin Bin) # MACRO (ADD_H5LS_CMP_UNIT_TEST h5filename testdep) # # If memory check is enable, do not run the tests # IF (NOT MEMORY_CHECK) # # Test with h5ls -v -r # IF (H5LS AND HDF5_FOUND) # # Get the HDF5 libray path: the first element in the list HDF5_LIBRARIES # LIST (GET HDF5_LIBRARIES 0 HDF5_LIBRARY) # # Get the directory of the HDF5 library # GET_FILENAME_COMPONENT (HDF5_LIBRARY_DIR ${HDF5_LIBRARY} DIRECTORY) # # Add a test with h5ls # ADD_TEST ( # NAME h5ls:${h5filename} # COMMAND "${CMAKE_COMMAND}" # -D "TEST_PROGRAM=${H5LS}" # -D "TEST_ARGS:STRING=-v;-r;${h5filename}" # -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" # -D "TEST_OUTPUT=${h5filename}.h5ls" # -D "TEST_EXPECT=0" # -D "TEST_REFERENCE=${TEST_DATA_DIR}/${h5filename}.h5ls" # -P "${FCICOMP_RESOURCES_DIR}/runTest.cmake" # ) # # Set the LD_LIBRARY_PATH for H5LS to find the hdf5 library # SET_PROPERTY (TEST h5ls:${h5filename} PROPERTY ENVIRONMENT # "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HDF5_LIBRARY_DIR}") # ENDIF (H5LS AND HDF5_FOUND) # SET_TESTS_PROPERTIES (h5ls:${h5filename} PROPERTIES DEPENDS testdep) # # Compare the h5 file with the reference # ADD_TEST ( # NAME cmp:${h5filename} # COMMAND ${CMAKE_COMMAND} # -E compare_files # ${h5filename} # ${TEST_DATA_DIR}/${h5filename} # WORKING_DIRECTORY ${PROJECT_BINARY_DIR} # ) # SET_TESTS_PROPERTIES (cmp:${h5filename} PROPERTIES DEPENDS testdep) # ENDIF (NOT MEMORY_CHECK) # ENDMACRO (ADD_H5LS_CMP_UNIT_TEST) #------------------------------------------------------------------------- # Define the unit tests #------------------------------------------------------------------------- # --------------------------- # Test H5ZjpeglsEncodeNominal # Define the name of the compressed file at the output of the # nominal compression test SET (TEST_OUTPUT_FILE "${TEST_SAMPLE_IMAGE_NAME}.h5") # Add the unit test: run H5Zjpegls_test with the H5ZjpeglsEncodeNominal # test and the raw image at the input ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsEncodeNominal ${REF_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${REF_SAMPLE_HDF5_FILE} ${TEST_SAMPLE_IMAGE_SIZE} ${TEST_SAMPLE_IMAGE_BPP}) # Add the h5ls unit test: compare the h5ls of the h5 file to the reference # ADD_H5LS_CMP_UNIT_TEST (${TEST_OUTPUT_FILE} H5ZjpeglsEncodeNominal) # ------------------------------- # Test H5ZjpeglsEncodeRGBANominal # Define the name of the compressed file at the output of the # nominal compression test SET (TEST_OUTPUT_FILE "${TEST_RGBA_SAMPLE_IMAGE_NAME}.h5") # Add the unit test: run H5Zjpegls_test with the H5ZjpeglsEncodeRGBANominal # test and the raw image at the input ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsEncodeRGBANominal ${REF_RGBA_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${REF_RGBA_SAMPLE_HDF5_FILE} ${TEST_RGBA_SAMPLE_IMAGE_SIZE} ${TEST_RGBA_SAMPLE_IMAGE_COMPONENTS} ${TEST_RGBA_SAMPLE_IMAGE_BPP}) # Add the h5ls unit test: compare the h5ls of the h5 file to the reference # ADD_H5LS_CMP_UNIT_TEST (${TEST_OUTPUT_FILE} H5ZjpeglsEncodeRGBANominal) # ------------------------------- # Test H5ZjpeglsEncodeIneffective # Define the name of the file at the output of the test SET (TEST_OUTPUT_FILE "${TEST_NOISE_SAMPLE_IMAGE_NAME}.h5") # Add the unit test: run H5Zjpegls_test with the H5ZjpeglsEncodeNominal # test and the raw image at the input ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsEncodeIneffective ${REF_NOISE_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${REF_NOISE_SAMPLE_HDF5_FILE} ${TEST_NOISE_SAMPLE_IMAGE_SIZE} ${TEST_NOISE_SAMPLE_IMAGE_BPP}) # Add the h5ls unit test: compare the h5ls of the h5 file to the reference # ADD_H5LS_CMP_UNIT_TEST (${TEST_OUTPUT_FILE} H5ZjpeglsEncodeIneffective) # ------------------------------- # Test H5ZjpeglsEncodeCannotApply # Define the name of the file at the output of the test SET (TEST_OUTPUT_FILE "testH5ZjpeglsEncodeCannotApply.h5") # Add the unit test: run H5Zjpegls_test with the H5ZjpeglsEncodeCannotApply # test and the raw image at the input ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsEncodeCannotApply ${REF_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${TEST_DATA_DIR}/testH5ZjpeglsEncodeCannotApply_ref.h5 ${TEST_SAMPLE_IMAGE_SIZE} ${TEST_SAMPLE_IMAGE_BPP}) # Add the h5ls unit test: compare the h5ls of the h5 file to the reference # ADD_H5LS_CMP_UNIT_TEST (${TEST_OUTPUT_FILE} H5ZjpeglsEncodeCannotApply) # --------------------------- # Test H5ZjpeglsDecodeNominal # Define the name of the decompressed file at the output of the # nominal decompression test SET (TEST_OUTPUT_FILE "${TEST_SAMPLE_IMAGE_NAME}.raw") # Add the unit test: run H5Zjpegls_decode_test with the # H5ZjpeglsDecodeNominal test and the hdf5 file at the input, and # compare the decompressed output file with the reference raw file ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsDecodeNominal ${REF_SAMPLE_HDF5_FILE} ${TEST_OUTPUT_FILE} ${REF_SAMPLE_RAW_FILE}) # ------------------------------- # Test H5ZjpeglsDecodeRGBANominal # Define the name of the decompressed file at the output of the # nominal decompression test SET (TEST_RGBA_SAMPLE_OUTPUT_FILE "${TEST_RGBA_SAMPLE_IMAGE_NAME}.raw") # Add the unit test: run H5Zjpegls_decode_test with the H5ZjpeglsDecodeNominal # test and the hdf5 file at the input ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsDecodeRGBANominal ${REF_RGBA_SAMPLE_HDF5_FILE} ${TEST_RGBA_SAMPLE_OUTPUT_FILE} ${REF_RGBA_SAMPLE_RAW_FILE}) # ------------------------------- # Test H5ZjpeglsDecodeIneffective # Define the name of the compressed file at the output of the # nominal compression test SET (TEST_OUTPUT_FILE "${TEST_NOISE_SAMPLE_IMAGE_NAME}.h5") # Add the unit test: run H5Zjpegls_decode_test with the H5ZjpeglsDecodeNominal # test and the hdf5 file at the input ADD_H5ZJPEGLS_UNIT_TEST (H5ZjpeglsDecodeIneffective ${REF_NOISE_SAMPLE_HDF5_FILE} ${TEST_OUTPUT_FILE} ${REF_NOISE_SAMPLE_RAW_FILE}) ENDIF (BUILD_TESTING) #----------------------------------------------------------------------------- # Print the configuration summary #----------------------------------------------------------------------------- MESSAGE("") MESSAGE("-----------------------------------------------------------------") MESSAGE("Configuration Summary of ${PROJECT_NAME}:") MESSAGE("") MESSAGE(STATUS "Building Shared Libraries: ${BUILD_SHARED_LIBS}") IF(CMAKE_PREFIX_PATH) MESSAGE(STATUS "CMake Prefix Path: ${CMAKE_PREFIX_PATH}") ENDIF() IF(CMAKE_INSTALL_PREFIX) MESSAGE(STATUS "CMake Install Prefix: ${CMAKE_INSTALL_PREFIX}") ENDIF() MESSAGE("") MESSAGE("Options:") MESSAGE(STATUS "Logging: ${LOGGING}") IF(LOGGING) MESSAGE(STATUS "Logging level: ${LOGGING_LEVEL}") ENDIF() MESSAGE("") MESSAGE("Compiler:") MESSAGE(STATUS "Build Type: ${CMAKE_BUILD_TYPE}") MESSAGE(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}") MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") IF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") MESSAGE(STATUS "CMAKE_C_FLAGS_DEBUG: ${CMAKE_C_FLAGS_DEBUG}") ENDIF() IF("${CMAKE_BUILD_TYPE}" STREQUAL "RELEASE") MESSAGE(STATUS "CMAKE_C_FLAGS_RELEASE: ${CMAKE_C_FLAGS_RELEASE}") ENDIF() IF(EXTRA_COMPILER_FLAGS) MESSAGE(STATUS "EXTRA_COMPILER_FLAGS: ${EXTRA_COMPILER_FLAGS}") ENDIF() MESSAGE(STATUS "Linking against: ${FCICOMP_JPEGLS_LIBRARIES}") MESSAGE("") MESSAGE("Tests:") MESSAGE(STATUS "Tests Enabled: ${BUILD_TESTING}") MESSAGE(STATUS "Coverage testing: ${COVERAGE_TESTING}") MESSAGE(STATUS "Memory check: ${MEMORY_CHECK}") MESSAGE("-----------------------------------------------------------------") MESSAGE("") fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/Version.cmake000066400000000000000000000021371473255640600240630ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # Set the version of the module SET(H5ZJPEGLS_MAJOR_VERSION 2) SET(H5ZJPEGLS_MINOR_VERSION 0) SET(H5ZJPEGLS_PATCH_VERSION 0) SET(H5ZJPEGLS_VERSION ${H5ZJPEGLS_MAJOR_VERSION}.${H5ZJPEGLS_MINOR_VERSION}.${H5ZJPEGLS_PATCH_VERSION}) # Set the version of the external API SET(H5ZJPEGLS_SOVERSION 2) fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/h5zjpegls-config.cmake.in000066400000000000000000000027111473255640600262170ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - Config file for the H5ZJPEGLS package # It defines the following variables # H5ZJPEGLS_INCLUDE_DIR - include directories for fcicomp_jpegls # H5ZJPEGLS_LIBRARY_DIR - libraries to link against # H5ZJPEGLS_LIBRARIES - libraries to link against # The following line is for used by configure_package_config_file() @PACKAGE_INIT@ SET (H5ZJPEGLS_VERSION "@H5ZJPEGLS_VERSION@") INCLUDE ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME_LOWER@-targets.cmake") SET_AND_CHECK (H5ZJPEGLS_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") SET_AND_CHECK (H5ZJPEGLS_LIBRARY_DIRS "@PACKAGE_LIBRARY_INSTALL_DIR@") SET (H5ZJPEGLS_LIBRARIES "fcicomp::@TARGET_LIBRARY_NAME@") fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/include/000077500000000000000000000000001473255640600230545ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/include/H5Zjpegls.h000066400000000000000000000055251473255640600250470ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #ifndef H5ZJPEGLS_H_ #define H5ZJPEGLS_H_ #include "fcicomp_jpegls.h" /** * Define the filter ID. * * The filter identifier is designed to be a unique identifier for the filter. * Values from zero through 32,767 are reserved for filters supported by The * HDF Group in the HDF5 library and for filters requested and supported by * the 3rd party. * * Values from 32768 to 65535 are reserved for non-distributed uses (e.g., * internal company usage) or for application usage when testing a feature. * The HDF Group does not track or document the usage of filters with * identifiers from this range. * * The filter ID has been provided by the HDF Group. */ #define H5Z_FILTER_JPEGLS 32018 /** Define the filter name */ #define H5Z_FILTER_JPEGLS_NAME "JPEG-LS" /** Maximum number of dimensions of the datasets compressed with the JPEG-LS filter. * * Allow color images. */ #define H5Z_FILTER_JPEGLS_MAX_NDIMS 3 /** Number of user parameters for controlling the filter. * * This is the number of cd_nelmts the user shall set at the call to * H5Pset_filter with the H5Z_FILTER_JPEGLS id. */ #define H5Z_FILTER_JPEGLS_USER_NPARAMS (sizeof(jls_parameters_t)/sizeof(int)) /** Number of user parameters for controlling the filter. * * This is the number of cd_nelmts the user shall set at the call to * H5Pget_filter with the H5Z_FILTER_JPEGLS id. */ #define H5Z_FILTER_JPEGLS_NPARAMS (1 + H5Z_FILTER_JPEGLS_MAX_NDIMS + H5Z_FILTER_JPEGLS_USER_NPARAMS) /** Structure of the filter parameters. * * It contains only unsigned integers so that it may safely be casted * to an unsigned integer array cd_values[] at the input of the filter. */ typedef struct { unsigned int dataBytes; /**< data size (in bytes) */ unsigned int dims[H5Z_FILTER_JPEGLS_MAX_NDIMS]; /**< dimension of the image: number of components, number of lines, number of columns. Fastest varying dimension last.*/ jls_parameters_t jpeglsParameters; /**< user parameters for controlling the filter */ } jls_filter_parameters_t; #endif /* H5ZJPEGLS_H_ */ fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/include/H5Zjpegls_definitions.h000066400000000000000000000136521473255640600274420ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #ifndef H5ZJPEGLS_DEFINITIONS_H_ #define H5ZJPEGLS_DEFINITIONS_H_ #include "H5Zjpegls.h" /** Minimum number of pixels in the dataset */ #define MIN_PIXELS_NUMBER 16 /** Maximum spatial dimensions of the dataset */ #define MAX_XY_DIM 65535 /** Maximum number of components in the dataset. * Allow RGB, Alpha components */ #define MAX_Z_DIM 4 /** Margin factor on the compressed buffer size. * * This allows allocating slightly more memory than necessary for the cases * where the compression is not efficient e.g. noise image. Otherwise a * buffer overflow may occur in CharLS and also a potential seg fault. */ #define COMPRESSED_BUFFER_SIZE_MARGIN_FACTOR 1.2 /* VERSION:1.0.2:NCR:FCICOMP-12:04/09/2017:Add an offset on the allocated memory buffer for CharLS to prevent it crashes on very small images */ /** Offset on the compressed buffer size. * * This allows allocating memory that will hold the JPEG-LS header. */ #define COMPRESSED_BUFFER_SIZE_OFFSET 8086 ///** // * @brief Determine if the filter can be applied. // * // * Determine whether the combination of the dataset creation property // * list values, the datatype, and the dataspace represent a valid // * combination to apply this filter to. // * // * @param dcpl_id dataset's dataset creation property list, // * @param type_id dataset's datatype // * @param space_id dataspace describing a chunk (for chunked dataset storage) // * @return a positive value for a valid combination, zero for an invalid combination, and a negative value for an error. // */ htri_t can_apply(hid_t dcpl_id, hid_t type_id, hid_t space_id); ///** // * @brief Set any parameters that are specific to this dataset. // * // * Set any parameters that are specific to this dataset, based on the // * combination of the dataset creation property list values, the datatype, // * and the dataspace. // * // * @param dcpl_id dataset's private copy of the dataset creation property list passed in to H5Dcreate (i.e. not the actual property list passed in to H5Dcreate). // * @param type_id datatype identifier passed in to H5Dcreate, which is not copied and should not be modified. // * @param space_id dataspace describing the chunk (for chunked dataset storage), which should also not be modified. // * @return a non-negative value on success and a negative value for an error. // */ herr_t set_local(hid_t dcpl_id, hid_t type_id, hid_t space_id); ///** // * @brief Performs the action of the filter i.e. either the JPEG-LS // * compression or decompression of the input data. // * // * This function calls either the H5Z_filter_jpegls_encode function or the // * H5Z_filter_jpegls_decode function based on the filter direction flag. // * // * @param flags bit vector specifying certain general properties of the filter (e.g. H5Z_FLAG_REVERSE). // * @param cd_nelmts size of the cd_values array. // * @param cd_values array of cd_nelmts integers which are auxiliary data for the filter. The auxiliary data are defined by the structure jls_filter_parameters_t. // * @param nBytes number of bytes of valid data in the input buffer buf. // * @param buf_size size of the input buffer buf. // * @param buf pointer on the input buffer which has a size of *buf_size bytes, nbytes of which are valid data. // * @return the number of valid bytes of data contained in buf if successful, 0 otherwise. // */ size_t H5Z_filter_jpegls(unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf); ///** // * @brief Performs the action of the filter i.e. the JPEG-LS compression of the input data. // * // * @param cd_nelmts size of the cd_values array. // * @param cd_values array of cd_nelmts integers which are auxiliary data for the filter. The auxiliary data are defined by the structure jls_filter_parameters_t. // * @param nBytes number of bytes of valid data in the input buffer buf. // * @param buf_size size of the input buffer buf. // * @param buf pointer on the input buffer which has a size of *buf_size bytes, nbytes of which are valid data. // * @return the number of valid bytes of data contained in buf if successful, 0 otherwise. // */ size_t H5Z_filter_jpegls_encode(size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf); ///** // * @brief Performs the action of the filter i.e. the JPEG-LS decompression of the input data. // * // * @param flags bit vector specifying certain general properties of the filter (e.g. H5Z_FLAG_REVERSE). // * @param cd_nelmts size of the cd_values array. // * @param cd_values array of cd_nelmts integers which are auxiliary data for the filter. // * @param nBytes number of bytes of valid data in the input buffer buf. // * @param buf_size size of the input buffer buf. // * @param buf pointer on the input buffer which has a size of *buf_size bytes, nbytes of which are valid data. // * @return the number of valid bytes of data contained in buf if successful, 0 otherwise. // */ size_t H5Z_filter_jpegls_decode(size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf); #endif /* H5ZJPEGLS_DEFINITIONS_H_ */ fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/include/H5Zjpegls_messages.h000066400000000000000000000077771473255640600267510ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services /*! \file This file define the error messages printed by H5Zjpegls. */ #ifndef H5ZJPEGLS_MESSAGES_H_ #define H5ZJPEGLS_MESSAGES_H_ /* Error messages */ #define JPEGLS_COMPRESSION_ERROR "Error during the JPEG-LS compression of the dataset." #define JPEGLS_DECOMPRESSION_ERROR "Error during the JPEG-LS decompression of the dataset." //#define JPEGLS_READ_HEADER_ERROR "Error reading JPEG-LS header from dataset." #define COMPRESSED_BUFFER_OVERFLOW_ERROR "Buffer overflow. The compressed size is larger than the memory allocated to hold the compressed data! The allocated memory for the compressed buffer cannot be freed!" #define WRONG_FILTER_DIRECTION "Wrong filter direction in the HDF5 JPEG-LS filter!" #define INVALID_DATASPACE_MSG "Invalid HDF5 data space. Data space must be simple to be able to apply JPEG-LS filter." #define INVALID_DATATYPE_MSG "Invalid HDF5 data type. Data type must be integers to be able to apply JPEG-LS filter." #define INVALID_DATABYTES_MSG "Invalid number of bytes per sample. Data must be on one or two bytes per samples to be able to apply JPEG-LS filter." #define INVALID_BYTEORDER_MSG "Invalid byte order. Data must be either in big or little-endian to be able to apply JPEG-LS filter." #define INVALID_NUMBER_OF_DIMENSIONS_MSG "Invalid number of dimensions. Data must have 2 (or 3 dimensions in the case of color images) to be able to apply JPEG-LS filter." #define INVALID_NUMBER_OF_COMPONENTS_MSG "Invalid number of components. Data must have between 1 and 4 color components to be able to apply JPEG-LS filter." #define INVALID_DIMENSIONS_MSG "Invalid dimensions. Too few pixels or dimensions too large to be able to apply JPEG-LS filter." #define INVALID_NUMBER_OF_PARAMETERS_MSG "Invalid number of parameters in the HDF5 JPEG-LS filter." #define INVALID_BUFFER_SIZE_MSG "Invalid number of bytes passed at the input of the HDF5 JPEG-LS filter: The input number of bytes does not correspond to the size of the dataset." #define INVALID_NUMBER_OF_BYTES_MSG "Invalid buffer size passed at the input of the HDF5 JPEG-LS filter: The input buffer size is smaller than the size of the dataset." /* Warning messages */ #define INEFFICIENT_COMPRESSION_MSG "HDF5 JPEG-LS compression filter is not efficient on this dataset: The compressed size is larger than the uncompressed size! Data are let uncompressed." // #define FILTER_NOT_AVAILABLE_MSG "HDF5 JPEG-LS compression filter is not available." #define FAIL_TO_GET_FILTER_PARAMS_MSG "HDF5 JPEG-LS filter failed to get user defined JPEG-LS compression parameters. Setting default JPEG-LS compression parameters." /* Debug messages */ #define ENTER_FUNCTION "-> Enter in %s()" #define EXIT_FUNCTION "<- Exit from %s() with code: %d" #define CALL_JPEGLS_COMPRESS "-> Calling jpeglsCompress" #define EXIT_JPEGLS_COMPRESS "<- Exit from jpeglsCompress with code: %d" #define CALL_H5P_MODIFY_FILTER "-> Calling H5Pmodify_filter" #define EXIT_H5P_MODIFY_FILTER "<- Exit from H5Pmodify_filter with code: %d" #define CALL_JPEGLS_DECOMPRESS "-> Calling jpeglsDecompress" #define EXIT_JPEGLS_DECOMPRESS "<- Exit from jpeglsDecompress with code: %d" #endif /* H5ZJPEGLS_MESSAGES_H_ */ fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/src/000077500000000000000000000000001473255640600222205ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/src/H5Zjpegls.c000066400000000000000000000410141473255640600241770ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include #include "H5Zjpegls.h" #include "H5Zjpegls_definitions.h" #include "H5Zjpegls_messages.h" /* Include from fcicomp-common */ #include "fcicomp_log.h" #include "fcicomp_options.h" #include "fcicomp_errors.h" /** Registers the JPEG-LS coding filter. */ const H5Z_class2_t H5Z_JPEGLS[1] = { { H5Z_CLASS_T_VERS, /**< H5Z_class_t version */ (H5Z_filter_t) H5Z_FILTER_JPEGLS, /**< Filter id number */ 1, /**< encoder_present flag (set to true) */ 1, /**< decoder_present flag (set to true) */ "HDF5 JPEG-LS filter", /**< Filter name */ can_apply, /**< The "can apply" callback */ set_local, /**< The "set local" callback */ (H5Z_func_t) H5Z_filter_jpegls, /**< The actual filter function */ } }; // Get plugin type H5PL_type_t H5PLget_plugin_type(void) { return H5PL_TYPE_FILTER; } // Get plugin info const void *H5PLget_plugin_info(void) { return H5Z_JPEGLS; } ///* Determine if the filter can be applied */ htri_t can_apply(hid_t dcpl_id, hid_t type_id, hid_t space_id) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the exit status to false */ htri_t result = 0; /* The following block of lines could be commented because this can never happen. * Indeed filters can only be used with chunked layout and dataspace is * necessarily simple for chunks to be defined. But they are let * uncommented for the compiler not to shout because it is the only * instruction using the space_id variable. */ /* The data space must be simple */ if (H5Sis_simple(space_id) <= 0) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_DATASPACE_MSG); } /* The data type class must be integer */ if (H5Tget_class(type_id) != H5T_INTEGER) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_DATATYPE_MSG); } /* The data must be one 1 or 2 bytes */ size_t data_bytes = H5Tget_size(type_id); if ((data_bytes != 1) && (data_bytes != FCI_TWO)) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_DATABYTES_MSG); } /* The data must be either big or little-endian */ H5T_order_t byte_order = H5Tget_order(type_id); if ((byte_order != H5T_ORDER_LE) && (byte_order != H5T_ORDER_BE) && (byte_order != H5T_ORDER_NONE)) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_BYTEORDER_MSG); } /* Get the chunk dimensions */ hsize_t dims[H5Z_FILTER_JPEGLS_MAX_NDIMS] = { 0 }; int rank = H5Pget_chunk(dcpl_id, H5Z_FILTER_JPEGLS_MAX_NDIMS, dims); /* The number of dimensions of the dataset must be 2 or 3 */ if ((rank != FCI_TWO) && (rank != FCI_THREE)) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_NUMBER_OF_DIMENSIONS_MSG); } /* Initialize the spatial dimensions variables */ unsigned int samples = dims[FCI_TWO]; unsigned int lines = dims[FCI_ONE]; if (rank == FCI_THREE) { /* The number of components must be greater or equal to 1 and smaller or equal to MAX_Z_DIM */ if ((dims[0] < 1) || (dims[0] > MAX_Z_DIM)) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_NUMBER_OF_COMPONENTS_MSG); } /* Get the spatial dimensions in the color image case (multiple-components) * Remember, convention is fastest varying dimension last. */ samples = dims[FCI_TWO]; lines = dims[FCI_ONE]; } else { /* rank == 2 */ /* Get the spatial dimensions in the gray image case (single-components) * Remember, convention is fastest varying dimension last. */ samples = dims[FCI_ONE]; lines = dims[0]; } /* Check the XY dimensions: the number of pixels shall not be too small * and the dimensions of the image shall not be too large */ if ((samples * lines < MIN_PIXELS_NUMBER) || (samples > MAX_XY_DIM) || (lines > MAX_XY_DIM)) { /* Exit failure: the filter cannot be applied */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_DIMENSIONS_MSG); } /* Exit success: the filter can be applied */ result = 1; LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } ///* Set any filter parameters that are specific to this dataset */ herr_t set_local(hid_t dcpl_id, hid_t type_id, hid_t space_id) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the exit status to false */ htri_t result = 0; /* Create the parameters structure that point to the cd_value array */ jls_filter_parameters_t params = { 0, /* dataBytes*/ { 0, 0, 0 }, /* dims, WARNING: Depends on H5Z_FILTER_JPEGLS_MAX_NDIMS */ { 0, 0, 0, 0, { 0, 0, 0, 0, 0 } } /* jpeglsParameters */ }; /* Get the size of the data type */ params.dataBytes = (unsigned int) H5Tget_size(type_id); /* Initialize the output variable for the call to H5Pget_filter_by_id */ unsigned int flags = 0; unsigned int filter_config = 0; /* User should have set this number of parameters when calling the filter */ size_t cd_nelmts = H5Z_FILTER_JPEGLS_USER_NPARAMS; /* Make the cd_values array points on the jpeglsParameters structure to * retrieve the parameters provided by the user.*/ unsigned int * cd_values = (unsigned int *) &(params.jpeglsParameters); /* Retrieve the filters parameters that have been set by the user */ if (H5Pget_filter_by_id(dcpl_id, H5Z_FILTER_JPEGLS, &flags, &cd_nelmts, cd_values, 0, NULL, &filter_config) < 0) { LOG(WARNING_SEVERITY, FAIL_TO_GET_FILTER_PARAMS_MSG); } if (params.jpeglsParameters.bit_per_sample == 0) { /* If the user has not set the number of bit per samples, * set the number of bits per sample corresponding to the number of * bytes per samples in the input dataset */ params.jpeglsParameters.bit_per_sample = FCI_BYTE * params.dataBytes; } /* Get the rank of the dataset */ int rank = H5Sget_simple_extent_ndims(space_id); /* Get the chunk dimensions */ hsize_t dims[H5Z_FILTER_JPEGLS_MAX_NDIMS] = { 0 }; H5Pget_chunk(dcpl_id, H5Z_FILTER_JPEGLS_MAX_NDIMS, dims); /* Set the spatial dimensions and the number of color components */ switch (rank) { case FCI_TWO: /* Permute the dimension to set the number of color component to 1. * Remember, convention is fastest varying dimension last. */ dims[FCI_TWO] = dims[FCI_ONE]; dims[FCI_ONE] = dims[0]; dims[0] = 1; break; case FCI_THREE: break; default: LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_NUMBER_OF_DIMENSIONS_MSG); } /* Copy the dimensions into the filter parameters structure */ unsigned int i = 0; for (i = 0; i < H5Z_FILTER_JPEGLS_MAX_NDIMS; i++) params.dims[i] = (unsigned int) dims[i]; /* Set the number of components in the JPEG-LS parameters structure */ params.jpeglsParameters.components = params.dims[0]; /* Make the cd_values array points at the beginning of the filter * parameters structure, and then pass it to the filter by calling H5Pmodify_filter */ cd_values = (unsigned int *) (¶ms); /* Modify the filter to apply the parameters we just got and force it to optional: * if the JPEG-LS compression fails, we keep the data uncompressed.*/ LOG(DEBUG_SEVERITY, CALL_H5P_MODIFY_FILTER); result = H5Pmodify_filter(dcpl_id, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, H5Z_FILTER_JPEGLS_NPARAMS, cd_values); LOG(DEBUG_SEVERITY, EXIT_H5P_MODIFY_FILTER, result); /* Exit with the result of the H5Pmodify_filter command */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } ///* Select the JPEG-LS compression or decompression function */ size_t H5Z_filter_jpegls(unsigned int flags, size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf) { /* Initialize the return value */ size_t result = 0; /* Check the filter direction flag */ if (flags & H5Z_FLAG_REVERSE) { /* Call the decode function */ result = H5Z_filter_jpegls_decode(cd_nelmts, cd_values, nbytes, buf_size, buf); } else { /* Call the encode function */ result = H5Z_filter_jpegls_encode(cd_nelmts, cd_values, nbytes, buf_size, buf); } return result; } ///* Perform the JPEG-LS compression */ size_t H5Z_filter_jpegls_encode(size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the return value */ size_t result = 0; /* Compute the number of parameters in the filter parameters structure */ size_t n_params = sizeof(jls_filter_parameters_t) / sizeof(int); /* Check the number of input parameters */ if (cd_nelmts != n_params) { /* Return failure! */ ERR(result, INVALID_NUMBER_OF_PARAMETERS_MSG); } /* Fill the structure with the input parameters */ jls_filter_parameters_t * params = (jls_filter_parameters_t *) cd_values; /* Get the dataset dimensions. * Remember, convention is fastest varying dimension last. */ unsigned int components = params->dims[0]; unsigned int lines = params->dims[FCI_ONE]; unsigned int samples = params->dims[FCI_TWO]; /* Do not compress images with a wrong number of components */ /* The number of components must be greater or equal to 1 and smaller or equal to MAX_Z_DIM */ if ((components < 1) || (components > MAX_Z_DIM)) { /* Exit failure! */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_NUMBER_OF_COMPONENTS_MSG); } /* Compute the number of pixels in one component */ size_t pixelsPerComponent = samples * lines; /* Do not compress too small images */ if (pixelsPerComponent < MIN_PIXELS_NUMBER) { /* Return failure! */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_DIMENSIONS_MSG); } /* Compute the number of pixels in the dataset */ unsigned long pixels = pixelsPerComponent * components; /* Do not compress images with a wrong number of bytes */ if ((params->dataBytes != 1) && (params->dataBytes != FCI_TWO)) { /* Return failure! */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_DATABYTES_MSG); } /* Compute the uncompressed size of the input buffer */ size_t uncompressedBufferSize = pixels * params->dataBytes; /* Check that the input number of valid bytes is correct */ if (nbytes != uncompressedBufferSize) { /* Return failure! */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_NUMBER_OF_BYTES_MSG); } /* Check that the size of the input buffer is correct */ if (*buf_size < uncompressedBufferSize) { /* Return failure! */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, INVALID_BUFFER_SIZE_MSG); } /* Create the JPEG-LS parameters structure */ jls_parameters_t jlsParams = params->jpeglsParameters; /* Allocate memory to hold the compressed data. * Allocate slightly more memory than the input data size to be able * to hold JPEG-LS header even if the compression ratio is slightly lower than as 1.0! */ /* VERSION:1.0.2:NCR:FCICOMP-12:04/09/2017:Add an offset on the allocated * memory buffer for CharLS to prevent it segfault on very small images */ size_t compressedBufSize = (size_t) ((float) COMPRESSED_BUFFER_SIZE_MARGIN_FACTOR * nbytes + COMPRESSED_BUFFER_SIZE_OFFSET); void * compressedBuf = malloc(compressedBufSize); if (compressedBuf == NULL) { /* Return failure! */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); ERR(result, MEMORY_ALLOCATION_ERROR); } /* Initialize the compressed size variable (in bytes) */ size_t compressedSize = 0; /* Compress the dataset using JPEG-LS */ LOG(DEBUG_SEVERITY, CALL_JPEGLS_COMPRESS); int jlsResult = jpeglsCompress(compressedBuf, compressedBufSize, &compressedSize, *buf, nbytes, samples, lines, jlsParams); LOG(DEBUG_SEVERITY, EXIT_JPEGLS_COMPRESS, jlsResult); if (jlsResult == FJLS_NOERR) { /* JPEG-LS compression success */ if (compressedSize < nbytes) { /* Regular case: * If the compressed data is smaller than the uncompressed data size, * replace the input/output buffer by the compressed buffer * and return the compressed data size.*/ free(*buf); *buf = compressedBuf; *buf_size = compressedBufSize; /* Return the number of compressed bytes */ result = compressedSize; } else { /* Otherwise, if the compressed data is larger than the uncompressed data, * let the buffer unchanged and return the uncompressed data size */ LOG(WARNING_SEVERITY, INEFFICIENT_COMPRESSION_MSG); /* Return failure! */ result = 0; if (compressedSize > compressedBufSize) { /* If the compressed size is larger than the compressed buffer size, * we are in the case of a buffer overflow. * We cannot free the compressedBuf otherwise a * "*** glibc detected *** [...] free(): invalid next size (normal)" * error is generated. */ LOG(ERROR_SEVERITY, COMPRESSED_BUFFER_OVERFLOW_ERROR); } else { free(compressedBuf); } } } else { /* JPEG-LS compression failed */ LOG(ERROR_SEVERITY, JPEGLS_COMPRESSION_ERROR); /* Return failure! */ result = 0; } /* Return with the exit value */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } ///* Perform the JPEG-LS decompression */ size_t H5Z_filter_jpegls_decode(size_t cd_nelmts, const unsigned int cd_values[], size_t nbytes, size_t *buf_size, void **buf) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the return value */ size_t result = 0; /* Initialize the decoded data buffer */ void * decodedBuf = NULL; /* ------------------------------------------------------ * Get the dataset dimensions from the filter parameters * ------------------------------------------------------ */ /* Check the number parameters in the filter */ if (cd_nelmts == H5Z_FILTER_JPEGLS_NPARAMS) { /* Get the filter parameters */ jls_filter_parameters_t * params = (jls_filter_parameters_t *) cd_values; /* Get the dataset dimensions */ unsigned int components = params->dims[0]; unsigned int lines = params->dims[FCI_ONE]; unsigned int samples = params->dims[FCI_TWO]; /* Get the number of bytes per samples in the uncompressed dataset */ unsigned int dataBytes = params->dataBytes; /* Compute the size of the decoded dataset */ size_t decodedSize = components * lines * samples * dataBytes; /* Allocate memory for the decoded image */ decodedBuf = malloc(decodedSize); if (decodedBuf != NULL) { /* ------------------------------------------ * Perform JPEG-LS decompression * ------------------------------------------ */ /* Decompress */ LOG(DEBUG_SEVERITY, CALL_JPEGLS_DECOMPRESS); int jlsResult = jpeglsDecompress(decodedBuf, decodedSize, *buf, nbytes); LOG(DEBUG_SEVERITY, EXIT_JPEGLS_DECOMPRESS, jlsResult); if (jlsResult == FJLS_NOERR) { /* JPEG-LS decompression success */ /* Replace the input/output buffer by the decoded buffer * and return the compressed data size.*/ free(*buf); *buf = decodedBuf; /* Set decodedBuf to NULL because otherwise the buffer is * freed at the end of the function */ decodedBuf = NULL; *buf_size = decodedSize; /* Return the number of decoded bytes */ result = decodedSize; } else { /* JPEG-LS decompression has failed */ /* Return failure!*/ LOG(ERROR_SEVERITY, JPEGLS_DECOMPRESSION_ERROR); } } else { /* Memory allocation error */ /* Return failure!*/ LOG(ERROR_SEVERITY, MEMORY_ALLOCATION_ERROR); } } else { /* Invalid number of parameters in the filter */ /* Return failure!*/ LOG(ERROR_SEVERITY, INVALID_NUMBER_OF_PARAMETERS_MSG); } /* Free the allocated memory if not already done */ if (decodedBuf != NULL) { free(decodedBuf); } /* Return with the exit value */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/000077500000000000000000000000001473255640600224105ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/000077500000000000000000000000001473255640600233215ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsDecodeIneffective_ref.err000066400000000000000000000000001473255640600317440ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsDecodeNominal_ref.err000066400000000000000000000000001473255640600311120ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsDecodeRGBANominal_ref.err000066400000000000000000000000001473255640600315460ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeCannotApply_ref.err000066400000000000000000000023401473255640600317700ustar00rootroot00000000000000ERROR: Invalid HDF5 data type. Data type must be integers to be able to apply JPEG-LS filter. ERROR: Invalid number of bytes per sample. Data must be on one or two bytes per samples to be able to apply JPEG-LS filter. ERROR: Invalid number of bytes per sample. Data must be on one or two bytes per samples to be able to apply JPEG-LS filter. ERROR: Invalid number of bytes per sample. Data must be on one or two bytes per samples to be able to apply JPEG-LS filter. ERROR: Invalid number of components. Data must have between 1 and 4 color components to be able to apply JPEG-LS filter. ERROR: Invalid number of components. Data must have between 1 and 4 color components to be able to apply JPEG-LS filter. ERROR: Invalid number of dimensions. Data must have 2 (or 3 dimensions in the case of color images) to be able to apply JPEG-LS filter. ERROR: Invalid number of dimensions. Data must have 2 (or 3 dimensions in the case of color images) to be able to apply JPEG-LS filter. ERROR: Invalid number of parameters in the HDF5 JPEG-LS filter. ERROR: Invalid dimensions. Too few pixels or dimensions too large to be able to apply JPEG-LS filter. ERROR: Invalid dimensions. Too few pixels or dimensions too large to be able to apply JPEG-LS filter. fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeIneffective_ref.err000066400000000000000000000000001473255640600317560ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeNominal_ref.err000066400000000000000000000000001473255640600311240ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/H5ZjpeglsEncodeRGBANominal_ref.err000066400000000000000000000000001473255640600315600ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.h5000066400000000000000000000131541473255640600264730ustar00rootroot00000000000000ЙHDF          l        `ИиИиTREE                0HEAPX╚imageH8(<(< `} HDF5 JPEG-LS filter(< x(<SNOD TREE                ┤╕(< ╪ ў(< ┌I_(ВГБ 1╬R*l┘УO■a$Х%■yS╞▐ ▐юЫ{ {┤  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ї  Ё ┌\внн{^╓н 9оBЬМиИИМДP┴ББААрррр└абГ,ВdТW yY)ьз┐ {& яw-  / √╢▀ ї  |    {    w    o    _    ?   ■    }    {    w    o    _    ?   ■    }    {    w    o    _    ?   ■    }    {    w    o    _    ?   ■    }    {    w    o    _    ?   ■    }  | ┌ f▐кю+╔$▓KG╜▀№╞rфeDDDDGМТTХ |Єз[{ {╢█▀ {▌Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч  Ч   ┌I_   №Y_   №I_   №o    j    ~╧    h    ~п    }    }    s       ■Я    s    z    _    s    ~    Я    w    }        _    g    }    ~    _    w    y            w    {    ~        _    o    s    }    ~   ■ ┘fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/RGBA_sample_ref.png000066400000000000000000000014061473255640600267400ustar00rootroot00000000000000ЙPNG  IHDR<(╒╝йibKGD   а╜зУ pHYsHHF╔k> vpAg<(;7╘u/IDATh▐эШ╔n╙PЕ┐kglj╫-й┌4mИЫ▓`(b├КПГ─ ё>}@LХ;╪┤═$: \'i╫■Y8Лn┌TDСUчщмю=> ў█+#"/СzyхgeI^їкЁ┌*")рW(|waьо╝А▄A·oСЭ#d[╩Тъ┐vОДчc╝r╕▒╔KХX4Yю┴р1?ВwбZ╠Є>╡─OюєwЁФєуэшрc>зр╫up'┘ЎdЛЮVXI a┬╨~{[Ёi╒р]▐bWm╥ ╥k?CЎ╢р╦*|╚├wїи╣5╔╪ёЕЫ7sьVbс1╪└-`┬2°шпA╗ '%h9P+d╥ьЫ9╩тРE\VшЖЖ■:A╣hаЦБ║ -GА ┤'Ьz┼Z№▀ЎН%╓┼║x*RRD░╕ ▓┴ +╨-Г╗ЗЛ╨░√9УГtЖЪQаЕ├ %┌Rжlр╫ ╗ХЛичаЦЖЖ┐Б?АЬE─э╕VнЛuё╘К╜Щ#╓┼║Xыb]|-)▒шУ2@vф<0╠G;r╕┴╚╛ C6Їцб[АN╝,xЕЫV╕ж┴йiт&оJуй Y:фщRа╟<lЖbуЛC:┴aр ╛Г\^^N═С ЁTфС╧А0yЬ╟╕щ╕дБУ. ЬtiрдK']8щЪIрX■0┼ nцF{╝х╫gЛгyд~╙hpe|гЇYхбN╨ XYB/╖2{ т|=█AЗВWЮD┌x│\╝YK╤Щo>ИuVehєЪЯ╖єCп ├Г]ZfЁ─С{o┴╓Р b 8^m╟тk_У╟ЦЄ~$ka╓╜г*Ик╣б{ыrcЮт0оКLtЮeOд к>┬▒МТ║дrFzuL┤╧ИхДМ╨ЁDHЖ &q░>o╘Рз`Ъi╗С╞Ъ╜S-NvА4ж+в_YМ┌╣°YбН┘Ж╒5W8L'▐ E;КсЛHкчб╜^ЧО°мш=%╬╚nDL>═Еф╞nW%=9~Юk┤b┼jїp╥M&В┌АШLЗ1|╝-t╪ ╔)ЯЖ`Ые╙П`Р,╠4lrqЮХJ(ЕПОxA╡┬ЙeЙз+I ЧвzВv<│ЦК╛?ыУRАmA▒QFРZXIRN├OБ█U[╨ЩН,д┬в╧ИсUm)гП╓з╨И■5F╨Чо╘╙ГЇ╞,N█d4m>╧Ё╡`фмKщ&тУ╚╝;гС`m╕▄лAl▒m%┘kЯ╓Й`╙R╘cЖГxхМhWУЮ╛НЖXп82RfS─sмf√█рАAБZ ═zRсН ШтЛМе █┌a┤CЭбШХR'P I╟XтЯье;<э╕ЁJбЫ╤SП>Й╥Щ\Л^KaЦM[(vЪ▓Л┐ЫН``V о;nR└kЙ┴#V╗╖Н aнШЭл║ОW╛ ╛ч╧ц\№rA╛ЇN7kЪ░ ЫTКгЛ(RОнrжБF▀ЖCЛ<и■в@ФG|-├√Gti╬I}┬lн@░}_ЎSNЯ$z_~д#дЦ\цУ╒_Piс$┴cК2Й┤3╦Лpnужnx╬┼ПU =-зy╥nuЖЪ Ф╪J|бъГУaЮlЦ@╦╕╪╧Uh¤Hїc─▒рLjt╛ЮнЖ╛СУ┘вra·}Х▓тФ╗дТшk╝CФ8>3РG%(╗сЩ╗г╡+ ;бй,y░ЫХ#S^█m};г[ВЪyУ╟з╥КP┌Т@B╢yy~ЪS;░╙d▐╡IvvЩ`FJазаz▒┌└R╩цб<"Х▒╢ЪTГН╖Ек╞bзv_ГИА T╔╕`УNuy~йЪТ9Мs1■╞ее └╘e╚Пм╓т)Гу=√сИТж╪¤У¤▒GЙГЯк▀d▓U~Jє┼@э=d!ЙГ┼Ж8SaWЕ°╚tс,зМ▄еp╛dб╪И├L╝m╘ыG>ZЬКжаgФ┼W■Ъ╞╠дpk@Ф╛6;q@1y╪▄╫)zxЫHдБ4┐|N╨LЧq║;Ц╖w'\▀╒╝'дЄ░ Т$nCп╫lъzE)Я╗Ы╩aДВyМtYIKb╡│УВ│дE│?ДТ=ЯIЎ.∙zcа#1╠╝k╣│КД4аpXA:(▀╩ПC1uccf▓bиm╡■Я°cсPDУ╛ЮЧ╗FнSЕu╫ЗЇ┤mp№=ДZ√аюC╣MGb`"yЙ;ВЪЄЪН4ФКIўsj╛ФЭЛP н.├м╜╘╛└╟*Ї╪9║АsHйО┴Ц|G╔ah╞js┴ X╧voGO╚ОТ(╥┤o#╤9)zuЎlЧ<пжИЕ░YJЦж;.├Жщ▐·=-4~ль~jУГаЦPДИАLpх╔З`Еz[жИ)ЪiuХВ║!╞9ЦI╣Z╧Ц├ФGXKЯ~{U╕J№╕ЪЖcДЩОXztud^c╦:ВЛ╖╝mjM}╟6▓╘╥Д┴z█з╣ь╚╬UВG Ж╒8mЩ╙М?ИNй╕m4маklЛuЗЮ░╟&Ыфа>7▀fW╨Бs█·╫ЁQ▄╤чl>4xЁ$╫╤вb№ОКz╝╕jl▐░PredЧb╣=бСлkл╟ч▀DmaЪ)h^М\k┼РEЮAЩиhАxТg2У│ БзЮЇе]ЫdeK╙[7░avб^WRfcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/noise_sample_ref.raw000066400000000000000000000040001473255640600273400ustar00rootroot00000000000000Б┬еШA*вб═о╓ТєsЙr▌[Q╨q9K8f$Тa-$ЙЪX>nцF{╝х╫gЛгyд~╙hpe|гЇYхбN╨ XYB/╖2{ т|=█AЗВWЮD┌x│\╝YK╤Щo>ИuVehєЪЯ╖єCп ├Г]ZfЁ─С{o┴╓Р b 8^m╟тk_У╟ЦЄ~$ka╓╜г*Ик╣б{ыrcЮт0оКLtЮeOд к>┬▒МТ║дrFzuL┤╧ИхДМ╨ЁDHЖ &q░>o╘Рз`Ъi╗С╞Ъ╜S-NvА4ж+в_YМ┌╣°YбН┘Ж╒5W8L'▐ E;КсЛHкчб╜^ЧО°мш=%╬╚nDL>═Еф╞nW%=9~Юk┤b┼jїp╥M&В┌АШLЗ1|╝-t╪ ╔)ЯЖ`Ые╙П`Р,╠4lrqЮХJ(ЕПОxA╡┬ЙeЙз+I ЧвzВv<│ЦК╛?ыУRАmA▒QFРZXIRN├OБ█U[╨ЩН,д┬в╧ИсUm)гП╓з╨И■5F╨Чо╘╙ГЇ╞,N█d4m>╧Ё╡`фмKщ&тУ╚╝;гС`m╕▄лAl▒m%┘kЯ╓Й`╙R╘cЖГxхМhWУЮ╛НЖXп82RfS─sмf√█рАAБZ ═zRсН ШтЛМе █┌a┤CЭбШХR'P I╟XтЯье;<э╕ЁJбЫ╤SП>Й╥Щ\Л^KaЦM[(vЪ▓Л┐ЫН``V о;nR└kЙ┴#V╗╖Н aнШЭл║ОW╛ ╛ч╧ц\№rA╛ЇN7kЪ░ ЫTКгЛ(RОнrжБF▀ЖCЛ<и■в@ФG|-├√Gti╬I}┬lн@░}_ЎSNЯ$z_~д#дЦ\цУ╒_Piс$┴cК2Й┤3╦Лpnужnx╬┼ПU =-зy╥nuЖЪ Ф╪J|бъГУaЮlЦ@╦╕╪╧Uh¤Hїc─▒рLjt╛ЮнЖ╛СУ┘вra·}Х▓тФ╗дТшk╝CФ8>3РG%(╗сЩ╗г╡+ ;бй,y░ЫХ#S^█m};г[ВЪyУ╟з╥КP┌Т@B╢yy~ЪS;░╙d▐╡IvvЩ`FJазаz▒┌└R╩цб<"Х▒╢ЪTГН╖Ек╞bзv_ГИА T╔╕`УNuy~йЪТ9Мs1■╞ее └╘e╚Пм╓т)Гу=√сИТж╪¤У¤▒GЙГЯк▀d▓U~Jє┼@э=d!ЙГ┼Ж8SaWЕ°╚tс,зМ▄еp╛dб╪И├L╝m╘ыG>ZЬКжаgФ┼W■Ъ╞╠дpk@Ф╛6;q@1y╪▄╫)zxЫHдБ4┐|N╨LЧq║;Ц╖w'\▀╒╝'дЄ░ Т$nCп╫lъzE)Я╗Ы╩aДВyМtYIKb╡│УВ│дE│?ДТ=ЯIЎ.∙zcа#1╠╝k╣│КД4аpXA:(▀╩ПC1uccf▓bиm╡■Я°cсPDУ╛ЮЧ╗FнSЕu╫ЗЇ┤mp№=ДZ√аюC╣MGb`"yЙ;ВЪЄЪН4ФКIўsj╛ФЭЛP н.├м╜╘╛└╟*Ї╪9║АsHйО┴Ц|G╔ah╞js┴ X╧voGO╚ОТ(╥┤o#╤9)zuЎlЧ<пжИЕ░YJЦж;.├Жщ▐·=-4~ль~jУГаЦPДИАLpх╔З`Еz[жИ)ЪiuХВ║!╞9ЦI╣Z╧Ц├ФGXKЯ~{U╕J№╕ЪЖcДЩОXztud^c╦:ВЛ╖╝mjM}╟6▓╘╥Д┴z█з╣ь╚╬UВG Ж╒8mЩ╙М?ИNй╕m4маklЛuЗЮ░╟&Ыфа>7▀fW╨Бs█·╫ЁQ▄╤чl>4xЁ$╫╤вb№ОКz╝╕jl▐░PredЧb╣=бСлkл╟ч▀DmaЪ)h^М\k┼РEЮAЩиhАxТg2У│ БзЮЇе]ЫdeK╙[7░avб^WRfcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/noise_sample_ref.raw.hdr000066400000000000000000000003331473255640600301210ustar00rootroot00000000000000ENVI samples = 32 lines = 32 bands = 1 header offset = 0 data type = 12 interleave = bsq byte order = 0 comments = "Generated with imagemagick: convert -size 32x32 xc: +noise Random -depth 16 gray:noise_sample.raw" fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/sample_ref.h5000066400000000000000000000544111473255640600257010ustar00rootroot00000000000000ЙHDF           Y        `ИиИиTREE                0HEAPX╚imageH(d╚d╚ `} HDF5 JPEG-LS filterd╚xd╚SNOD TREE                YI░d╚ ╪ ў d╚ °   C@ ┌ЫЛ1"IИ,╨д╢╙Dм^ч|RРR╓Ц╘РЁ╘P▓1чЧ\ЬV│hее╞▐▓╒┼>(°╣6ЧcWfM■мzЙv: ▄}АBU-╬ииЭ╝ц╛Ж╩ОЫ>},tc╥Г[\╦sлСХпЕГ╗╠Э}b.DП'F╪╟ф;ЇbЪI'дГр и┘9!gc╥┼BX┬ YQЙAй}eV┤шjйШm;ф^7Нc$│Ka !|╗:ЗИп∙:ДВ|■FP+PЕЕ?%ьЁ╤Є▒ёЄ■Н╗й╘╦:Mh¤╨0 0*"Lj╖I)h9╘╪│ЩдшЖ(¤М2 5┤r░@Г$/X╕дEХKG║╧$KК6b№h╞╟п"%├6n&ЮцseiлHIшВЭ  щ5WEj=MQФвсБLЁЄ│╖.= ы3╣:C░)BKVА °c>UG/Щ3■wЮ8xб/Z¤X 'gЗ─ьQTfэЭ?м╢Ж<аё?┌"бЭЬ,фн╔дх├E└фч*я 5rеи├OЗna∙ш;6╨їТЧ<╔д8·z╝рЎн▀`Пч#f√юД│∙эЇйL*ЗB,╡j40ЩТЬц`sd┘ТTz╛ы0╨oшyY4ЄOа╗3uL*Z*OTр!J╦╘ ╖`с▌Э▓} ╦0eРEЛnНd·3ж╟▓/МГ~rЗ1L Т^еКf]Q!Gб!О│кv;═ t|╫{щ╓r╙╓║╔m· x╛ёJцZ ┴c3Bwё╩NwNЭrCq[ЙТрйО╪5БMpжВЕ┼Y}T~И!╒юОТд┘б╞╗щЎХ╧┘^`;qЎс┬7T]дкдтяМ2т╦┌`з:мЛIўzOtЧ.~щЬ▒IЛTУТтtйТї_жЕкBб█)╣ы┐*<и-J═OЖ `I3у╦НoЩ▄╩ЫоНH░.МВГ╓}ж\СYнАь!╛Ї╪Р%├ИRД▄┤ЎцU╠[к°▐YZфкнЮS#[МO▒Zн.ЦUdd°├b╒%PpЮ%п" `.{Сn3*Т<ъ▒#╬зtZ▄╢┌шSС╙╠cН9yжДv 6eїВТ║Г├Ш╫.ee▓bJЭ3дcР░нг+нч┴ ,8оeшяЛ╣&0иНБ,ЗТб∙Z5WK)╕Tї1П╜Nx{~MМ╓┘eФ#GЭ*l 0DиH╡ющВ_О╘sг░JУУнМ╣EBЫШeP╖T╖░7ычлiЮФm(iЧeяп№дЬR∙f№( Gп U_VТ]Iз╖ ╟гwN-Кy (ЛЕ░дZ╨В 4▀Di╥2I┤■БЎD╕Qкh╪sZ╥╣ЦЕJj╢┤Q,лУОM\╜НэJЁa[╥ч▌\┼▌%щ<╞■Wtt№DMc╘O_oй┬ї+OГЮh?Х·*DIгйEр№eZтГегf= x╘^ла¤0▀DИ╤IвфИСIF╪╙:z)ы№йYёqТ╬ZйщТ6w╚к╧ё█0xу╚&>M╞езжP▒dДё|$хяw╢-5Y├Adu)SО X;№┐е!Фзз╞╜р▓#E*~╡ ░YБЪF|$╡╤ k+gйО)┌ПHbЇ╛№&2╞H%╙И$┘мDШ6ЖtlфДя╫4k╫lх╫BX├▌NLZ▓┴╠╨Й┐ЪОхЛ╖ыZбт╦а╬:}"Яa∙И3┌u+р05s├Яъg)┼╙6╬0~cg*Cъp;эUЁ█¤░∙oлYfjЙпIЧ─iK=┼ч═LHRХкJ╪'┘Бwг║=√ШbvOGю├ГЇИїeBтЫ▄╣ЎУЮNг╟П.їдЩс1D"ДЛ)╞│хлЦ*ёIH4С╚YYъв╟ьhМ╤Ж[rхлRЬ╝Z╢Иw0к┼БF┼z{tSeжNКХ╒г& ╣:▐¤фHpЛu№їгаЄе6╦∙ F┼Ntн╒ЖцQUfS╤C╝#є$\·щ*TjУ1O╟ч╤z╪ 0╓Фє5Mb═oИJ{╓╜bqЙTf=┬\U"─3Х~ЧєSс■PУз╡┤<ЦW╘&╖:Gd∙┼jц╤√ЩЧ*e~1├О▓├#7┐╘тKпнIVHlШкГq√W·Ъ╔+°х2YH√hЧG╙╢░Xi▀*N╚┼1╦╓м_┘mc┌A}╤Т╥&жtиY▓JЦ=┌а╦с[·Сббб6м № ╢╥╘╜╔v СcbI!╒Гv┤▓6Hx4г|ТYE?╤й#LN∙ЩыгРЬ╠%PЩъС0 0rЮEZ/ї╥s&м9aб╙ЧPё9ZжЬЫ░╛┴їF╒¤dne└PYL¤nСRщгaЖ}ЎнQчш╦* нZ%╣хyxD9T{╞╓CВFtў\ zНя┐╝J╗щЧон!rж▒JЫo6з~░HЯЦ╧/Ц╩\ЯЪз▌░ЎнФ│j)ы├n а╟R<Д╔Щ·HX╢лO╙/├uщ┬ЮШоk)MT`╩·╖hрH╨НIx╜u╤hМ`Hл╙▒TНфV┴{.Т▌Я/шN][b)нY▓IНм!ЕьduA^ку'жяпh█┴т}*к─ Щї6╞,и┐┬┴▓l·└E Ж;MЫ&┌`0иYМН╩%П]LЧ╪!уЕ"Elо▌°т█З╣▐╧▓ДJ~YТфл╬╖Zъaэ№1╜*╨у:чI╤ЕС0 Є} h36c!2╫ЙKM5/А)S╩DИO∙и■·┐мf?Б2J:т▒РP@HР▒+5/нД╤│шо├╩ЪOH!╩9уKў¤╤&МфKсУ#I')\╥"l┴>Ъ▌m ╢╨ЙbЮЛо│МХaH∙MPсС4█&╒Lгd6f╨!Й:ZАжЗG√Iq╥"cU▒ шб}╚╥єчd4▓Ijs[vўъХЕА╗╢щ|║|Wsмвrh╓Wy!E┼ТУТwдОФГ0$▀╦MLEUcЫs┬ЛROФ&pYЪ╙y;йW·в:нWN┴Їb%%ХгcЕDХ╟ i═qтЦUЄ-^HT)]╡н┤ШV╩@tcЫhIY─i&!{Ш╢Tщ,·К ╔├Gъ┘╦oqkkU╥AJE{o╜д,ЙДИи┴з7╗_НЛ;╙С▐>&░ 0мMMt[/╩∙ЇAY■НF╣·▐n╬\╨PM!g▄╞╡ЖF6▐d╜)Ю╥ўsd╪░QёёРчБЯ4Жщe_ДrJ%┌▄Ї╣═GZЭMN╥4~А╘╟░Кaf"╦┘Ов !/KЯ╔ъD╘д5o┐зJ+"UHРRг╕┴Ц°k]x┼Жu:\щr·1шC3xr╒ZьO?УBщYКЩ%И╕Х|єЄv'╟чD5г]!└╬╦Qg%╛╥Ш╓XE╝▒╖3тщA╞RЖU hЛLD▓CЁЬ┘И╥╬▓] AмйЄлiг ЬвKSFєШ╔Ъ┬ЪI!9Х2 5KREf╙CkЙ┬г╛кUhйГЇ■ХMпn2√V╓}OШТ╓}╬+ча,03 ЮKКж╛0Ё╥8YЩ¤Ў пр┤╟ЧT[╨ТЎеi\Н╤DRВ╣7я╒дq\txN┬╬№▐rд2Eи╞UчOвУт╛=╔:'eаЕ}ОЖ{gOй/H√КfВ@оrv]{IdM7wM`еxж2qМ°╤ ЧяЪ╙1З┼И▓У√Grї&┤ъце╣Пj}Hy&╡-zk╨─ЩИ6╥╡S║Nф╕*дLИХАкE║жЖT·0[╦5 hи9x╟bЁРYК=ы(4KО2Ъє╔f ▄uзBбщб╧│eUMy XТж╩эТ╕Эф╥ъ ╓Уї╣c╧Bsa ▌h+щ=8kж5>фUЧE╗п▀L╥Шоu_╣SaB>мЮtПe░>_ЄМёz∙И▓╫╠kфK╬^▌аъ│Оq9~▓LУы\щ И№(U 1'DфUёЭ, D (╝$ЫeГ╕цjв]┘O='Р╨ЯГ╔.╖f ╩&л╖Бе▒Ёr<Ж_"НATWc1?КF ║\GyНьkxnG# ∙Njs▄*\ХD{ё!HюV│MюО┌К╩¤}ж╘_┤!МЮШ>D ╩Э▐TJЖkЕСPТlDЇoш╡!ж┴█;╛PНннЗTпXЧ╔╘z▌БПb╓М!&сД %╜=L╩+-УВ╦У╨[УhwОлФи-ю√Э┼?▌·┤$М╓╨PKHnи2C*вE%\J Г√ёС█#.2 ~ЧJФХ╟ /е3v║ Р╪╠~^▒jr╣з>iХ╟z·▌< э╪B╥╧пЙ█ЛЗw|ъЙPЬIппФfоs╘л s°Їх╫╗уыбR╢r┼,НЎ▐└nПdmХ4.пкК5¤х~В1╨&▀╨С┬ЕМeс&п:є#с╔°RдA╠┘ц┴< ёx9X EГхй║ъдш1g┤L-;!З)Щd0W8йb9УЖ+MДЧ9└Z(й║\`6gОv.оM/╘d%B└Юh╖к^^*4X"&▄╬'Е4Є5f╚┬}П╟k№╙Х?4№г2:D"8oч┌JC~Азти█ъУ╤ЧЄ∙UFMrМE=$m{bВ═Р╟▒<ГБc┴\╟vTЩж┌ёй┼ЩoUпЩ╥(┴д i.╜хш~6kМ EФ¤`ЕГюЄbv╛Х1╥I╕ШёD|oBI$I╚ч}n)DЄоxvиjЙPК╕Т9╒╚ЧJсjh╪ыhєє▀╨sn╩ъE╬ўs/┼nZ}Ц▌U8Фq(GN┤г+ЭОйФ9Са'[~?6,вИ<╬Ўчё+iф*!э┤╔-Щd3Ї▐ ■ДM╛sYГЮ.=_└╫ЦkM G;╧CУ·wю7aБ ЧlhєМГ┼C┐%╔K╕и)jзeЮS`Jьз'▓sЇ[╡H:ыkД┼Э_уЖl·К╤5╓c╡;&┌Н╧Кю\H╣G5nX╣*щЛрАцzШ┬Й#╣ЙХP('7т╘DМ: HЖIQ┬'fХsRЩдрMп5╥[┌╣=╛Фу─╣ы<К)Ha2╪┌╣Ю╞Zk К,фС#═Uк]<Е┴╜{_уP╫>дОY`аO ЛOХ▒^ *+СП5Ц╨ъw■[Т5hшpбж╘sчдRЙу0l╧Ыцт№+kШцдЛ╓#ЇtO?гO6G2#╞Е√Флd ╚щkО╟╓nКЧ4P№Є{╛TЕ┬ЄYцц5├╚н/╘tc9╛,@v*;м'&б)W;M╗╕х¤бдДm├/╧╪El ╚аБ:╤ kк,CЪ╩YЫ fPбыНLmб6bНї°Ы┘ф╛їОтД╞E%▓ЇЗ,R/╬ wВО2╞ьyWu█эЧX)ю■J╔т)"╩M■▄╦T▓ў╦┘НУ16гь;mщI0F║&zqC╚MtГи╞▓╒SМP╡ч, гъЫ|·y╧vQ%^:?g─БЗЦїc8╡ыESEФЫWШД─║к5уп╒Их√ZоХ ╔щЭт╫Eн▒╜╚эьл(з J╨ЗвщB\∙Ём╬.\JоT\к╧Рд╥о╡·иBСXУ`yо"╣гT┌ ╥■KЙg╘ч] s─░ЯodbMЭЛmG║╣Нb{В▌е█├f─╛┐aY│╩┐\~ЯT╝ЪKМ┌▌|ўЯ╥IIhЙрЩ┤╗ENмaгoд╦ЕkUДG╚(!)пVшduР?┼I$46j╓├;Пp┘фЩ#IUЖГ}C0+kд"·a┌lїК%6¤┤2bлТL?╫Ф√U`=╡eь [х╝MИЫ╘f╫;FХ╜є?чC▐┴uОzL#дЄл:&З┐'▐░YnПшббФ┬╪К┴'6░uДЛ6Ўs╚_)|#(щ▒A ╫╦CьЛм╡нZGШМrLїK+C$У:MHвh5в4╚Tье╒\Р? Bє▓ ЮT┤тЙHбHцUDОяе░г▐мтю(Э╦ёжPG |Дv B╨R└%╨╢s╓ Й 9$к╟┤zщ#·р╩╓dAъ╖ждМ╬ ╡лIY╩║д ES1Т╛°┬}▄ЦyТbН▐Mио%УxКпЪEЪW ,0KЛ╙хLтн"╙ё╬═∙:Г<▀∙┤HУ)┼╣<8R■(c║Г√╧JpщU─кХWЦ╠ ╘№▓└i╕A*6TQ4iщ&|жтТЇG;▄й╖S}&┴|*%|T╠ ─їОй2Ь═lES▐╣Lпф╔ в╟р+6#*(нrрwу&шt┬╪m─п╝┐Щ─J0╤ю¤е:Y ПвЬVoC╠qm зm-ЪQ bцЗ╗`ъ─u▐U├ дКор┼ВFBЫuўШ╥Ы╖У╔╘)РЇнв║d+╫ИЄщйo▓+Ъж╢-·-├░K8м ?(Z┘?\IДпxXvФ╕ЗM╚k*Ы.яИсn│+ёV╛lTр█Ў-пс▒Y═;╣аL\┬gд║4ЦE&iД.y╬mHбEЕbїтЫєСbб├_|"Ыc:6x├┘cdzw^K!P-б%]МёB─МP#║╦UL/║Ї╦▒┌▓╥,║$╕├═Atм0╗ф И╔RR@TБz$rО╠█лB┼RG░e!pYbЧн┤└ФEGE·O╔<[бm1РК№CЖжз>у,7шKАbСС├Фч0╠╩М╥Лeр╬╫&Vg┼ж░є▒p¤в╫шw╬╢QZ%DЯ\тЦ* o\¤Є ╨М╔У ^,'DN-Щ╘ЖўЕос╛М╛wH╚J}0DD кO$XnЙ-1vЦ$С╧╓пQlZ)ў╫с┼НhЕО0mЎ╕є_!█ДТMдy▒Q?Q1RМщF`/у$F╩Ря╤LCЦ ЧЙ+жо'-Y*ЙНk< .vw╚╘╣)╬нTPщ6Kг█│ььХqё>о▐f ¤ЬW/$ъТoТahjЬЁ┴╤oDЖЙшR!┤Ум@ У─Bьk;pЎ╗h7чKP,√▐ЕDVоET▀"дcИкWfNgfC,f▒dLhшV4║|СЮЭжаЛ╕*1.░╧лmГ9т Й*щoТu=]|!7S╠Ь▐╡,{L╖~╬lз√╝жaS+╚╪кШн З▓QТ═Х╒Щ▌╥¤2ё╓їDєЮ;/щz"ф┬еb┌│JШ┼Cд╬aiБ╫─ЖИч╥щ║┬ Ц▒;╞╓Ф╩c1╫ЛC╢ъ╖'▓ Юm║kб╠╝_Хї!ц┌эe├╨LВмG╬√|8┬йGN╦э}*Т"з1+Jг·├└бМ╢щгхЁрК│й┴eы4ЙЇЫ<·ЗYjx,7lq№$,w╧0┼O√^}╨"cUПd╩qЖД0Sn╩ДV ╣ ЩNСCI(з┴R¤╛сg∙╜К("П@ЬБm{ш+¤(\y'═Cj!щБ╟hMUЧ┘Ди╝┤VФЭsf/h╖ЄтwyY8-Дn4 ;X ╫tяcАФ∙√?RЧМ{ў&0Ц╟IW "G■КДv╞фmZ!рQAs7·■УХРJBс6<ЁГdv│yШичBЬ_2}M}Rbaи∙%U{* '╓иЭO6 Fх█У(┌Qg╞╒u╤МГг# ·Q4mмТз╢ц<°8с1KYв6=╗}ы%xшТEЬТ╠Е┐t¤З4╝╟Ч*в╥QЛZРUЪ_▒ЙKaлwФ!WїШr╤╤bЛc╪╛┴"╢╩J^bBНДф s╗ЗnrАeъ╓И┐╢аLВ)\P┘╣в RFS#q+їzZФI▀╗vj№Й)тЎ7Q√Ї╕ФЕ╠'и уkH╔@ЖиhHЯT╖Є <ркy╒┌▓нJ┼э!╚Г╡▌Ж▀╟╥.В╫кэ/*hВшЪ┐NЕFы╥6У Ts╠<СKP8╤ь BмЖ╧Ї ю}оЮF'Oс->С%╠Ющ│иvч:╪ь cхїют╔A"<йu∙b6№ YA■cб8рb0╦▐'|щЪd │меkj@уКг(G%фЕd,вGЪw╛╘═дUъєF%ЖwЛ#m№d└~УкаE2S&kыD@░2" _|"▒QU(л╬їUє╕╩аН╠Pg6є┬Б╚╪M2ую-╥╢ /▒▌З3V+ <9w╦Е ▀─?gМ╩Бпф ХТы╡╜╨ оЎ9[■Ю╬┼╪PщЩД░╦V№КE№)Y[Юиа_Ы┐ вPеЗ┼Ш>й▐С╚╦Bьhje ╦#Сf,╥┬Х┴╖т№№├H╝]є,б╔'БpИЦє┼√ШИ)39lМ Y)х░+┬ячa9,/░NГL░╡#z"5%Т╦ЄеМ>ЙОq╝│Y╚=ихн·Dеp└?Тnc┌їЙ[bb_ЖLS=tь>ФTV╩╬xХГ_.ўЫ"A$4не*Э┬йiы9Р╣)■ъМ┤╕╔ГУж▓ЗСйЧЙшbЕтv▐Т╣╜N┌m ┤PE UтЗ;"а%аЗ"i╣m@эш-лFУ]fM╘5з C) ┘uO$vSъЯy╘я4╤&B╫В-j╗K║аА┌ЮcW┤Э^\х ┴x мЕ╛/qє1╥\Г╒ Ф+8Ь─оG ДМЧ┘╕АсЪ╟Sp|Ъп#5Яу:з╤ggЗ,У^ф╗n!КЦ,а═97h╒бкє7Є║∙пЖ(Ї╬I├mчf ╜д /шТ"KР░0Ъндл┬OЕq}Д▀+,ь╙юОwЗНеtfbB╤╡+Щ,P(-!СMaЖ ╜Д Шst]o°╪г ┬иwoФ╩(з*╜*╕"<Ю.B-лвЖA╬├jуq┼КrРS╚╥ ╫L ~С6А4y8╢|╣╔eСEъ{_╙ЛХ6%ьRкD_>^хЯu╒оЧ╙┬E─Ь░u@▌yJ\їU╟лD№╕`г╚Же╣їA▌еШ┴Є╟p·4╟$аh'2 .^q╢X:[ЧХm~╟╣тb╓є╢ЄЦрб└)╧$Р╩х1ЬUl█¤ ДЫй;Л3МhАQ∙k%╥sф·╣L╙e'PQTua*г╓G~ВДG&╚*rсu√°SХ;DхУb▄╪A;дj*ЗШ┬Ф/▄Тк║Л0"#к!| l╔С╞;+■│B*яЦH/эeЪЪкб╙╗ЖJ0┴Н м=║d╪R╔F6■V^▀╙l┼╡#1┴]▀orcУю3"mвrгyЙ3фlЪPк┴-ї╘{nс╚шЦ*a╠Ax│БЦer8еR╓rT9.eC├▌BА4rж▓Эя/\i┘▒╙ФЮ▌tlтBф╪░ЄЩXW╙//вн7g┬е√№+}ye▒АР!КXЯ"б[▌jCTїI!┐8·▓╚ф┴*M[9│╔+8еp┌M╫+fss{[ ╗╡пЭЛ╗ИЧsВЛщCчл Щ/!C|уM s█╣43Є┬К╬ ▄╙єoЭk]╨М╛s0╢й╠ГQ"fл IН╤Д╒h.4Ж-╚·Иe┤]_TEГ▐ЗG║pЩlХ`zБ╖╖ЙИ 9НЫ7Xx ╜пт└xёYщ %йkY╛TU╙pой)е'╒XМ]┐GVЧШ╥]/L#j╞ыV╖▐┘;RВnП Р╕cХХ╚5■╖Щpжу╣]G┌ Щ┐в■Ljы"┘чвЮШ4>нWQїЙtP$вЩB^ЪхЦ4П╣╨╫и─ФЪб^8Р┐ю╗┐░52бS ШыY─yU9╞│3юvдн└qю!СBb╚╣$Шe├к2,99m√▌ ╘│┘tчLvЎ№╗ВєxкLJ3ЗmrxSЕjB'CХшИЮ╖6ЗV6┤РKЭ ╦:TЙ┴иА╘x~ХO]┘сMy@lb┬j<ГОъбmfЯн┌dмTу ВР╖b╣ТIFЧ%WГ╚Рmе ▓(├ЄlK╢ёРКщ}МH╘─wS-pTDi#┼;║[D╠Б░▓$йf╕ЩeShpЎЭ╨╨5KГ:Жй:QД╘N░ ╞wтdЫY,в'g╕I┼╗%╘HNе щG-╥~є╜тс:adA Ю}A yh█╡в5-?X!ЖRwБ╗ЁCo&Hl╩А╪Э╦╝пмM Їф╗иХю\Ч╒sKЭEрсKЦЮRнЕy┬ F▌[┐─7▒э╕ч╚u9Ї╚▌ЙVтC│Гц▒н╟┴ы#&Б[^5Н╤ЇAQh║T:gvЯ ЩЎйн8L■_Їж№╫╗(?"э-уI`Dз,Ъ8ъСUP ╝L3ю3=~i┐2╬n┐╤Я╘┐мj!гqC°[к▓СЦК╜FKR<]ЁШ┌С;ж#|T ╖╟)w {Z┼▒t∙· OIеqїе╘╜╬└ХИB∙ЕGy▄?l╒БЫЩЛ▄╩╟ў i┼а(z╙$ xмд·G 6╕щ╞IЕ йХЎ╤╥Щ m{sqP*▐╪√(зик^Ў8рК##C▌Ym*щvЙw╫╟(Ж)╚ЩХнALе─VzJ)╢)A]zQЎIHoЄчш.ВЬ·c;o╩├┬Д'?ЖЖПDws╜╥┼ы*Lн∙~]SСТ(·ї1ЪМ_░Ь╢Хt)╛&Ы└ЫВч 9рс┤a■6Ыёu-а╞ 6cы9ckAkВ[*¤ИЇHeЙ5ш@&═╕T}·┤OfOs ┐├j жХ▓Ъє%Й╣а"g7▒м╔Wб tKГб~&Ь~nД╡С ftЛЪ┌ш┐Т╓║пx═6└о_O№*pxжА└У"9Sг─шQ╔Я0Й&ФP%ш╟Э╘@дИуRД)Hq{ш ╗Кy$▌-эCK╔вЫ"н┬╧├╖дн░╒5l!CkР@╟>tТdэ Є(з3^б9ЄщфКВРО$$фg╩Р ъЇ3╦lIЄзd╡dЕ╧╛РпЫv!:(N■$oP^йхNЁr,┤Уlyц М▓qV%Єч╖wM @,o┤lе/▐e]жs┼├ЬI ИъИ╥5&и+#У∙CN:яям#БqyEЦЇЗйL╦╠x@ПА▒╫_}W\4▒╥щ¤╕VШQzЇbЩ[вф|╙о╘f*├еЎу╘║иРк∙%Ж=;ы┌sje їd╟F╢А╟"eЪ ь7Cn╒ц▀x╧ь∙╪p^L; ЯРрЗЪ╗╥ы╨ьP+Дбытm?┘╩╦╪Ua▌▒()D╤Гgъ╟МБy╥ЪUG%┴FZ╨АvEиJ∙тC*F╬┬ЁfXырKyЛ=_; ╠┬╦ЄШц3є░сLК╡б╖М*В┬ЪХ┌Ц■─∙а}╛Д-└:2Дте)╜` M╞╘&еБйYфe╠╕ЖЛа ∙)иkїuє5¤кx$ЮХ`№ы∙йБ╠Ж8╫F*g╡;С╫r(╚Ж'aJТ2Ю█UгNF┴"a5┌░#Б}HФOE░8 ;lj┴&h╢БmїPт■0"ifИAо╦TвG°·юцW3rбЄЖryс\b╣41в nа╣▐БZJ7═▓pбlЯчЬьрZ╠ЄьЩО╚ko▐╝л)Г%┬ЧtчFL ╦фyТлЯ┌╝┤СЖb(їJ╩Ьyщ °и│лёPЕx%ХоqV╖╨Е*ЪВtЩ░]╦Т!tб╤`ДZ;▓r▒О╔┴SH╗ШCИрG╚R?╣иuf%д┐╜8W╙$#╬║Ў&К|Y╢О9m #╒Е6яКЖ╩@·└╒Ў╤9'┤р,{╬]ФGX└nм5Va@О·HўЭ╒}╚ЩЯE╚2n]-ї╘╘░.ьpХЩ5М9Тcпжў}RgбID▓.иHї╛чQ¤щZhЩ%_!q╪Яtєe\b█hъХ№дrЧд┬Nы┬▐└В2t4ТпLG@мM╩.c▌ЧH$Х╗Ьy╞Й'{╩пA┼XhеEзOїдО┤┬2н╫╦кДxi*A╩0ю%пС`oб╒:ЁО/ДЕ╨▄▌1G;┼жdМ) .^ /нDЎ*╩·жї8┼4ОT}niЪ.!O√YdWQ╓╞∙ТЧлZ┌ЕЛФ│ЕС№╜дЯ(мdс6k═ЪЦЗ ║шUa6g┬~╔╣T▐&╡сg-░Щ9П╨эovрУО╪│bГЩк $║гНrэхЩЕr┼2X]║%b6▀р\║ё[К│┤чЪщЖ$Q;I  Є/╣Db]╙┬д╕aС E█Сд8╣r"юР o╠АЫиB┼Ы<51╞ШнnА+9иC:[(дё7 !Щ э>╛6д(:┌A╔Л#CЯHт<╚╚Щ╞Ц F╩)Е─│ъBR╬BО╡═gfH▒╡╤СЛEVЭнdW#ЦPDRWIГ=Ё╖1c!¤ё√uП┼c9╤╩╕╢&5Iз┼Ц8 Ы╨╣д\▌й├nЖУUjy╜м┐H■db°йH╤0Vзч█DйM╓4╬╩ рeh╕░╓таM┘┤P@ЦM]rзДб╫j'9РЬ6Г;XштQFDяХOБ#╗oF(┐PвW$ZBZ5"┼h▐G ╞tьEmSЮЄКЖчЧv](х╦╟дт]╔слмС9\ыЛWяL1GS?У9pЬNИj+ж№юШ┐aL√ф'╛║6юgc6[╢зF6┼лэ0о╛p╜&ЗоXI┤>│еє:`рЇТTв ╧`z╡╪iDr&b╟: 0Э┴╖YI L╠мШЖм7lЛ╖ў *Й│ЕоЬu╤┐с╞РТ╡Z4"ўмzЁп[|юГ╥ё-)+8в╣═дРу&р`Pr▓╒4/л$т╣єойСгeЄZ¤г╨пЦmе┴Z─{░+▀vЦoФ^fИo==  бyиkА░3О8╒]ЬСO}4%э╧6ш▓%к+╢╜f▐c`╩-N┬▓Йh=H╛╒ФIH6о╜Y7║╕│╚5─JbПь4d╡Щ─S{т ЁЛ╔┬ФыШjс Tэї╥EёЎJjO▒:с·╨p·U8[╪╨╕▌H8D▌Гg╫(Kъf╒ю№ї∙h┐a╘Hg$ўZ e|aЙ4h2[ ║ЛЙph╥S8$%ф$╨4:IД■r╗jC╢C,МУ^├ф'*z7√·q1┌iз╬█*з\│mW■JX╧╙2╥fс╒°яb╡мR╗##н #ЙU┤юj·√╡ж─я▌ЮЗ#╝зМы▌┬Ї %ўё╠СВ/фЮє0#j║fфэй╚╔#╓Hыц!Х!HХэёДКЖп┤╬ОO╚ШтrНЖ╩о┐DБ>]щП№ZX┬зиЧ +╪"D(,Т┼ сВД═╢еtOЪxпO@ЄHJIh,&68▄■'cДь╪чVj/ье.57∙╤4KёNT Uшжш■╒2Ю4tеx]Є0▀HЫ╞Лэ╤┐╡h О╨·Н█ЦZQfмovюй№╣цВ№╞nx─у·I░ь[FЇ┘дИW╘ж╜-═█gcJHgШТшлзg╬ўЄтY└Fо в&ЧЮИ~н6█c╠С|$й╫о╚ЭЕlЮТ9m~K;▒d6ггГ█H9(С>YЫзE3!<'щ$гЩ+w:xdБPЭ╓KЕuШр}sq j.√┐╬ыcD╨=ЧТЇ)РйфнТ LU╣░2▌8[cB?▄Ю╘*f╙√aV╠W,j═┤BNХм4@Y╬┬Я~p╤fыXм [▒№│E)э~ikєoT^8О Т╤ca╚]?ж/▌м1v╧&K=54╓Ёd5єаJ!°зВ]╒╚ЭЄРЭ╩c|ЕЎпКД5│%c└hб7МwШ╞їEjUЩЯ·НOfЁE■╠АУj2гХL╡BЮ:oя╧H[╠а-%И%▓╘T  JA4,*,ЦКЇ #HCйEi√фН*ЇeE LЪ*РН∙ьd°+a~╘─╤ж*╧∙5<╧ЕНШaК50рH╗тлд Oy2Щ*Wc┴╖(Ог╢П!P╨┐ёнцc{4─ЖcHг▓G╟FEV╣┴qЇiфЛ┘+Bk╣)ПЗВSЦЕРЪ■OY┼нmiG_┤}9╘,∙$O╗{г\CRвщсСЫ▒б╞╨╘╟╤╚иЮ*■гАЙ┐'^В3Yу.E┘m╠ёМ╜гjВv╔ ПJЕ ; °iW1qxx╛fгШK▌2╧6°uqm;@Щs~(Г ╙╦}CrbєD1qКцрd#$U╫U]mыxdяf█8 X}єЙP?-S╨A√К╣3eТ╢$Зrds!$╧Фx>ВF#cАк┤Ц┤BЫ-FXCzb╩U&P1-Эs╫╜Ф&Ф$Л╝Ъ╣╛╞LжрУUйoТ╖Э▒9ДK$uфъ KаXMРщ)▐д;P╒Ч╘╤$ЧДq■лхт∙√пу┴}▓М'2■ёZ╢RЭ╡bPВдp~w.XцХ╣т─х▓┌;g>ЮЗQ }8Ф╘Б═┼R4╜@янШВ╛Г║фтY3D+3▒¤░╥├6ч}Sтйц'╢fе├╦Ф╛ H░─JF.~Ц|ХcА3`U┼'┌╬M у)o:e╕R│╢C4Р6uЬ┌j/ЬЕkаU╞ $НV├ пHР&БЗМZ╨nййяё1╓7╓н▌#Ы╗)эВО Ї[ЕIz╬дDлRЧч#g%▒xц!ьЭLгъ╞╟LЙЎ"YвПЦ{нКxдGc╨Й L╠В╓Х3вQzФY┤I1▀ Bоi (HNёB|McОMMOЧ▌╥eвuЎх╧╙81a^ !н╬<тS<░╜Z╗Чб╕M╕ЩVц:О1w^r╡│{b(Є},Ь.?─ы71hLSwФ°FМ&Б6a+Эл╘ШctOК zM18Юu╚╪%'ЬБКО╠оЧдqв'cПj!Gw┤%√─JмqфМСїхH]▄?CtгjЦ═ЛЩjПъL╣ТЙВ1╤╚ ЬBВЕtАN▄Oэ1q░NЎGнMdЖїЙ╨╣=V╪6,╜\ёgИ<ИiЄK9гс╚BK1;?biy/я^░░╦d.ЛЙ╠]№E{|╒Б&]ХмЮ6·pRК$║═cX╛█▀тж▌@В4ы|е№й ·ЕbF╧b.╔fn▀оc▒ЪХ╙дДRWДpX╟╩╦╜▌■хvаИїкЧНdy!бj| p╗9фa╣ЎE┌VH6С"∙cХ.VFw╥Ё╨▐uh^Q╚╛Эzrыо{ж+f"▌R~ЖPin╫$юк╥Pи═Нн├dёCтI ╗╠цУЩ9РЯ$tл*0s UШtЧ┐_Х╪╗ 0Aa1Ic╒DЮA#-&ъe[е_╞k╒8є ┼BE╚Г╟╪╫вЪ>Н┼$аеf]Ьо;=ВЙ┤НMйлСD▄╤J▐╥▐ГСЄцДlDA%tЮ.йO║%REи!У╘TЖшW╚ЇCВIcLW!QЎ┌v?═3J0Crэ°эЭmзu▀R╦г,┼,╒iь6R╫л█дAO]х\╔ъ6Ys▐┐Кd╤M┘ТEu▄Lt хI╬q]├О▒'HtсНJN╒+\ю▐√+ХrD╓:%SОзъэз}Їkt│b╞чщ,5╟XGуR'╧|к├ VЇ▀╣JB[ЁЩщ╧ХщКРP╘l<еР╧\d e╧иС[Sъ╘я║ ╡Tгp├?SетУИ5еF╤}$RLO%r4жl╥'жъR╣m vV■ЪIюї-}Д~╡#1ФчtWт╖кDИд$С/ЯьД▒Ўгz┴▓*]гu.!╔═gМКlввh[8IЦ╪дgEtmw╕_ЎГС&╠е8oq!!ж\рI"С╟г]VфъдR█ОнБФр;4D╟ххчb┘L╥&щIi▓DдЁdйЦ ¤═k#Ыр╝V%я7 вУI└EV%▄*EcE╞ЄЫ▐Е ГQV DЦ┤бJ╒╖С╘ф▓┤aKbу╬o│ъ╗ goЖM"hЧхIї^]╬¤ъD▌ї{ОФ╫¤R▐-yWF·ZRбЗ╢#ХйжЄN9H╣к┴╥Hcрc√╚╛FGёЩз"╟▀Е┐п6!╧S┘-ш╙~3*_5Dйх┌ў]╕ Й}╩╩ф" iOOждДз═GZБlAAAX╝'╔╤Втm╨╥<]╟б╬D2╚"ЙYE│UНузv▒?T4╫▓ўс▄Ф]=Ур╔н╦4┴▓ЭYСхёї╜╫╤┬┬&Pт√s▀:БЩf∙Єly╙u┬*ч#K▀U╫ь┼з█e┤▄ jШYИ╖!у┘Ю4Sh╝к╡6Hо├pт#Ьl╨ТхЛA9j2Gp5mЇr..HХ*Оcщ┼й╙У.┐ЩТ┬Ы╤)\ йД'av`Йныф╕╥ЕFкЬo╝ВИь╧ц°┬сu]Ў ^I№ч╧иЄ╢цdС.{)g░&dм$RжУ ет&╩u┴ъц╛с╓ъn"еDР-"Ег╚N}еVk W╚▀5NщP$Ё╬╫)╔М <ъ№$^E?Рб!З║█мх┼Еє█7Ц9S&┤°┌╥6ПZu(ж▌╝Ї╗vFЪ╓НЦцNg жэY^a╢╩ФжФ│ g(╪╣ЁЗ╩▄D~RоВcЖМб╤╠*╘г!GєЩW─<*П█!3j╧лй╛еe╒uJ╛%|¤╖e┤@н■~I╖nb▐╓∙рАA▒+╘─╦(╖rююЕ█BD>M│кф4Ю4─Й,Gх╢"╚UБ∙Л2e¤A▓)Й█╛GЛ/T╝╔еЖ╒█Л░°Ащk°BкЕ∙й6Х}J2твэ▓вЇ#UЕЯ!КЮЛ¤H№%EЙяРд╩я■№К░╗╨щ═ЧЇ \╝╥#+4/оi┬С▀╕йидЬЦв;ьЮ╛sкv2╒RЗ*pН┌9│!ЁuЪЮ╣G h▌┌tjчПЎк ШэЇ▌╠М BСZ╓щыt Рс1a╩ГШк╛}qо&пФР!hц1▌ч&з ╢}ь7v╚&зEЬ Ывp╟ЪeфСц,Go"+Dї7}Iк7$i6KЙTЮ)Cy>JЁ.ИX╢█н╣Gg╤!Zфn═[┐¤bo'У"Тs@щg╖.╬┤мё╗сzУbц╖a╠.╔Л ^вїk}m╜uUX╬ЮTy% ╛RДС╤пгHТ┤▒ ▓f|и╤Ъй╡╚fyвйK╙гwМ[ай▐Э¤Шa%!╡ cБ┘}0╖V╚-W▐ЙйK57т%[▌ыЙБbTNНbчM $(▌2 √сНUo╬хF4▓╬ u?fxОъэбЗе╓░зjх▓],░вYыrН+?║Tсл Э│(г╥ЙИТ╕╢ [ЪR w┴█юмWДОцГеоvВКФ┌ \С╓]╬sAf░╦9<hГГnuLgВБ╬yшd▌иD┐ы╞(хжW▓йєv╠1з╫:у>tЇКЪ(єИ$┤c шйG#8I╥╦zz╝JXЦNк╫·JЙ\╩єз@√їqЦщ?Е6Чd╧гBЧМW$гц╩zvФ4√╩ х╞*б═кЇЁр└\Ы*и┬▌Я╪о└▒Nк▓У└А"фТБuячn┼^qЪd╙═elХ║uZ┼ДдJQ╜UTX╖Э▐H∙ДvифцЫОF╠(я=┤2rщуt |┼╤HRоХ╔ф║·Ж{)┼&Y-мp?щ}ИF╨═9#ГzDр]ВM:7 . КЮМ▀U*Є╫ ZР╡}ё┴ їgJ╠иV ┘AsхЫ~ъвI~dH Ъ╒ ╧-jW-ЮT▒╡ЧKCЎ|bму┤╠-У╜ЛЧЦ╛╔Gоwь╩Ы(EВ 0]`;╢┘@Це√р*╞R∙I|√┐▌~╤cЯФЁ▌@Y╛КкО]┘╧╙║┼e╖AJ,y▌u╚{)ф*│я╞2PxI№Iсо|l нRыE$б╬В╟Ж^├Д2Їьт▌*е─B╠э╠h╒Щp+Ё╛;ME╙h═╚┤╡ ╙XЩd·в.Э╛¤ЖЎужФТPє.─иУcNїЪCЗ╙mзк*нp(Нmx:═R╓еj╬ОsФQ▌f┘aЬEо|╗EjФ^ФО/-Я е╢Є!ю=7╫шЭ╚^в∙ф+ОШЭ┴+\√▌7<╟7є▒_┬|нХ╟єХсm[s▀X!уnnWЬ;┬ЬШ1P▀▀P╞,Ы_?f▄д├C}┼l┼┼gR60∙┐┬ьY┌ЎЎ$░╠TeшЪ╝O2^║│┬j;╛├рf^БtЙТ▓'H▀]кЗ═;Юёc║╫╢є-Єр^ %мwЛб╕пэ/╢DЭ]юO░О╔с@╢ZЁ┘╢▐^Г|▐y┐╬xM╥╖УВ╥&ю╞╫фЛа ш╡BэPk#HжЪcТ█/т{╣█-7г0rф╙B╟r.d3-ёЎ╢s,ю├°╣MiF%1п?dёA╩ў╬к@:X╕6К,Oй#ыjB├ОBbtBх(╚ЩзAй├|ы╝`Я,╩б╜тCю5 a┼г"ПpВIЦШ¤LЁ╧ру╥W╫>M C┐7ых╣Ё═Мe8щЦ[A▀▄г╛▄@бM>╪ ОД ktiz┤╤8!$ИiЪ▄ФHvhGmw─ч9┐▀Ф╓ооС│v┘ЖqPOИ]H∙C8╚K7хeы/ы%Z%д(о╥√aчлэi╦░й╫h╜~┬2Q*№Ф·й:Mт╥лD┬ЩHе°╬(xо(K▓4hа,ял═ЧRCq├Ї*У*'Rхh*Л▒юї(эQ/єQ-(_/W║$7>є:5╬-u║╘}т─DZ~XйHBdI9(їo 6█(╨P ┘fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/sample_ref.raw000066400000000000000000001161001473255640600261500ustar00rootroot00000000000000N { X } n ; 5 ╩ ■ ▄ п ы  ╪ ║ о к Ь А q P 7 3 (     V К r Е S :    M H ^ :  # (     э─д╙   р  ыИЗДЮ╞┼м/и╠∙╩Эо-K{Э├╦╙╩▄хщрс╓ью   ц╚єу╚ч╠pЧЮУ▌Є∙√Ї  √юяц┘▐╓ $ ) ,  эДН╜й│╪єлxЗыB╨┌ЭАpдjСБ1г╩║╗┐ЮJМ┼─╛ноЪ│ЯвmyЪЬqRшSsR(AЄeЬ|ШУУТsТ╩}ФИв▓l Х R I \ / ( ┤ ■ ╔ ╔ ╜ ╨ Ї ╒ ╨ Я s Z W < ! , &   d y Б { M @   Y Z 8  ц ¤╟╝╓∙╡H│х$ ' 8 ? - °вll╖Дй╥ў■П=$1т╕чmп╚▀ёц╓шє√Ўьчш°√ъ╚┬Ёёю№╪TДс▄хя¤∙¤ ўЬ╘ой╘ш  ! , &  с  тt║яє┴пx▓╜ФЦZТ┐║├ЖТ╗┤┐ж`жВc░dm│ЗdU`d^J~б╗YC┤ЭНЪ▒УNq║∙юЭ%█C 4 4 - 7 9 2 y С г ╖ М Ю ┤ к в q P P Q E E /  #    K m a b F 2 = *  3 6  ш█└y@?vБ=x╔№2 C M ; $ ў╣К╢╪╤ш % ╙╚ф╚ЮыЯ─Ыю7<Apвлся╪╦°∙їЁЁы▀яЎ▄щЁьэ∙·уъ°ё▓е·  ьЭ╞О╣ё· уц     ї ¤╪╩юї¤Ўъ╠╢┤▓░╧└─┬╟╦Эsб╙ТЖиnЦ│ЩжЦiПП 'Ю╕─┐А-жнxT)Ш╕Я╚╔ТХдл╩№тЩ$94 E 5 ' L [ A : A u s K G n X U X W d Q : Г Й L 0 d A  B J 5 / 9 4 * (    8 ¤╘╡m(=1 %CО╤ 9 :  Ё  гжу   1  їю╧Ефс▒▌(JMj╢╥яє╘├¤√Єэыц┌▄р▄чьт▐Є╬uЯ▄·▄╠Ї  № °юЇЄЁЎ╨╪ ї°ч╨ь═я  х╨╞р·ў ю┐Тзе┴╟█┘┬╢╗С═╫╝╘░ЫзГкvи░VGPАh_в╟─и}GйЙqеxC╣╤╒иСНХ┤▌ё╞а(6M2 A A . O w Z . < p x s O    = а К _ a Ф П 8 c Q : A & 4 ) ) *     ю╨ЗЖЁ'$;PzЦ╓  % /   рyТ█  ў  №ъ▐Щ/¤ыё+?qо┴╒▐эю· ўъф█▓зхчфшуэто┬чЇўєфЄ√ Ўё║  тцЇыэ№∙┌ио╡░sдр┌█tX╞ы  ё░mИб░╞Тб╧о┤ўт┌▀╟kf{ЮqЩz╩5Р.╓└пЪХИФРв┤Ю}╞┘╧ЭНЩЬ╗╚▀╖o└Ш3 9 B C : m e - ' W _ x 0  % їёC А u W C И и Ч И e ] e P 9 8 ; -   ■√ю╩Хb ╣┐ЇqПЬ─т√  + ' )    ч▐╘ф■  < 7  ъ╛ЖD6'5ANsd_╕р° √  ъ█юр└▒сф╙╢╡█ээ▀Ёяфя№°∙т┼пЙ ■ цn┼Ўф┬ЬЭ GВi╥├г╫∙ ∙╥┴й|╢╨║╡╤▀э °т┴╫╒ЖD~╨оvЗЙ?Хe·9РФдо╝зnБm_Л║╠╗WПЭЮНLЕв┼Ш┤╙9 G _ S + D 8   n `  №чс k Ы б O R ▒ ┴ Ъ Ц | d t ^ 9 ! ▄ш╕Эв╠е.р║┼ЎJY|Ю╚╟┌   " % & 4    ъ┼╘ -  % ! ■у║ИU3apT;t`GР╬у■∙  ьС╓ъьычу╥┘хцЛЯт╞┘рсЄўї№Ьа╓╥фь  % │йС╢пu"qПkПЙ│ №фЁ  ╡н╩▀с┌╟БЪу■ є╪╟╒║hз╫═Ow╗├пРLA=деWsslЙtkм═А╖▓ycА*aЧ▓i@л╟╔Ф; ; a h 3 F > < Р R ( ? - (  U Y | p ; ] ╜ У m г ~ Y l l E Ў╚РD/Da-╪╪Rбп▓╥─▐    2 * + 0 9 )   Ї╨Ё     єх▐╞УВбоЦtnБЧ╝╛ч    ╧Вц│┬Р╛╡$Q╖э┘▌╧╣╬чўўЎ▐ф╞╦чЩСю ю,  Y№фfW1С╝▒Ы * ЬЫсрю ( ┬г╠р╠u{П│ъїЁч▐т╚┬╚╔╬╝xп═▒йЛh║╜┬Б\^,vm\BИ`яZBuд╖оД3И╓╩J\ C c v 3 M { q Л К 7 ) R N ~ e С k d P N f С { k Б З j n ` < ВzJ&√ыуз└,bqся  °¤  7 E 3 F N I G 7   яЄ ъєюїёя█╗║▓з}54д█╔F█) ( * ,  є▄╖ovё.ъu┘╥ш▀╓Ўъхє·  чЇ ў╖шї▀┌&  кЙыD▐щўёк¤k @ ╞╫ъшэь▐ЗpМ╨╔Б╢╥рьу▐▐╘╒╤╬╩╒╙╞╒┘└╔╦╩╖╒ШаtыbL┐#Дcхт0ї╝Qг&1a~ап╗УВ╗▓9l I : W 4 R o : a `  ї, t  \ Щ б С В B 6 i Ц ж v J = 4 ? A ─jўш╫ОБo╚.Ий# ' $ / '  % 3 Q O F G > ; 9 ' $    $  ▄ №ї ·ъ▄╬╪ч░Neёчя█ 5 2 : 4  х╤┼A<xЭшЇШ╬▒{╣э╤Ї    ўф      ¤Ф█rrДг√ ∙ 3 * ўьЁєє}╠¤╬╧┴╖▌▄▐ц▌█▀╒╛╬╢╕╓╕╨щч╔┐╟╫р╪Ьйа+УгВNC¤B├*╚?Ш╢╗MЖЭ┤╣╕▌╚Аn Q 7 < g a ^ : m b 0 / p Й k Z О Ы Щ d % ; d Л Ж Ч \ 3 1 √о:╡╢╩╨йЪё3О─   2     ; K R 9 / D ; ; 6 - - ' % ' 1 # ь·  ■ь╪р ╬ c▀█  . 7 3 D D ц(Е вУЦЇ6l№▌  Ёш╓ЗT═   ▐╢  $ ) , 5  ]з╞"│╘° @ w ; їя°° лs  ш╤▌╫шу▌▄╘╫▄═╣╟╖└╒┴╪ч█▒гТ╦█╥╗╧┤к┐л┬ЗДC┬гШ п+gOўд╖`xЦЩ╕█ЇЁj ^ m E П п з Б ▓ ^ J Ш Ч W В Д Ч В t = 8 ` f В в Ч j = $ █Ч%Е:аЎы╩х!@`У╦   ! & 6 Q J A 7 7 C ? 1 + * / $  7 ) й░   ў╬╬┘╟ьаг∙ "   , 5 [ E Э│К_ь╜|╩ЩЯ╨°э   ! ╧up▌) -      $ 0 = J y  Uhыяў·∙ . ∙   °жx °ц▐цч╒╓╘╓╧╥╩вв▒╦╦╛В╕ы┌╕еЧ╘╬Ц?░д╡╟╟╗Т╣]?ЦpUкЫ дёцўV|uОнфЎq Z t П ж ┼ П ▓ ─ П a Х } r k a s b ; % 7 { Г е ╦ Ы } T #  ш╗О.╔ ;NсЖ╛╓╜█Z┴Є  # J Y Q = 2 6 - .   + #    ║╘  ╥Ж╢яы Ї╦   ·< j N ∙ 1 * 1   ┌а╬║╨ 0 + %  " 4 J = $   ює " $  b Ё Н ·ъЎ°    .    № █╛▀·ыя╒╓у╤р▀╓╠╠Тmп├╤аиЕ═юёфРx┼ЮМЪyi▒ФУ┘╚║rU°▄О\D$█VAyъ4iI,{╨К d Й Ч ╕ ╤ Ы в ╛ П д ╜ е Б } Е { V K @ q д й Ц ╩ ┬ С @ . $  ╔░╕pz╒╧G╩oП┴Я∙Вш     5 ^ X L C ( ' ! їЎ !    / √ьШЭ█BR(Жы■╨ шю S e ` f U @ 9  ў   ╛я   / = % ╒ ) A 6 : /     ╟┼ ' % C : ; !    % 2 $  їыЦь6 &    щфчь╫┴╫╘└П┐─╬╪│║╓чюх╫╠ЧЬЬп─ЩЫ▒╝╒ыгЮЖJ1`Y╖b╤╚RH;рЦ╩КI╜ИI U ~ З У м ▓ д ж v к Ч s Ш л ┤ ╨ З ` j ╟ ▐ ╗ У |  G №э▐йtGMХ R 5 ─nEE7 :Ъь    2 D 8 F ; 3  ∙щ  &  ) їч  й╧┌╘юN}╜  ╣╟╓ H X Z W W a O C    2 H *  % )  бч      ў ╤┘4 -  ь6 s . · Єё2 2 !   ╓╪* V .    ЁэЁЎ╞з┴▌║Д╩╥╤╩Ев▀тш▄╓╛rо╓╬АЦ╛╝╒┌┌ЦБVюч[oPdUб╠ImЬєо┘╣5< M м ╡ Ц К p | Ч Х Н Т Ц ╜ ┴ ╨ ю ╨ Я ж ╥ ┌ о П ~ `  эц░qык,▒" i h  П├╙sMЗ╙Ё   °< * 5 9 = # ю + (  3 *  №B 2   №▓ _ M =  л√О } ~ a 3 8 N O !     ( H E  & . *  Їх▀цхё█╧ш  @ # °╞ :  ▌╩Ё∙·  тЄ¤фЇ/ 2   )  ёю є▌╤╦▌╟л╙╦Ф+ж╓╘сч╔╖пШ╡╠╣uи╣┬ф╘Ф H┬$&тKЙLєЎВEk· Bd o М З з Й ~ В С ╢ о Э е ф ╩ ╟ т ї ╛ ▌   ┘ ╦ Ф W    Эн╒2WщR ▒ Ы  °┌ПА╜ш     ; 1 (    4 X    3 9 1 3 Y  - w ч! Ї╓╕ л┘ `V9 И ( c ╝ y ? 6 7 !    · 5     ўу╒╔╛╡лдДL]Я╒¤ Ё─э■ ї└╫є·№  √·  "     ■∙ ▐│╩╓╜Г╢▐╒г]╣┼┘чц╙├╚╞╤╫╨╩─┬╤▌пykВDO> ■AБГ[2hB(╤╧Zzа╠ е Ч p О c t { k Я ┼ ├ Ь е ф Ї ├ ╬ б ╗ ° я ж  R T 2 R чz9LMGж Д ╬ │ P  ┘н╝▀ў  "  ' k t .  ; `    + B S U 9 +  ° R   &  Ї МЛлm-▀\ / Z ▄ р ч | > #  ■∙ #    √∙у╥оШКГj+т╓╧6Э▐у╤з┤╦тшууЇ  Ў·      Ї∙ √є∙ё█║├а▒в╤▐К░▌┌▐ыхфщчэ  ■ц╬╙╘╔У}qЪ|S"`i?nЦТОЙ{ZяЦ╕Я╟ ч Ю ░ Р > A E 4 В ╔ ╣ └ б └ · Ю б М  Х b , ' l Г < , ╦ж╞█ЦЧ2 } Ь Ф С | ` 1   Ў  ' #  $ c h      . ! % R x r И ~ _ 0    ; W Н M Б  ∙tн c`┬ 2 У ┬ ы ? э e   Ёё    №ы╘┐ЧhTF1№аNHН┬-Л┤ЩЖzХ▓╡щЄ╥э■∙╨у єё¤ █╧Ў№ №ьЎфо┐╓█жТш▐~╜тэєшфцшщє  ўт┘▌╬мFЕииЧШ2L8x?ИЕй┤йt∙7Ь░О╠ш ╚ М А l R Q ^ ; Q Л ▒ ° Х e e c Щ л t _ L - х] И m N  < N , ▒╙f И и И %   * < O % + F f K I , J P   7 !   3 ╗ щ ▐ ▄ ╞ К h = * . [ { ╝ а │ ║ d ¤╦51ь D Ю П ╘  Ї м E  ╙▀  °ч▄╚пo5 ·унЗD$m┴∙L^a~Ылп┤ўъ°∙їЎїЇ°∙Ў ╫╘°   ¤їЁ▌═┌═╤┤зыЁюъэ   єЁ▐┌рцъ╞╬╘╩╨┼├╫╙╘╞Е-lЎUPKazй╠╣kVё1d<╞┬ | i Q K E a x d P А ╕ ▄ К А M Q z Б c L S ╙h! Ы ▓ з Ц В Д w 4 > А Ч ╞ i ¤■ ь ! ( ; C Y B I : < 9  ∙·    ; я Є  ╟ е я х t  ¤4 n ╡ ь ╣ ]  *` Rя B Ы ▌ ▌ ц M  ╒ <   ╕╨чу▌╬└╕u╒▓░ЫНШк┤ц,KeЖЛХм╛╞уўя▄їЎЇЇюшт╟ш ■єЇ∙  ¤∙∙╬▄с█он┐═ЄьээЄ   ·я╔╣╦╫╧╣═╟Ы╙▀р┐╥╚┐hA|IЪ│├Ц║у▄з0A1OАи Ъ x i e < 8 S Д z Т в о ╫ ║ Ш d n  ~ B <  Xц└Е │ Н x В Я б Ь [ R Г ┤ e Ї їф∙  ф╓ю    №ў°  `  √ │ Н ╬ B > ╚ _ k p e н р О  █F4kЎ s ╔ ╞ ╟ ╩ 8 / ∙ N * ╚а┼иР~СН:єйC[о╤Ў .PwЫ╗╔┐┼╔╔╤ушэьў√я┤л▌ж┘ёч╫ц   №Ёє╓фяь╢░╙сёя√ЎЁ %  ц─╠╓╥╟╪╬й▐шус╜пЛМЧоРоф╧йе╧ту╝╕┐ЦSТ√ №№ ╘ п x 1 - 0 3 ] Х ┤ ┤ ╗  P h Ц └ И ё╠╫>C О ║ Ж | Д ╛ ╪ н 5 ц [  ├т ць  ї╘╦р№   ¤Ї·   B З ╚ Ю и ▄ B _ ё х ∙ ╙ ╢ ╢ j 5   ╨э- g : J ╤ ё ╫ ъ ▓ █ @ ┘ > 2 Й ∙а╟Ь:B^k4№║Ie─<WnВЦи▓┐╞═╬╩╜╞╫▌хю ·ьх╣╛█С█ё№    █у╒╓Єў╤ЖюЄє■ў°  4  ф┼╙▄╨╫╫╩█щярЧз╧У]Р{С╠UW4AЭ╔▓[╝т╦К└ь ▐/  ╗ О d L B 9 9 ^ y u k 5 $ z z Д w  ╬В(НK И ┴ ╕ Ц ─ р э ш Т ·лаТs╔ь└¤Q ?  ¤Єў   №ЎЄэЎ  / ~ o Й ┤ є 5 # ц   ╛ ╫ ▄ юY Q 8 X K T 7 B ╗ я ╞ ъ ╠ м ┘ ╥ ^ 7 x  ░з╝ЫЕnrK,Є╛╦Ё&JБЬ┐Ўэ┐┴╘Єєъ├щх▌у   √э╫ыяЪЮц    ▀ф╕╣ё  √ющ ¤є    ■Ё┘╟╤▄═╔╣╢▐цьщ└р ▄│╚░е╜9P{о^g│Щ╩хеKМъ ┼$ ) ─  v w А k = f w b С m h O ? n $ ъ┘xM╥q ж є ╦ А ╔  ▄ ╘ │ h ╤И┤БкD F ? u a ; %     ¤ЎёЎ   1 5 ~ ├ ж е щ ° ╖ м м г Л ж Ы  S j E ^ Ю p 8 8 * И ┌ Н ─ ц Ц C t A ыE ё~АыыаТ║йa ╟╒·'Wт)  ьш█Є Ё▓тух┬ё  ■· * к╕ў  ╤Щ┬∙   ЎьЎ ¤    ц┘╬╙╧╫╨╩╟█ц╒╙▄ь     я╨╓ц╙╨╔~Т╚╒┘▐Л_w┌є╛ ю й ~ n e b \ M М ╢ Р У ┴ ё д Y L  ╫лE_/ Ч ╔  ╦ к ╘ ъ ъ ═ ~  █╬╔╣Q з z q К j ? 8 2 *      L f U Ъ х ░ | L ) N А 3 / ? o и h У ^  B¤( $  ┘ ¤ Щ ┌ ь ▒ R  х╧└54}╤у╘╤╬╢ZэЕХ┤═▓fм^╬╠Юз║╤тЄ яь  √  -  ╔Ї¤     ├┴щ▀ ╔├ц·№    ф╦╓сср▄╤┼╟╓╥╬╨у   ▀Єьч█лVVqНз╒фщ┘╝Иo╔╪└╧ ┼ а М v [ D X k п  ▐ ╔ ┤ С c a 3 ╚ЦBИR l п ╝ м ж ▓ ╚ ° ю ▀ Х Q   ь7 С u F  \ F O 8 0     &  J я ° ╢ ╪ х Ц G  Ў' o ' # L m y K 6 √ц№╛U = d ╣ е ` и ╣ н Б  ╟ШS`ц █УB╙sЁ! ▄╝E╨/ZAeЭг▓ъ■їЇ =  ящ▀ї·  ╥ў№єъ    √∙Ё√  №хЁєў      ┬ЙхєўхфаК╖╥╙╓╒▄ў √чЄ▀╓╙╞ЧА╚╒╦╤т┘Л/bМ╗Ч}е е Г Z P N M L c ж э ∙ ╪ З Z [ > ' ▀ж{!Ю , Т Р ╡ а З ╜ ╬ ╟ ┬ в g - ) ) & * \ S . = F , 1 .   ■ !   М ! 5  я ╛ Ф b F P ^ m ^ a 9 я ▒Б┤ r Е Ж z C x Й u / мCQT:KЧ % ╨Жv|~RА╖B∙=HPCsжЯ╛╓╤ё∙   ё┘уь )  ё▐┌╫▌  ┬╟ё▄°    ў╒ё  # !   ■╙zЬЎ сЪеРбр═█фЄ¤■ўэ╫Фr╟оЫ█▀▄╓┘╙К^м└┐КuЧ П h a Z u q v л ╘ ╕ ┬ ╛ а k " ыу┐}*ЇБ┬ё@ V Щ Ъ Ъ ╗ ═ ├ ~ A * 5 "   A 5   6  № ▐ё▀ф   P ▓  ╖ М С ~ W U н ║ o ^ *  3  С╝∙&█▓N Б N  ┐7 d ЇН№m~JOЦ√·╧╟Чc@|Цuf*у4ГО~^б┤┤╞┴╚╙ї     -  єп╔▓╛╢╬ щ┌╦   ∙  їр¤  ( 8 '  э│жи   ё╕nЩъшфё√∙їюЁ╚вУ╜р█╨▐уя▀╨╤╖░ЯБЩДг Й k a Г н ╣ Э ╢ ┴ п ╢ ╔ ╓ ╡ А 1 ┬ln┬╒ 2 Z Ж ╕ ┼ я ╣ ` K H b ( √∙ ¤▌│═ c G їа║Яч    + Д є ╨ Ю Ф г   L И И } y (   ▒▒kюky;ф8  Р Ф╙ГH■Я╘дuД╕ЄЁ╙▌╨┘ыъ╘Ї╫╕│┴╢ЮзЩ╜тЎу┼╥цч°    $ < D  ▀Н╢Н╢п╬ ¤  ё °   & J ^ R 3 щ∙  ь №ср¤∙юъЇЎЄє№ё│═╧┴╧┼╖╦ъїс╬╥аrЖбзq╡ в Е p ╖ ╞ ┌ л { y x б п ъ ▀ ╢ a ╞Н; l╠█ l { О ▒ ┴ ║ x 8 j m c ( ▐╦йЛ~Ч▀= А k 4 ю╜╣я " P L ` ш Z ┌ ╓ ╟ ═ ( ' v ┬ ╒ ▒ о C т─Cч+█Qвч╙kЗUЗ─LEЮ ╛╝╗р╔ї╟фїц¤№+ $  їь▀┤ж╘х·) .  ёсты   # + N P ' уY└▌°єў№           ) > C S =  " # ь▀▀  Ў  ¤уцэЎ∙°■█╞╝═█╖lwо╘щ▄┌╬╨╫нКШУдп ╤ ╚ Ч ╚ я х ┬ x h } Л А ╪ ═ Н 1 Ё┼F>б F Й ┼ ╨ ╓ ╤ ╠ Ч f d R ]  ▄└Ьбщ 0 ^ Z T a 4 ╧°  I Э ╧ ╣  2 э є Ё ╡ z a з э ┘ ╜ к 6 цР[Dw)G ╩хтЭЖ'рbх╚J╚ш, X U я  {3%А1ю ф¤   ∙фс ях L S  юыЄў     їтх▀▌ўЄ╙ш            # - & 7 0 ▀чъЎ ■■  ЎфыЄ  ·Є╨╟▒╘ф─е┴█▐╓╟└╟╫╓─Ш}ЛУж ╛ н ╡ ┼ р є Ї П н Ч | z ° ╚ П В n QїK│W ╙ o Б ╞   ═ н а s _ k T 5 ' є╚ёM 7 # - 2 % ■ + + * H _ Ю └ ╤ н и ┘ ╛ ╒ Р Л з ┘ ╚ ╡ Ц A   я═К$Fв╖ф |ь▐G╙Ш]Ки2 S } c 3 ╥═╣·$ШJУЎ * +       0 9 т O q ,  ∙  Їъ■ % ·╡ръюїЄэс■          4 & 0 ; Ў╕ЇЇ  °  їъя  ■щ▐°┼k╨▐▄хщт╪┐┴н═┌╩╝Хs]}│ г б ╟ ╛ °   в Я Р _ m  " м ╖ с X ╞t╟▀ г └ ╧ ▐     ╢ ~ d m C 7  < D 0 A A B f ╜╜ C O ; f n О ╛ б l X  _ Ш Ж l г · й К Л M ^ u ( ·у╟й╙╦╦╡Vй>w= К O G 3 U m G  щ О░ў3Xд▐! *   ·    ·  ! D x N ( . 4 4 √° - ∙┤░╣к╤┘яЁ            D d J $ ; 1  ∙¤ ■ў   ·э■  ·Ь╩√ ёЁштяч╥─Цб╛╨╨╖╗na\г ┴ │ р   ° ° к s к О r Ы ┘ ф Ю Ш , вAxмл^ ╗ ї ь ╒ ╒  + ═ z O ; . K 0 # > : % G ` ? к╧  6 C + U h b W W Z A t Ч щ К U Й Э Е , I N i Ъ C  ▌·═°єє▐ЧS╞` Д ┤ в i ) є №∙ў■╝уP)фR"Ю╙№    Ї┐╣╠  $ C [ I X Z Z S 3  я ▐ФЗ╨лыЯщыс ї·   &    ў■# " 8 V 7  8 > -    ■   ў  "  Ё╦ё   юч┘шт═г╡┬╞╧╔┐║|йП;О л т ы Є ▐ ┴ ╟ е y ┤ ╢ А a V М x l  вJ4lQыu Й Я з ┴ ╧ Є ╛ p G 0 1 I ^ E F 1  W o  ═ % B R X 2 J H I 5 = L K Ы ь  ╘ Й h Z a 5 X 8 B N R Є1 6 ¤ P & ░┤Є■═i м Б - ╦╫▒═╪! ! ХюеЯИ╣1p╒   ╩zЖ A  #  * > = 2   ╘Ў(  ╠╠└К╠ю√ї Ў       √Ї   % + 3 - - &  Ї√       !      Їщух▐Я░▐╥╧╠╙▒rМh|Ж Э ╜ ╬ ╖ й ╦ с ═ ╟ ┤ ╝ г Й g x Л Ф g ёб<└кX% K _ u ▒ ╢ е Ь Ж Y 6 5 K z a C  єO \ B > 5 9 F [ g 6 O = 9 J Y P c и є  у м  п i b > J h h 4 [ о Д s h R  АФ8╘ ╔r / ═╡╕зДл╜█ 7 шШЕЧнйЯ█■ · & $ №Е╤╓>  ■■ч╨╞═┘╪╝д▐, H  укСуї·       ■■ щш╕¤+ - 5 ; +  ·ъ             Ёш▄хр▄▌═Я╛╪┌│ЙСfVЗ ╡ ╖ ┼ ┼ ╓ т · ч Ї ╦ Э p x О ╧ ╔ ╝ Ы  д-bo╒? l m Ю ┌ ╝ б Л Т { 8 k Х Е < &  ^ i ] [ @ & . E 8    ) J b H W И ┐ ∙ э ф ▓ ╫ U ╟ n м в А y s ╜ У Я ╣ X 0  в ъ/ЯД:$╧ФЙ╜ V ` # ¤  чэ 2 H 0 H ╪jт°ф╧Е@$IuЦЗ┴ АлцьПrї№    . #  "   ├оД h L J J .                   "  ё▄╓┘с╪╤╙╔└┼╤╤├нЪИж ┬ ╜ л ╪ ў  т ╔ у   ╣ Ч к ж п ┤ S # уQ╣Э ░ a М ╫   ─ а й ╛ Ц С  w l [ - u Ц Д Й Q 9 J # ьЁ   < ^ М Р ▒ т ╕ с э ч ├ &  Я ╓ │ Ч ─ s ┤ о │ Я S I "  ╢4 yОРы╚╢╠4;bVп·? T 2 1 C \ n   n Б P R = " !  ╙═╘╝ ▒┤▄хс+AIЛ═║┬ъ╟J^═ъ     $ = 9   ╙╛чЁ . B * 1 > "  №√       ∙ўў № Ўф╦╥▌╫╨з╣║┼├│╕вЯЙIА┴ Ю Я о ┼ ф √ ц ┌ ╬ ц Є ╤ ─ Ё ╞ Е p U e # ╜═"╫D Э ╤  , ї ╥ ╙ ╘ м м y _ r l h * = | Ш Т Y w 4  ¤■  % j ▐ ▌ ╧ │ ╨  ° ю · ╥ у ┌ и i ╜ ь v Б Ф м m B  ╒╙╩p└н┐дgc┐Xf∙  ? , , З ─ { h Г a S c B $  хвmLя$єHu┐┬╧╓н┬╝┼kMКйпї  H P + , - ) ж╦х╦╕ь     ї√            ■°ёЁ∙·°ў▀╔з├╒└┬└╔ОЯ╕ЭmpuryI┐ о ╡ ╔ й ╥ ▄ ╗ Ц л о ╢ ╘  4  ╞ У С Д = єl ╤W ╠ я ь ▄ ╞ █ ё ╝ h ~ p ^ H   ц█9 q P P D ) 9  ¤ ) л - Ў в ╡ ┘ х ∙ Ї  Ё ═ в х  ╘ К г ` ( ю┤j0x└Я┤,Ї@a5В╥Т╠щ.╬   + A u Б } Q j _ T b B  ьд@╬}яMk?0H{\k░688И╖аШбк╟∙ 3 w x 6 * ∙¤┴┌▐ы╣э    ∙   їЎ■       эЄєЁў ўф└РЖ╞╞╩╘р╙Еа╕еЩеДqbm▄ │ ╛ р ╩ ┘ ▐ ╠ Ч ┌ ь ┘ ў Q > т ъ  ╖ W  ╠TA╫` ъ ё ╘ т ╤ └ я ╖ s Ь Х Н s ?     й Д Н A  2 R    ` я A я К  5 ╩ Б y ─ Є ░ д ї 2 х Ц Ч К @  ╒Ш0"ГМхнnВГ0MxУ1m=iс) ·ф3 G ] R Z 5 + 3 I ?  у╞Ыv√╡|gЪфXЁНаКе0МСТЦЭр $ A \ e O f Z F )   .    Є  , '  ¤      №щёўў  ёеПЫСт╢сїы╓з├ы┐┬д╢йМO┘ х ь ы ╔ ╬ ┼ Ч Н  х ¤ " F 2    я И 9 Ї ЧХ W ё  ё ■ ы ─ ╩ ╛ ╖ ├ ╡ а Л б z Z b ─  ═ ╡ E  / А 8 V O > m И ╡ З ░ M ═ Н Э m X Ф ╨  ¤ ┼ ─ ╤ ╥ ж u a 2 ЇН ВЙ!║оф+Ё 3╬∙^Я B  ї╗╧     ї▀лЖ\▄╟Ў╪ IУАл├щLЯьEpp}У┬▄ < R S u ╤ ╩ ^ 6 (  +     6 % ¤ * _ P      №╙├▐   ┌y░Ьs▄╥· █═║ф¤▀╝В╟╒вМЮ ╥ Ї █ └ ┴ ╣ П j ╖ ╞  I F # 2 &  ▄ е 3 э У╢ $ С ┌ т ч ф я ┘ ┌ ╪ ▀ ▌ ╙ у ┌ Ф г } j о ╦ ╫ y ` 4 ~ Б ц ╤ [ ^ Х z ^ И ╠ Ъ ╫ ї у Є  ! ю ┌ | | е Ц О F G D - ч Vv='╙0?м.╝╨(╖$ q : ) 1  ╜Хэ ф╘╘└ЯеOщ┤тЕ╘к■╦%4tЬГ╜EФ╟33YФ╫Є 7 L \ Т ╤ Я ' / 1 .     3 3 - 7 I [ \ 9    їш▓═° - 1    /  эъ∙  ёьў Ў█╥╨▐╣}UH w а ┼ ╙ ═ ╗ ж x Г ч  э э > ? · я ╨ к   5 ╙■K  ( Т ╕ ╬ р  ъ р щ   Ё  ╘ В z E Ж о ╕ м Р К R { h г ┴ Б @ б Ц e Q ╢ ╓ г ╒   ■ Ў ш ─ ╗ Я Ь ж Y J  4 )  ╜~Kг$ўЖ░о$ А d ` 0 9  ─Г J  █ГB#h╕5LюHaNЪ■a░=hЦcБ┴▀5жщ ( 2 I n o k n Д s [ T !    ' > T n k _ H 0      юОX╔4 H / $      ▌Ї   Ї∙ЎЄэ▌╪кХВz P q Ю ╖ ├ ▓ Х ~ Х   ╤   ю ╖ ┐ ╬ К Ї& Z #  m 8  ; Т ╞ т █ р ▌   7 6 &  в н Л [ и ▌ ─ { И п ╠ ┐ t Х с ╒ C s ╛ Н 6 [  f ╕ у ╤ х ь ╒ ┤ и Й Ш б a l ' Ў√▐╞═╢{┌н2|─ ■A╬B╙ляA g  ¤Ф л цоМН▒╟З╧рQт─nзМ├H▒+ЦgШ╘·(Wв▄■  7 4 E v С x Z 9  √сш∙ . : B Y Y l O 7 1   $  у╦ўI d . ё■¤ Ўц°   эЁ·Ёяъ▀╚fЛlo F w Н Ы о й г Ч м с Ё ¤ Є ╔ п й а г ? їc a (  v Y  a ┐ ▄ ╒ █ с  8 D S A Ч ╔ ┐ Щ  ▄ и ╨  └ ▀ ъ д ╟ Щ L c ж А ] С М Р ┌ ╒ ╠ ф ▐ ╘ б С } t  n а o B ┌N hЦ╕a╥,):!АїЧЙF}а▓ o  ╕p.│(╣╬k╞с╧ГЎBh8,╦╒╨╞4с╛k╠A▓а yўQbP╝црцЄ √2 g { Е N "       - @ 0 6 ; Q M : <    8 - * + > С ┬ k %        ╤э ЇЄ╥╡╕ЧгfЯ W Ц е о д ╢ ╖ ╦ ы ═ ч  ╜ В w Ч к V с^ б s 1 ( u l < > i е ╗ х ў  ; , p e  М х J  ╧ G  √  Х ╪ ы Ё  @ б [ V r ~ В в б ╡ Ї т ╘ ╤ о Ъ ┴ У N u ─ │ В m ╘s%RИ`ь]G╙-LjT Щв┬т1 U 0 Н]сY 9b9з└gЬcъLА╕- &щшТp;н▌4Ыn▀NZu■Є╠╧█ё╔ 4 - H 9 ? ? 3 7 / & ' 3 8 2 [ o h j З { P K @ ; 6 : e Ы щ  О  ! , %  № - "  ■  ─┤╚З7dD j Р й ╢ Ч е ╕ ▄ ▌ т ╦ ├ г w О └ ж юЕ Ъ Ж 8 < В Ь з { c m п ш є  O Ж w ц м 5 , Ё я " 4 % ( . H щ D c С K c o А Ч Ь Х ╛   у ┘ ё ─ С ╩ ╫ ╥ С ╡ ╩  { N 2 їбКT` Ф▀№┤№[ц р╔    + НюW{Й-╘a 4, ┴=:╙█/▐ Iё.C┘1й∙.К)"Г.  ╚ОdЗЁ  ! , O ; 0 . 5 З Ж a [ * c Н } f z 9  Q F 6 z ╧ ╧ ╠ з Ш ] яЇ їЄ ( Ўї·    ўп╖еzf; o ┤ ╛ Ю Ф в Ц ж з ╥ д З ╢ ь є ▐ З уюЩ ┼ y 5 V Ф ╠ ч б }  У ═ ї х  [ Z M s X j 8 с є  0 T L ? ?  э   ~ H J _ ^ д ▓ ┤ ┘   Ў  ! ў н ┌ █ щ ╣ Л ═ Н F , K d 2 ыХ╩j∙ u У ╒ и R   G , ·я╤(wЬ ┬<$Zr ;ПC╚l═;Ш╕╖▀S▌kAp┘C=?Ф  яЦ╖│╕* 3   ёC Г M Z b Я ├ М L O 0 G p Й 8 )   4 h ▐   ╜ ] )    ш▐└э■  ўїЄ· "  ∙Х╪ш╟ЩЩ9 o ╗ ╬ Ш У й Л ~ о ╦ Ц П ╥ с ] ╨ ╣ ╤ e J | п м ў х └ ▒ Я с   ! Z W t ╬ ╬ м g : ; < @ g Q E ? 3 ¤ ( ║ =  / i ╧ я  ¤ Ё Ў °   ё р ф ═ ╔ ╙ b А Е T Y И └ й i √╪l,Фщn ╧ ы ┘ ╩ в Ц ( ў ╣лё9aШ╗пsi│}╟─ёвp=▒ eA┌ывAаУй+mCIУ ┌╪A %  4 /   7 ь : s ` = < й ╔ О ║ v w ~ В W } M , ! h ▒ ╗ т \ 1   1 ю∙ ∙ ╦╬ы°·   ╚р╤▓╚╩K g ▒ ┴ д Л  И Э п х ╒ ├ ╪  √ Ё Ш 7 E │ и Д И М Н К ш  ╘ ╠ ╙ Є  " * & N Н ╤ ├ └ ╖ м x F N D R - + 4  3 т В - 6 s ░ ╫ ф °  > · т └ ╜ ┴ ╚ ┤ ╕ ╙ w p е П Е ┤ ф х Н 8  ф░O ╩ █ ; E ∙  * ╜  бнв░╧&|·Ъ▐▀°╤П║?┐`╘?TBЫ1U7tИ ┴┘·#|ї ¤ Z C P a i ` s ∙ є У d r D 8 М П Ш ═ ╕ { W Z z z Й о c @ Д в Ё q л╠   т   ц█╢╔ъ 0    ╟┬Ч├Й- @ Н Ч ~ c p Л Ю ц  ш Є ╥ я ў ╓ Д K k y Т Щ и Э { Ю ┬ ч ╒ є √  ; < ^ G { Р и н ╞ ▓ о Т 7 L B 6 - & ╤   ┌ ╥ z \ s Ч   o М ) · ╞ ╬ ┘ ╙ х   ║ ╛ ╔ е н ═ ╢ ┤ Ц ╪ └ а ═ " Ё %  7 z  l  ю  # ╞└hї╪) В z  { ш╟█q"цб_V┐k#,ў┤ %┘жEихъ}ы' 5 2 9 < З Д O R c Э л Ц В t G = @ C [ └ п k X D b P ж ╘ Т X d ╧ т K ╪  ¤█°   ъe░┘▐Є o V ' " $  ▀▒╦RG p Ы М Э t G } Х ╔ ╬ ┘ ў ╞ ╟ █ ╟ ` P j n ▓ ╨ ▒  l ж т ш ! W W G < 9 Z j И Ч { { ╝ ╛ Щ G " . R D $ № ¤ ╨ ы  ч т щ ╟  N # ╓  T k g "  ╨ ы A [ . Ї є ╦ л ╕ · (   │ · ї ╫ ╡ ч  ї Ь Е Ф ■  д е y W I Р ? Г║d '   п 4 ╗xbz─V ┴ФUK ЛN3▐`УЗb_П u╫ M V U W \ Й x C s p К ╨ в a l Е Z J I В Ч Д { - 8 B c Л и Ц Х ╤ ╜ Й М N  √¤  - ЇЕЕ╣у√ 0   , & ┌ЗЧИT З ░ Ш ╓ k > d } М └ Є   ╓ ┌ █ ╚ з ж Щ й ╦ ═ й ^ > Ж ■  3 7 @   1 1 [ z r Q b Ф ╠ │ R 6  P L  я #  ¤ > C 0 C ; C n К @ D $  Н 4   Ц p -  ┘ и й ╥ N >  к С З Ж v ╕ е # ║йщХ ▌ q ╥ ~ T e Ш Щ _ О  G N . ╟ S фщ b Е|й тт│ВЫ]к╖бO[4╩nr4А╖э# P < y л ╡ p 4 U u  у ╒ p { { q k T [ А m > " * - E r Ь ж ╞ ╧ └ Щ # ─╧╠·  !  ╔z╒ь  ў   ╧Е9^ G U k Й e / ` d m и █ ╠ ф щ ╨ ╚ ┌ Щ О м ╚ Ь D  r ё ш Ё є  ї ё   F K S V } Ц ╟ ╙ Ъ k 7 ; + ы р )   B w П з Q ' ` \ t Е ╪ / x z n > z _  ь ╣ к ╡ ■ 0 √ ╙ ┐ y  · G ╟SA IYp╞ . Ъ L @ O   р  T 8 д N L I 1 _ тВ9н┐Рч&(╠║K│─еСФМх  D | ■  г y | \ } Г Р Ы Ы  p z z Ж Р З \ J E : @ O _ z t Х Ф А r ▀^ая    чЙ╓  чнрюЇ   " √═╧U d М д y ?  n ~ w ╝ ф │ ╙ д ▌ ▐ ╠ ╥ Т ` Ш █ ╕ a 5 \ Ф а ╔ ─ ▀  ў ▀   D I q m ~ б ▒ ▒ w F d ` ' р ▌ №  P Ь ъ Ю Y e g > p Я d (  О x ╫ Ш Н Г `  Ё П в ═ щ 4  Р ╒ л R  rX√УД;с╔╡"│Дb ▀ ╓ л {  u У m Н ! " ўЎ Х230┐zОкмФВЪ^╕([╙ R Л Ь n S o Ж Є ╖ ╞ ┬ б Ш Р m e К t | М б Ч Л Г П И t Z g Г q к З l g k Ч ? ╠fиы   Єм╛ю* L ▌N─▐цЎ   ё╤╜їt ▓ Т f "  r Ф и ╟ с ╢ а О ╢ н п ж f d ├ ы ╚ Е Й { U Б ╦ ╦ ё  ц  @ B r Э ┤ ╦ Ы R & 7 2 $ √ є   6 Q З Я { i Х К | s ї └ Х Т l Ж Я Е c ╜ М  М Н l Г ╥ э ■ ф Р { А д 3 ЭmЁЕte▐╕/pC ║ к у   1 } V E ╓ o [ V # │fA9>! 0сР╚! K i a Р Ї  у л ╞ ъ Ё Ї ▄ Ю Ч ╤ й ~ Y p { ] j Ш О x Л ▓ ╦ ─ Н g В ╢ л ▒ ▓ v L ] q 0 b▐   ▀y╝∙% Y ЁЮ╫▀фцуъ█╬▌ьўP Ь А R  - Ф ╧ ╩ ╜ ░ У Й p |  Т Н 0 ^ ┴ с   ° б T t Я р = 6 № Ї   Ї L u  ^  ° K 8 ° √ є ф < f 1 W \ e Ы ╖ б } s к t F в · Ь M  1 м , Ж , D {  З ═ ў ├ Щ Е e О * сР▒rj$ 4Эc , Q  + ■ ї "  ∙ Є у _ WЮzBHWnАЕKIigЫб╘0  m П ╥  ъ & )  P 1     ╣ Н д ╒ ┴ о Ц Л М ` z ┘ т ╫ ч · т ╧ ╘ Ъ ╢ │ } n Ъ ╗ i v < ╟е╧   █ВtОу- X     ч┌╙┘┼╘щь N с ╢ ?   S д ┐ ю ┼ ┐ ╪ Г X / U o . \ ▓  = ┘ з m ( L я < %  ■ ╡ Н П ┼     ы э ! % с  Ї ў C 1 + J L O y й ═ w [ & 2 i r к Т ' ф g k ╞ л i Ъ Ю Ж l ╣ с ▄ в Й О r * )  ╗|)№╕╢MK╖уйР ╙ ╧  $ 4 % %  ╒ ╦ с Ч ^uнTф╙)г╗КСО▀ ? s R q В ╤ + х   7 p w i > B % ═ Ъ ╝ ▄ в Э Й } И К Ы т ш ═ ╥ ╤ ╒ ъ ю ▐ ╣ к ┤ ╟ є d ;  ' ш·  КXgj╦ .  - +  ╔]зХЭ╩█╩{ Ъ ├ ▌ j   V ▒ р  ╧ й ─ л Г / + ` 8 b ╗   ╩ ╟ м Е T J ═ . !  ▄ й ▓ с    № ╩ ╤ ∙ " )   Ї ( 0 &  : !  F r И I z % I Е y E  ь  щ л s Y [  Z Г И ▀ ▌ ╧ ▓ t О { Z X P a ▌═ ╧Эа>a╣\ ц B " ; Н ~ I 9 х  м 1 ╤Єи@└ЗАI ч■х H @ E p n ╠   є M k s : k В ^ { :  ╙ ╣ ╖ Ы q r p К ╢ ─ ▌ ▄ ┌ ╩ ╘ ё  ╪ │ о ╝  а 9 ( 7 '  ў° °lб╜█ % (  / Q N z┌ШNn┼┤╡e n ┬ ╓ w A З ╢ ·   п o | Л h 3 / g e л ▌ ╘ ┘ р ╫ ▓ Ю А w ═ Ў ╫ у Ё ┐ ╓ ' K G ▐ √ % 1 M  ' O ] C *   є = А S , &  < ; <  ь ▌ Ч ╟╢ к ░ Е ╢ ▒ п и W h { h ; P  I-Z═щ╫ь> ╪ ю c Ф Е ╟ ┼ g W ¤ ╨ ч П єп°иUш╬<°3 S H Ы ╖ q Б ж ┴ ▀ +  ц  V o H c L ) A 9 ї  ┴ ╟ и З З К h О ┌ ▐ E x O @ % ё ы щ Т v Ц П е  6 л ] < ╘Т╫╧∙   ? \ 4  G В  sVfС╧Ё╠п Й ж ╨ Р Ъ ь ■ + W ┬ Г h I   < ^ p ▄ ё ╔ ▒ ▄   ┤ Я k Ъ х ╞ ▒ П Й ╗ ╦  8 2  * 2 .    B * № ▐ х % C   7 j ? +  A ▐ ▌ ч ц ╧   ░ - шU К ╟ у Р В ░ к Д o 9 > [  ╧чЎtcъя< | ╓ ' 3 r ╙ √ ╡ л ` ) є т ┴ Э  ЛW-¤mъ)Аэ? g л й ┴ Є  ▀  ┐ ╗ ┤ Ю °  % X H 5 1  ╟ т & ╠ № ═ Э Ф  └ ■  ' S s U *  ╥ } Ц │ o l  N ы А D: .  ) / I { Ж A  1 ` L ╝H╧╘р ў═ ╠ ╣ ╩ ╔ ╩ ╤ # a F % ┼  b - ╙ C U L │ ║ ┴ ╣ # ┌ ╗ Ч ┼ ч й q v r н █   / ■ (  ц ї т ё  ъ к q б Ў         ш ╠ ┌   Щ Р │ Ф Ц │ ч п Ю └ ╜ П а _ J №╠чЛmёд┌Рм н H q У Ш й c c T ;   ╬ g `7рЄ▒JuгЄ6 q ╧ Ї ╠ я ф ║ ╖ Ж q Н о є  ' / 4 B   ╙ ч т N с╧x ╕ └     '  ° ╞ х м к г u В    є K uЭm╗1 d K - 2 I e { ^ - ; K 7 , ° !  ( 0  С ╖ ░ Г ┴ ┌ ╡   ! ы  ▓ g O ' ╚ P P , Д ░ ╬ з у щ ъ ╞ Ы щ ( Ъ X И С ░ ╘ ╓      $   ф ▓ ╥ ═ Л g D s ╫  № ю ¤ у ї ° ¤ х Ў ·  6  ═ б i z ъ ° ╔ ╟ х ▀ щ э √ ╓ Ў и . ╗LЕ─╡в'ЇУyМ■` 1 Х й R L B J t d C   O N ТC Ё<Й╫║╝ u У в ╢ ╪ ┐ ╡ л к д б ╨ э Ї   ╧ ╖ └ ├ ╣ и ├ ю  ; -  ў м q ╞ ░ И ╕  ъ │ ж п В ╙  ▌ _ █  * J Y C * : / J q r B ? M C E ║ " " ( . ' F ` и ж ╥ q ^ ┬ ч ╢ █ └ r N  ┼ Z c I Й ▓ └ У п ╔ у ═ б  9 н Н ╘ э н о л Б Ь ╚ ┘  E / ¤ ╙ ╖ j 8  2 а ч  ї ∙ √   Ў   ╓ ╧ ї : $  ╥ ╥ █ ж ╗ ┐ ╗ Ё   р █  є &  K ▓ЄM╥╒╝jXh*8u┤ % 8 : K Г Р ═ Ю G  п Г  cєСИщ╢ф╧ q ┼ ─ з ╟ ┼ ╣ Я ┴ ц ╜ е е е ╨ ╙ ° ╧ ┤ ╕ Ы В ╜ т Щ  3 ╖ 4 t f ( $ ы Н Ю ╡ d I ║ ╣ ╞ ╬ m A : C н ф ╦ [ 4 + ( B V I L ; 1  ) ? < 9 W P [ Л 8  0 ' ! E h Ю  ш 7 . ^ Й Н ╚ ▒ { М ┬ f s 1 @ О ╡ ╖ ░ ╨ ╪ ╠ ▄ "  √  ф ▐ ▐  ┬ z P l б  "     ╢ Q Є6 п ф   + 1   $  Ў ┬ ╘   % K  ф ╖ ╜ ┤ о ╛ ї A  к Э   $ ╒ g  <Oве▀Чe{Vо¤Птo ╒ N k з Ы в Д &  ├ И  ФV▄jз:П V Л Р й ╣ г ╜ н Л д Н g _ U c Ю ъ C  т ж Щ Э ╔ √ ║ з х № F С h  ч є ╙ └ е Х ╚ ╒ ▓ ▐ ╢ I / 6 L в ╖ } > , 1 4 ; G @ 9 - +     , E g N # , 5 %   В t У ¤ ┤   X з ┬ х ╝ ж З ▐, Z 2 > 6 В г д е ░ ┤ ║ ╤  3 " я ю ╦ ╦ ы ╚ ╗ o н ! )   % ё Ю L  9 С └  < ` a O  + 7 ё ╡ З └ э    № ╔ н ╟ ▓ │ ▐ / U ф ╩ 6 ш ╓ ╤ Т } \ЦЎ╗R¤y:╦ф~U R Д Э ╣ б г Я Л ~ \  в Q " Й╖НM|·Л ю ╥ е Я Ш Р Г Ы i @ V t x У ╚  0 , 8  ▌ ▓ Я ├ ╫ ш   P y c  ь ╒ ░ ┐ █ ╞   ° ╩ y 7 ; 1 4 u ` , ( / 8 < 3 N G 3  '  3 < 2 : 0 #  4 3     Щ f ╤ ╝ З @ = y о ╔ я щ к j "  b S ,  ) t Ы е ╖ ▒ ╕ о ╓    ▀ ╧ о ║ ▌ ╟ ─ } Я ▀ ╧ с  , Є д : + в ▌ ш a d K H ( & ) ц н ╛ █ ї · ▌   ш ▌ ы ╒ Ё  ц  b  ╚ ╙ Е Й В < ыyы┐Yъx~]█╝4b К ┼ ┼ ╠ ╝  ═ ж r R ї e 5 ЁKeMtЮ─: Щ Ю Z К в Ж Й л i + v и ╝ и √   : (   й Е н х  C V  - ц ь  %  8 ╘ б н Л T 4 6 B %  2 0 '   4 5 - P [ )  #  ! 2 . T \ 1 /  C > '   └ Г  ц б U t s Ю с я є г H % 8 i b K # ( C Е о о о ж Ю ╡ ╓ Ў с ╞ ╞ ╙ █ с Ю e ^ Ъ ж Э к ь  ┐ Й > K ┐ ш ш  ? J D 9 ) # (  с щ ю ф ┌  ц Ї № ∙   a О  ╬ л m Д Ъ b  ·d┴cqEЁ$╟и( 8 Ю ▒ ┐ р ▄ ┤ ┬ З * █ ~  ▀▌╨╔АЯТ╤¤ * ; i { ~ м ╡ л v п ╫ ╒ у + # @ 7 ° ╖  · ▌  W v [ d + э  └ щ M В p + щ u ^ c F 4 \ X - 1 ( ! #   . 4 F c ] 7  3 "  ( ) O D 7 '    [ D J K  б У э & ╦ а ╩ ╡ ф .  ╧ { ` p Б S : + ? b F k Н ж ┤ Д x Ю ╠ ф ┬ ▓ ╞ я ┴ а Е i З ╣ ╚ ╜ ╢ ╠ Щ 8 J a К з ё * 2 O C ! A > +  э ё э ╚ ▒ ╡ █   Є ╢ ═  щ : y j ) √ ╠ С ┬ ╨ Ы C - ╪А+у╪р`я;IE╗╡И j з ▌ ╚ Ч У X  ╥ в X фк5Zqu─  . > 3 C ^ Ю в в Ф к   с  %  ш ▀ щ ┌ 6 _ ] ╡ ╝ q a a N  ш г ■ ] P 1 э ╨ А p j _ s f I 6 0 $  # + # * J l z m Q + "   . M d ; 2 ' Ї L n Г q o З ▓ √ Ў  ч Є ф ┬ У ▒ К ╡ А n Щ V ] В Н Т ░ ╛ М Т р   ф ═ ё ═ Ф Э ╢ н ┼ ▌ ╔ Б A ' 0 К ╜ ╜ Э )  5 6     ь ю ╒ ╡ У ╜ щ   3  ▀ ё ▀ ╙ ╨ / X M  у ╖ Щ ╠ Ї Ъ # ┌бe4:╡xЯOг|╝Ї R е ▓ О П s Y  я ╥ ▓ . 0ў+_m│∙! H R M [ S ╣ и У ╠ ╤ ╩ √   ╧ м ╗ Y ` б К ├ М T ' 1  ╩ ▄ Ш ╦ ° ё Ї ═ ╣ v q a N Ф ] 3 6 2 3 1 $ & + , K q Й П U C Y d F L t a D N 1 ¤ч· 5 A ,  О │ ╔ ╚ °  ю ┬ ┴ с ╝ Р Ч f │ И f П Б В ▓ т ч ╞ л С ░  1  █ ├ ╪ ╤ Х Ю ┤ э т ъ ╠ a  Q ├ ╫ ╕ ╓ ы   ▌ ╥      " % ╔ ╩ ╦ ░ ж ╩  9 9  № °  ь  @ T V  ╕ к э ! ю ┐ ? ёв@% ╒кNкСє5 В о г t t m y Q 5  ° Н т┤{lЯГ┼ъ D ; X L Z ┼ ┘ ╗ Ё   F  ┼ ┘   B Y n Б K Б ;  ╪ √ !  $  ▀ х ╥ ╘ л ╡ Н a b ] ^ G C @ > < 4 ! * A D [ q Е д Z l С Й a n  C [ G ўтчў     ¤ Ї ф ╚ ї я ▐ №  ╘ м Й М г а Ь { c m Т г ╞   ▄ п ╛ ╢ щ   ш ╚ ╨ Ч Ш ╩ Ў ╥ ю  ┘ q  + Х с √ ╫ ╛ ■   ┴ ж % * ( , я ┌ ▌ ╟ ╣ й з з б ╪   ╥ ╘ █ ─ ▄ є 8  ' ▌ | s ═ ║ c Z 1 ╒СR<>╕Лa╞╪╪ї ╛ щ ╤ y v e Z \ P  ┴ Z ,  їш╚ў  5 > C F p г ъ  *    ╧ Ф с   ' ? \ c O l ? Q щ @ D Q d Q є ╦  ё ╚ у ╩ о u V M E C 4 ) & " * + F s Я г Щ д Ф } В Е y n < K B  Їш·   №     ъ ш    ▀ ╒ ░ ╓ ╘ В Ш е к г ┘ т ▐ щ ы ╖ ╚ ┴ ч ▄ ∙  ▀ А Т ╝ ╟ ╘ ∙ ў Щ @ : & М ш & 5 / . ▀ т G >  № ╧ ┐ ▀ ┬ Э П Ц г ▒ ╘ щ ┼ и └ ╓ ╖ ║ р  ╤ ╩ X   @  7 ╙├┼пЭ|s\^╓6ўлbмgо8 S ў ▐ v V ч Ў   я ╥ Й P 3 D -   5 . Y ;  N ` М у  ╫ ┌ └ ├ ╜ с   ! [ Ж s } { Г ' Z ] . ` П s G ▐  в █  ╙ k б Н = 4 3 4 . . )  2 U Р ╗ Ц ▓ а П  О { Q 9 ; 0  √√ ·¤ я¤  ў ∙   ) 0   ъ ╣ ╤ ▀ ╣ Г и О │ з ╠ р ╠ ╪ я ╦ ▄ ╛ ╦ З ╚  ═ М з ╢ ╔    ╦ v v Р v ╗ ц  F P : I  у ¤ * ! ,  ╘ ▄ ш ╡ ░ ╕ Я Ь м ║ з З p П и В n ` | u d ∙ь> n u E я═▐╗є7 W №▒ ┼\╕1Лвv+? ъ г { 6 ├ X%  я █ ╕ Е { > 6 3 o e I \ Z / + g Р с ╫ Ь ├ ї  ╖ ┤ х   @ B ^ С │ Х M   I Б h R m q m l + ) ╙ Ч ┬ е В Ч Э u L 7 @ ? 5 7 6 % $ > Ж ░ Ч v i Э Е t g J < 6   №їЎЎьс   Ё ■  * D t x 9 ╚ Щ ╗ ┴ Й ╢ К └ п ▐ 1   ш ╒ ї с Ю n А Щ О } ├ э ю  х ╢ н ╣ ▓ ¤  ' 7 $   ╙ х  є  #  ц ╔ ╥ ╞ ─ к Э ╢ г n K X N A S 7 4 J A х°U Б j | > + a Е Ч ╝ ┐ K фyv1IВx Ъ& ╬ ¤ E 1  [ ЬGї ( Ў ▌ ║ Ц м z Y R L * - [ B ? c н ▓ ╧ г л ° '  г й ║ ▌ Ў % > f н ╩ ╘ t   f u { } x > 5 6 B х П Z f V а ─ С п v E B S = 9 6 / 6 : Г и Б P @ s Н o R K O F F     №ёър 4 I $ я °  Г c  Ш П ў р е  └ Р ж   Ў ┘ ╕ ┘ ╗ В ▒ Н а К ~ ┤ ї Є ъ р л в ├ ╫ н п ╥ ▀ т ╘ ▒ ═ ╞ ╗ ╦ ═ ─ ▀  +  °  ╚ е Ц ╫ ╕ З c W G Z l c h  o 8 ` ╕ ╩ ╨ р ┬ ╥ э ╠ ╦  ┬ В : ∙# ╙+■Э═▀Ъ х х ╪ ╢ Х aК_З Є у ╓ Ц | Е М z ~ N   Q X Z Я     ╕  < T ° Г h У ╘ х   B Н Я О j C h А И Ч Ы e  °  ф k -  ¤Q Д q а о w Y K J A D _ U U V М Т k N O е ж Y c v v Q k C & . 7 + ,  √Є " 6 < ∙ ё т ф  √ ╜ Г Ъ ╨ ╩ ╘ T - √ ·  ь Ї р ░ М п Д T е б p А а ┤ ╛ Я Х С Б П Э ┐ ╞ ╤ л П ~ } q Ж Т м ┼ ╠ ╠ ╧    * . )  ╞ Ъ ╔ ╚ Ч | Ы а п Э Е { З П Н м ∙  . , F ! е } Б р ╖ Л ╬ ╠ ° М ═н┬ O w Й К q  ▓С+їZ з ╡ К Х ╟ ┬ В j Z 4 0 e а н ° : C  ╘  2  ╧ Х J Д ∙ Ї Ї  ! И М Й Б B G p а ┴ ж N ! ) Ў k   a { V Z T L W P M U Я └ R X s б Х m c Г ▓ ╝ С f C 1  F c ' ! , 0 ( 6 ? / ў  $ = '  ю ╝ ├ ж Ы Г Х ╜ ╒ ╨ Ў  ч  : % =  ╕ Ы ╡ Я Ц } w V h ┤ т ё ж Л Э Щ d f ] v ▒ Э Ъ y Д k l М ╕ ┌ щ √ Ї  7 P 0 C 8  ▌ ░ О └ ═ д Ю ╦ ▀ ╚ Й s z л к в х Z c ] 7 3 ъ 9 R Д ╞ Ь Н √ 8 3 Ї m j $ └╞ Ж ┼ з  ╫П▄2# g u У й ╖ ╥ ╒ й ^ / a ╢ ю Ї ∙ @ R A $ с ш  я │ Б M { ╡ ▀ ▄ ы 9 п С г а W 1 H Б г Ж N ? , A  s ;  8 R Z К u T R [ ^ Z n ║ ╖ i ` y В S L T o И н V   ў° #    (  ! K [ э D X J  ├ л Э ╛ м ║ Ї ф ╤ ╓ ї ╟ ╠ ? Q  ╨ └ ш ┤ Ж X  С r П ╠ @ ╦ А Т Р X Z Щ Б U Б г д и Р o л с т ц   ( N { ^ S   ╚ Й h к б В К ┼ ╫ ┘ д И У ч ¤ Щ ▀ к Х 4 ┘ а J н Е З j N Ы ц  є m б ╘x┬ёl > ╦ }  q╗А д ж ─  !   √ ╠ Х а   , 1 Y W -  ═ ╞ ╢ ╖ п Р r л ╞ ╙ у ° $ } Н Ч ▓ л ж К б З | c  ў т ┤ f  & n t з ▓ П q d b S Q w ~ z _ Ы | H J E \ К { %     ¤     є№  ; Y О Л ]  ю ╣ н ╢ ├ ╒ ■ э ░ Ь ╘  ё · э ┘ ╙ е Ц │ Й d U m ╗ Я а и ╩ А k л x d 0 , [ T V { ╜ ╣ А o е ╒ ┐ █ ■ # # . f ] G # ы и t Q Т Ы ^ x ┴ ╦ ╫ ╡ ╖ ░ ъ / u я " ) ╝ O   П Щ ▒ и ╗ ║ ▒ з ю B █ ╛ ╫s│Kо╝  ъ ┼ F бu  ╫ E j x S H 7 щ э № ; -  ) #  ш ╗ ┴ н п к н ╕ ╟    + ■ ч > Й Ж ╦ ╓ о Э к Ж ` Q  и П q x z r O m  Р Ъ г Ы З g I ` ^ [ b r █ ж t S k q Л ┼ S 4 " - 8  9  l C  ■ I < Л Э п Г ; я ┤ й ╬ ▐ ∙ є ╪ ╕ Ч ╠   4 A т Х У У к Э С  ] u R p А Y ^ b О x b  ° S  Й м Я И Д м ┴ ╩ ║ ╦ 9  ¤ ў ╩ ╫ ═ Я Х Ф i y Х m Г ╡ ╗ ╖ п ╠  H O Т № $ ┤ s T ! ╤ ┬ ў ╠ ╗ █ ▀ ¤ m p K ╝t = | Q ╩ f T $ ■ O Ф * ,  ┌  *    ∙ ш є с Щ а Ю Э Й l п є 2 C  с ] = h ─ ╖ Ж j c = ъ  в ? E N S j o U I ] v К В А Ж ` @ Z Z = 3 ┐ э н Ы u ╗ ┴ ╜ ╦ f Y 4 5 < 0 .  Ю b  ? y A Ф а о А 6 Ё ╔ ╟ ч ъ  !  в  y Ч ·  р 0  ╢ З ╖ ░ з ╢ к Ф z l 7 J w Д Е i ╡ Я Q    % Q О ╝ У Щ └ ╫ р ╬ ╖ ╝ ∙ ¤  ╪ ╔ ╥ ╢ Ъ а З { z v Ф ╞ ╛ Я ╢ √  А Г П ╥ т е Э │ б >  № ╞ р  2 [ Б U   ╛▓f└T> u Y Ы).  * i   g А / ! ' ¤ ·  ▀ ц Ї · ╙ н л Ь О Ь Г К └  ∙  Ў  ( A M g Ф Н i & ╧ Ъ д t 4 ; j s Е Ж Ц [ P Л Х v s Г e H U P W _ Ъ Л ` s  ~ а ╫ ╣ w _ B v W N ^ , ; > / R 9 T D Д б Й Ш U  э ф ы ╙ ш   ░ M R в ▌ ° ╔ ▐ └ Р В о ▒ ▓ п Л Й а Щ v а Ж { x k з ▒ П t \ >   V r t Ю ├ ═ ╠ ├ └ ╬ ь ■   ф ╙ ц ╓ а  ~ └ н К Д ╜ Щ Щ ° X O К п Щ А y a й Ё у S E < у ╢ ў & d z М E ╙ ўю<Я╟ЬД ╗ b ТЮH ┼  !  + @ $ Є щ '  ы ╙ ╤ ├ № Є   ▌ ╩ ▒ ╕ н Ь } p { │ №  % я Н Ы ╧ . w Т ╕ М ! ║ Ь y F 4 < X k P V У ^ H Е ▒ Ж | l S O N _ ж Б N Z Z c Ф o } ╝ ╠ л Й К Ч R   " # $ " $ % \ $ г Ъ Т Л j )   · └ ╫ ю ∙ ╦ @ I а ╠ ─ █ ╘ ╖ Ы ├ Ш p o К Г  ╕ ╧ ╜ в l f з ▒ ц ъ ┬ Б M _ И Б o Ч й и а д ▒ ╠ Ї   ї ╒ у ъ ╨ е Ц М ╒ ├ ь ы щ ┼ ╜ 3 B Р ╚ ╟ { / O Й П А & , M  ╛ т 5 X  1  Y ╚jor л} ъ ═ R = ╣ э  ∙ √   т   ° ╫ ╫ ╙ ю   2 Ї ┬ ╡ ├ ┴ м б Ж Ч у  ў ° ╖ x О ▓  C ; 4 ■ й } q 9 . E R T ; Y ` < A X q u p ` H L R > , , Y P V в Ф К о ╦ Ж q P = ) " 2 = 3 √ M B ┐й Т Ж Б Д S Y O ! с ц я ё └ V ` б ▌ т Ў ё ╪ ╖ № k w 2 ш ╔ ╡ л Н в ╛ ╞ з Ь К И Т └ √ ▌ ь ░ w Е ╚ ╛ й ╜ ░ б г Ь в и ч э ╧ ╬ ъ № ┘ ╝ и Э ▓ м ┴ х ф ┬ ═ # ! * Ъ ╛ l <  M Р l = 9 % A 3 ш █ · Ё ┤ м Ь _  ЬЕО]L ═ є  ї - T & щ  0 " ° ╞ щ т ╘ ╬ ╤ ╧  ¤ Ў ▀ Є щ ─ д Ь л Ю Ю Я ~ Ц ┤ И } ┐ є ┼ ╣ О ┼ 2 | \   ─ н Й q T C E @ Y i a @ Q Y e d b G 9 ? /  Ёё: O ^ Е ╗ Э ] C g Z ^ a >  ( 9 '  їсю  ╥╟ │ Я ░ е А y Y / √  -  ╪ k p У ╡ ▐   я ▀ ├  > - N 1 # я ┴ ╡ ▄ у п є  я █ н с х Ц а Д v к ╥ ц  ў ╕ Ю о Э е Ъ │ з Я ╤ ф ╬ │ Ч Х Ю С Ъ б ┬ ъ ■ & [ A . ? J Q 5 e П c G    р т ─ Ж X c f ;  ╙ФО▄yьс ▒ є    █ ┌  % й Я ╛ л ╛ р ─ с  т ╟ ю  № й o U h _ a ┐ ╓ Ъ { a W Ч ╓ ° ╛ ш  t U  ъ Ч  W + $ 3 2 L c q j c h P [ Y > +   ┌─·> G R [ b f Y ? a P C Q 9         : : ▄ ┐ └ ╪ о в н t - Ў  ,  Ю < K Х ┴ ╤ ╙ ╛ ╥ ¤ i m   Z J Є ╞ ╠ ╥ ° ё /  ь ╓ ╟ ▀ ╤ Д Д ┤ С в я ▌   ў т ь ╘ ─ и Ю й ╔ ╟ ╩ ╖ ╚ ┐ п Ю д ░ и ▐ : % D -  ( # Z Ъ Й Н У | Д 7 ■ █ ш   Ч - эч ў  ╛Жо]ИХ t ╧ ╦ з ╨ ╖ г ь  ╖ ╤ ╧ ┤ т ш ▄ ї э ╙ ц ш Ц d A ; - , X Ф i П Ы l d Ф ▒ ц █ ╫  ; ■ ╪ v S ;    & ? \ R k e m G T c K /  ╙н╬! C B A @ O f h k ^  ·ъшєїє¤  ·є  ё ╘ ╕ ╓ └ ╢ й Ш m 0  х е [ L Э  · Ё 4 X 3 $ ? R u . ╘ с · ы  ╞ ╫ ╒ █ ╘ ╥  $ х ё ╬ Т Ъ г е ▀ ╫ █ є  , ц ╕ б ╣ ь · у ╤ ╩ ╩ ╙ ┘ ┼ ╙ █ ч ( ) > J N B g Б а ▒ Ч Ж Ж p v D  ═ ╗ ь  a ра<c─ух╔╕1мJ 4 q ╢ а Ь Й Л Ў 1  я щ ╓ ё ї ё   ,   ┌ ╚ ▒ й Э l L S c  Ъ b \ I A Q h И Ф ┐ + L b k  Э e O 8   ' A ; 0 O \  t X j Q / я╩╛Ў6 A ; 7 H Z w d G ў█╞╜╞кМ╡├┼╤╫щ┼яъ ╓ ╪ ╞ ╡ █ ┼ й n L ( # · ┘ й } ╩ 0 8 Ў Є G $ 0 x w З  ╠ ш ш ∙  х ч х ╨ ╖     с я ╛ │ л М ╣   $ ї  т ╔ ┤ ╙  с ╨ ╟ ╞ ° ° ш ь   $  Ї  # B z О y h S h S 0 #  ° Т ^ v ▌О]ё3Э╢┴этCМYD } ┼ т ~ ж Я ╨ ! 2 = '  ▌ Ў ¤ ц    · ° █ ╩ ╖ ╓ ╙ ╕ y Ц Б А д V @ A D G ? b i Г ¤ ▐ Ї ∙ ╢ { ^ m L    9 O @ ,  ! F ^ O K . ё╓шє 6 : / 0 X O + / >  швУЧ7<nНв│Р\Ц┐ ┬ ╒ ║ ╢ ╠ ▒ Т *  C W E 2 ∙ ─ ┌ ¤   ё   & 3 _ m `  Є э ¤ ■ э ъ ╫ └ ╖ ю ╬ В П ╚ √ ╤ ╢ О ╖  9 9 G "  т х ь    ▀ ╒ █   ╫ Є *  '  ╓ ∙   ч  3 / 7 D #    У 5  ▒Uя╚СЪ║р╝Єhюїg ¤ ь ╧ ■   ' F Y Q 3  & є ф ¤  ў с ╩ ╕ ▄ ▌ ┼ Р н Щ Ю Ф R : Q j X @ B G c ╕ ╣ ж В { i V V J -  - F g P  ют 8 , #  ┘╛▄№ & *  & Y П 9 % N D аuXыcПчGuП~'9ж л ╞ б Я ж Т h ( * V V S .  у ╢ ╙   ё  " 3 > b J / 0 ¤ ╪ ▐ р ╔ ╣ Щ У к │ ╣ З ╪  № П Ч ▒ ╠ ; К j B  (  ¤ Ё ■ ¤ ъ с ю ў " ё є  "  ∙  ╒ ┬ ╒ Ў   ў   T ` D 4 . D   P  ╤╖╦ЩКЗ╞▐=&=█Й Ў   E q l i p h h g g F . Ё ╨ Q G  ═ ╒ ┘ ч ь █ П z Э Д U J W c x w H C U q П Ц u О m b r h S ?  8 5 &   ╠ш    ╚┤ц     Q ┘ U H z  │ЗАIЩT═)J4цз╕Sш ╧ ├ ▒ й ┤ Н e F R U 1  у ╗ р  <  ╙ є ! D G o j ] @  ф ъ ш ═ ▐ ┼ О М У а ╗ ╚ П z Ъ ═ ┬ % i G 4 G C 9 ■ ц   ·  №  +    /  D  ░ ║  g )  ' п ф d Б x d c J ш Я Й H ><c╝евц УЛШ П   4 p О e H ` Z b Ж П 9 Ї  I ^ B  ╒   )   ┤ Ц | ` M C ^ А а П ^ g _ W В З ~ k T D e z k K , S J   цў  ┼к╫√ +  ■ў, P N O c L ў_"╓oWЭ╩╨ЫЧ√│└ ╠ ╝ ╚ ├ ┼ И J : D T K 5   ■ щ  √ ъ ╙ ╠ ∙ N Z y к С R $ ∙  ї ╠ ▄ ц ┐ ░ й Ъ │ ╨ С Й й ┤ ╗ ╪  >  @ d 8 l S ( S K  √  J 5 4 (  " C 7    d 4   ─ ┤ Є В c M F 3  ╥ ┌ ╖ z  ╘КЮ┤└ХNИ▌┌╚╧& Х 5 p и m A O V \ Г В s K 2 7 ; c Y ^ q G ч   ╠ ║ ╡ М b V o b X ] О Б d u O L d z o ^ I ? X F T U 3 9 ?     # '   ·╝Ю╣╙  ё╒▌   Є 2 ·YЁЦPLf╥G╗│°CДО ┤ ╗ ┌ █ ╧ ╗ Р w  П x X D . M N J < ¤ ╤ ╨ ╓  Y  P o w = & C 4 ь ─ ┤ ╜ ┼ ╣ А | Я Р Д Ь ╖ ┌ · &  т Ё M 5  В G 8 Q Y W %  ¤ * A    є ! 8 B c d Ў  ─  П н 4  0 ■ у ў  ╞ a "  ТБ├Ъ$у] X . 2 g ┤ \ в Ю U Z a i Р Х Г О { t l [ ╟ и f c u .  с ж Ф Ч ^ P m Б Д d _ ` a c [ 6 Q n d Y M 4 D л Ж 8 2 2     # B   5 !  ╩▒й▓╥╓╠╠▀яў    ЭDч╖Бjм7oI·э \Ф| м ╕ ╨ ┌ ▀ ▌ ╣ ╜ ╜ │ З { e v й Ч О t 8   ё & E X g d j O > L >  ╘ ▓ ж ═  ╤ Я Б } j С ▄ A ^ ь ╬ ю L ( ё  °  ъ < j u ;    2  ! Ї ┬  Ї  K ' K j Z G q ╗ б o n b ( , 2  ╘ I █Эе╦зH>╤e Ч c X z ╥ " p д Ц d Y G m ║ С М | m x [ Z Е i - 5 c D 0 ё о а Г j \ X [ y А t g ` a R > Z b T H 8 ' @ f i A  ¤тї  ё     √Ў╧╕а╢п╠╤ч√є .  ╡нwЇр√║┐rВm17m─r У й ┴ ╜ ╤ т ┤ ╨ ╘ ╛ Я Ю Л й ╖ м ╜ Ц \ / √  @ X Д m l ^ Z ] T  э ╩ й Ё s 4 ╙ Ч ч є ь 0 y [ & °   ═ ▒ ╓ ■  Т л z k   6   3 ё   ш Ў { k f l k i f Х p @ O    ц Т L H ∙┼╠┘╛П╖S ╕ ╕ { p д \ О ╗ С Г y { Ш ▓ б Я О Л r H ; , @ #  я ═ ╠ л И к █ е q Ц в ~ h a d P @ I H : /    ? a  ёыщє у═сЄ  ф┘╚╛жФж╠уфт∙  х╚ЪЮ╞эсgЦЮЕ^]yк─` К Ф С ▓ ╖ ║ к ─ ▀ ╥ Р Е Й в Х о ╕ Ъ i R _ ? ? J X k V \ j z ` L  ▀ ╠ ┐  Е  с ё Z { О ` e T    ' " № ■  . G s ╝ Ь Ф J G B · я ы р   И ▓ z _ D C B U T H 1  ё ї ў ° ╞ Х I °лмчёфс, К ╗ ╠ ╪ н ▌ C Й м в Ъ А w z е ╟ ░ x I q \ .   ¤ ╘ ┘ ┴ ╖ ▓ Ш r n Е | s y ~ w u a a V K ? D = 1    / ` !    ь°╘╜┤═  ▐═╝йЦРл┬┬ є h  ─╨╜Г╡cеРЎZЦеиНm[}`e Г d p Х Ц к ╡ └ ╞ п Д p Б О [ [ Й x v b W a = ( : W W X H s { B Є ┘ ╬ ╠ ъ @ %  P И О П M 8 @ # " M !   ¤   B ? 1 о ╒ й Р H № ╒ т ъ є + D z Ш d > = " /   ( L L 2   Є ╫ ┼ p хЩ╔ъ 5 8 h Э ┬ √ B  √ 8 | М h y d V t з │ О $ 1  Ё   є · ╛ Ы │ У  h В | ] X ` s q Р Ц Ч w j ^ X W f d J &  ' / '  ющ│ЪШ╖тя╥╘╩┤оФаХж  , v ╠┘бFЧJАГ╓;о╗иАtbhC5fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/sample_ref.raw.hdr000066400000000000000000000001561473255640600267270ustar00rootroot00000000000000ENVI samples = 200 lines = 100 bands = 1 header offset = 0 data type = 12 interleave = bsq byte order = 0 fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/data/testH5ZjpeglsEncodeCannotApply_ref.h5000066400000000000000000007704601473255640600324330ustar00rootroot00000000000000ЙHDF          0ё        `ИиИиTREE                0HEAP░С8d╚d╚   `} HDF5 JPEG-LS filterd╚  xd╚SNODHРpH:Шрх(8J TREE                А8╕d╚рE░EАE╨EрE░EPEаEрE└EЁE░EА EАEаEрEаE└EEEEpE0EАEЁE`EEEE`EаE EPE0EаEЁEрE░E╨EАEрEаEpE0EАEE0E└EPE0E╨E@ E@ E0 E░E EАEEE░E░EАEЁEpE@Eр E` EP E└ EЁEїDА∙D@EАE  D@∙DаєD└їD E╨E░E░E╨ E0 E░ E0 Eа E└ EPEРEEE` E└EрEEEЁE`EА E0E0EА EpE└ EEp Eр E0 E╨ E EРE░E@EАEpE░EрEЁE`EР Eр E` EPE@EРE└E@E╨E@E╨E╨ EР E0 EА E0E░ EАEpE`¤D E Eа E╨ EEE@ EаE EEE0 Eа Eа E░ EЁ Eр EаE└EP E@ Eр E╨ Eр Eа E0 EЁ E E╨EРEа E└ EE EE¤DEE0EpE0E EАEE@■DPE└ E└EА E0 E0 E E0E Eа E╨E@ EАE E E└EPE EРE└EЁEАE@EрEРEРE╨EE@EPEEЁE0EаEpE└EE└E`E░EEE`EE@EРEE░E╨EE╨E└EEРEаEАE`E`E└E╨Ep E└ E` EРEP EАEАE0 EPE@EpEАEЁE╨EАE E└E└Ep E@EР E EpEрEЁE0E╨E@EEЁE@№DўDр№D`EрEаE╨EЁ EА EЁ EE`E` EАE0E░E`E└EpEАEАE░EаEА E EEEрE└EА E@E@EE└ EPEЁE╨EРE╨EpEpE└ E@ Eр EР E@ EАEРE`EE└E`E└E0E╨E░E╨EРE└EEPEЁE EЁE@Eа EЁE0E EЁ EАE E╨ E@ E` EаE EЁ Eа E0 E`E░E@E E░ E@ EЁ E` EE` E E0E E@E╨E0 EpE@EPEE@EрEаEрE E░ EРE E@E0E@ E╨ E╨Eа E E0 EрEEа EРEрE╨ EpEPE`√D0E@E@E╨EpEРE EРEE0EpE└EрE@EаE EEEEEPEPEЁEE0EРE0E E░E╨EE E`E E╨EаEE@E0E`EPEАE░ E EРEEРEЁE`EE╨EАEР E└E E0E╨E░E@EpEР EаE` EА E EАE0EPE0 EА E@EА Eр E`¤DрєDА°D`єD└¤DpE└EEE E░ EEЁEА E░ EАEРEPEEE░EЁ EЁE`E└ EРEE└E╨EРEаE0EаEАEE EP EаE└E░E░E E└E╨ E` EрEР EEаEE0E`E└EE└EрEАEАEаE└E░EPE╨E╨EА Eа EрEPE╨E`EаE└ E` E@ E E EЁ E E@ E Ep E░ E╨ E0E E0 E E`EА EрE` E0 EР E` E` EРEЁEЁE░EpEр EА E@ EЁ EE╨E` E╨ EАE@EРEА EА EЁ EА EР E EP E@ E░ Eа E└E EР E@E`EРE@EPEPEpE└E░EEаEEPE0E░EpEрEАEPEАEpE@EEаE0EРE└EE@EEPE EаEPEЁEРE@EаEАE└E0EРEАE╨E@ EP E╨EАE╨EE`E╨EPE0EрE E└EРEаEЁEE EE░E0 E` E0EрE E EEАEPEрEЁ EPE EА№D №D ЎDа√DАEаE╨EаE` E EЁE0E@ E0 E╨E░E E╨E░E`Eа E└ EE└ EpE└E Eр E Eр EPEЁ E└ EаE└ E└ E@EE└EЁE└EEEАEрE@E EE`E EА EpEPEАEpE E└E╨ EЁEPE EPE E` EEаEpEЁEрEЁ E Ep EP E Ep E░ EР E E` E░ E E╨ Ep E└ E@ E E░ Ep E0Eа E`EА E E`EpEEEАEЁE Ep E@ EА E╨EpEР EРEEP EАE0EР E EP EА E E╨EP E@ E╨ EE` E EАE`E╨E EEEрEЁEpEаEрE└EEАE0EЁE╨E░EАE╨E╨EEаEЁEE@EЁEАE0EEаEE`E@EРEРEаE`EаEЁEаEаE└EрE EpEаE└ЁD■DpE@E░EEаE` E` EЁE░EPEЁEE░EEEРE E░ E└E`EpEРEPE└EаEр EР EЁEEа D`¤D ■DE░EЁEEр E EP Eр E╨EрEаE0EEpEаE@E░ E Ep EPEpE@EАE0E╨E Eр E EpE@EpE0E@E E░EpE`EEа EЁEE E`E@E░E╨E└EРEа EА Eр EP E E0E@ EEа E░ E@EАE` E░E0EЁEE E╨EЁEАE E E` E E EЁ Eр E@ EpE Eа EЁ Ep E░E`E░Eр EEР EаE@∙DPE EрEpE└·DЁE EЁ Eа EP EАE@ E E E@ Eр E╨E` EР EЁ E╨ E╨EР E└ E░ EА EЁ Ep EЁEЁE EА E0EРE E0EаE╨EPE╨EpEpEЁEАEE@EPEPEE0EEPEpE0EАEАEpEАEPE╨EPEEРEАE░E╨EE`EрE░EрEа EP E EE ўDрўDА■DРEEЁE└ E@ E E░E`EЁE░EpEРE└EpEАEpEр E@ E@EрEEPE└EpEрEаEр E`E@E`EpE0EPEEрE0E@EЁEА EEАEE░EEАEаE░ EрEE E EE@E0 E` EP E░ E╨E╨EЁ EEЁE@EЁE└EАEРE EP EЁ EРE0E└EрE`E`EрEP E`E@E E└ E╨ EрEрEРEpE EРE E0 E0 Ep EРE╨EРE E EР E└E` E Eа EP E EЁ E╨E@EАE E Ep EP E`E@EрE Eр E`EpEРEЁEP EPE@ DЁEРE E@ E@ Eр E└ Ep EрEE╨EЁE░Eа E└ E░ EЁEpEЁE╨ Eр E╨E└EPE EP EА E@ E0 EРEpEЁE0E░E@EАE╨EАEрEE╨EЁE└EpEE@E░E░EEЁE EEEаE`E└E@E@EрEРEE└ EАEА E╨ E E└ EP EрE№D@ўDа°D└■DаEРE└Eр EА Ep Eа EEE`E EPE`E@EРE└E╨E└EаEP E@ EРE╨EpEPEEрE0Eа EАEPE0EEE@E░E@EEpE Eр E0EрEРEАEАE└E E` EаE└E░EpE0E EР EPE`E░EЁ E E` EР EEE EpEPE└E└ E E` E E@E└E EЁEPE0 EР E E` EЁ EPEаE EEЁE░EЁEРE0 EАE└E@EEPEPEP E╨ Eа EЁ EEа Ep EEа E0EрE0E0EА Ep EP Eа EАEp Ep E╨ EЁEpE░ E0 EЁ E E└EE╨E@ EP EpE0E0E└EРE@E░EАїDа∙DEp E EРE0EEаEEp E EРEАEE░ Ep EР E@ E░E░EEАE0E`EрEE└EE EАEЁE╨EАEрEPEРE└EE░E╨E╨E0E╨E0EрEРE└E└EPE`EА E E@EЁE@EE╨E√D√D@E E EЁ E E E@ Eр E`EE@E░E EаE░EEРEEРEЁEE@E EEрE@EPEpEЁE0EPEр E` E0 E E Eр E` E@EрEEp E└ Eр EpEАEАEаEPEЁ E E`E0 E E Eр EP E@EEp E╨EР E╨ EЁ EР Eр EpEpEpE`Eр E@E` E░ EpEР E EрEрEрE└EEРEА DА№D`EpEE E└ E E░ EаEаE└ E░ EEEрEEАE E0 E└ EE└ EPE░EЁE0 EаEPEEpEр E EА E EА EР Eр E└ EАEЁ E╨ E EР E░EАEа E╨ E EE└EрE└EE`E╨E└EpE EАEЁEEр¤DАEаE EPE@ Ep Eр E@E0EАE` Eа EаE└E0E0E`E0E╨E░EE░EаEpEРE EрEрEPEE░E@EEрE`EE░E░EEpEаEрEE└E EаEаE`E` D`¤D`№DрЇD°D└E EEEЁEЁEАEАE╨EЁEE░EpEPE0E`EрEРEpEpEE0E`EЁE EАEРEаE0EрEPEEЁE░ E░ Eа E Ep E╨EPE@E@ E░ EР E`E░ EРEАEаE└EЁE0E└ Ep EЁE└юD ■DрE@¤DPEР E EАEЁ E` E`EаEPE0EаEPEАEpE@E░EpEp EАEPEЁ Eа E`EEа EРE`¤D@Eр EРEpEEа E╨E░EE` Ep EаEАE╨E└Eр EpEE└E EР EE` E EE└E0Eр Eр E@ EP E Eр Eа EP E0 E` EP EР E EР E░ Eа Ep EP EА E E@E`¤D E└EрўD0E@E0Eа№D@№DEа■DАўD ъD`ЇD`EEEрE EЁ E░ E0 E E░ E EРE└EРEаEpE@E EЁEаEEEАEPE└E@EЁE└EРEEE E E`EРE`E`E`EаE╨E@EЁEE@ EаEр■D¤Dр·D└ёD ЁDрэD∙DрEАEР E0EpE@EЁE░E╨EpEрEPE0EEЁE`EpEрE░EРEpE@EЁE└EАE@E E└ EpE└EPEРEаEаE└ Eр EА EpE EрEPEEpEЁE░ EЁEPE EаE@EРEEPE EP EE└EАE╨ EАE@EА Eр E E░EР E╨E E@E0E`E E0EpE@EE`E@EpEEАEE╨E@ E░ E E E@E0 E░E0EРEЁE0EаEpE└EE0E0E╨EЁE└ E╨Eр EЁ E Ep E╨ E└ Eр E`E╨ E░ EЁ EP Eр Eр E` EА E` EА E EРEpEР EЁ Ep Ep EEА E└ EР E E░E0 E0 E EрE0Eа D@шD`°DаE0E∙DрчDєD└ЎD`ўD0E╨E`E╨ E@ EР EА E╨ EА EEрEEpE└EpEEрEаE╨E EEЁEEРE░EаEрE░EРE@EPE░E@E░E`EpE└E0EEE░Eр EаEаЎD└ЎD@∙D·D їD@єD ■D0EрE@ E E╨EАE EРE`EАEРE░E░E EРEЁE@E░E░E`E╨E╨EpEPEpEE0E└EаE@E0EаE╨EрE└EА EEpEр E░E0EЁ E░ EE╨EрEpE0E@E@E`EАEPE0E E0 E` EА■D`E└E└E╨ EPE0EEАE` EpE@E╨ EаEрEЁEр E` E░E░EPE@EРE└EPEPE╨Ep E└°D E0 E@ EАEE╨EEpE░EPEЁEАEАE╨E░ E0EРEРEАE E╨ Ep EАE0E╨ E└ E@ Ep E└ E╨ EР Ep Ep E EP E EА EpE░ E E0 E E░ E░ E E░ EЁ E@ Eа EЁ E░ E EpE@E0E@°D`ЇDєDасDр╒D`┼Dр╠Dр╔Dр╛DА╘DрЎDEАE` EР EА E░ E@EEаEрE╨EPEЁEЁEpEE EрEаEАEpEpE E@EpE E@E╨EАEE`E E EpEаE╨E@EРE░ Ep EPEаЁD@чDЇD└■D`¤D@∙Dа№DEEE0 E░ EE@E░E0EE`E`EEаEEpEpE0EЁEE░EаEЁE@E░EpEРEР E E╨EPEEpEр Eр EР Ep E└E E0 EРE@E EрEрE└EPE░EPE╨ E0 EаEЁE└E╨ E└Eа EР EЁ E EАE╨EЁE EАEEЁ EPEE╨ EРE╨EpE EEpEРE0EаE@EE╨EаEРE╨EPEАE░EЁEpEаEРE0EрEРE`E`EPEаEАE` EАEEАE`Eр E`EpEP E` E@ E` EЁ E Eа E E E E░ E░ Eр E EА E░Eа EА EP Ep E@ Eр E` EЁE E@ EP Ep Ep E░ E EР E╨EЁE└ЄDтD╬Dа╩D@╒D`╙Dа┴DА┤D ╛D└▄Dр■D`E└EPEрE╨ E@E`EEаE@EЁE`EPEЁE E@EЁEEPE╨E E░EE0E E░EPEpE░E0EPE░E░E╨E@E0E0EАE░ EрEрE ∙D╨E░EрE №D└ЁD└ўD└·DаўD`√DаE E E░EРEEE0EаEРEE╨E E`E╨EрEаE└E░E0EрE EАEа E@ EРE╨EpE E`E` EЁE░EPEаE@E░ E░EEАEEаE└EаEрEРE0EEаEEE└EPEа E Eр Eа E EрEEE░EPEаE E@EаE╨E@E@EаEЁEрE0E0E E@EPE EE╨EаEаE`EАEEЁEАEрEрE0EE0E└EPE░ Eр EЁ EаE░EЁEP E` E0E EEЁ E` E└ E└ E E╨EЁ E0 E E EА EPE╨ EрEE@E EАEP Eр E└Eа EРEРE E@ E0 EР EА Eа E EPE0E DА√D└ёDАыDАшDАфD`█D└╩D ╚D яD@¤D@EРEРE└E░E EаE@EРEpEАEE░E EрEЁE@E╨EPEE╨EPE░E`E░EEE@EРE`EаE EEEрE@EEР E EА EEаEP EЁ EpE@∙DрэDрёD °DрєD  D EАEаE E`EpEРEPEрEАE└E0EАEpEEPE`EEE╨EаE E`EЁE░E└EА E╨ E░ E E EАE`E░EрE EEАEрEАEРE0EPEE`EPEEРE EpEPEEpEр EЁEPE`E└EЁE╨EPEP E@EРEE`EаEЁE`E`E└EЁEp EP EаEpEPE0EаE░EEАE`EАE└EаEPE E@E`EPE░E` E└E`E`E╨E EEЁEРE@EpE└Ep E Ep E@ E EЁEЁ E@ Eр EА E0 Eа E` EpEрEPEp E└ Ep E└ E└ EЁ E@ EР E░ E E└ EP E░E0 Eр E`EаEEEРEрЎD@ьD ·DАE∙D@ъD╔D`╟D▄D└ЄD@∙D@ёD щDаўDАEРEPEрEpE0E└E E@E`E`EаEpE0EАE░E@EEpEEаEpEрE░E0E└EЁEpE└E╨Eр EР E@EpE╨EP EаE EPE@ EрEPEPEpEаEаEа E└E0EРEАE╨EE└E E@EАE`E░E0EрEРEРEАE└E`E@EРEPEpE@EАEР EЁ Eа EА·D└¤D└щDаяD╨ EрE`EР Ep E` EРEАEАEаEpEpEEЁE0E░EE░EЁEЁEpE EАEаE└EPEРE E EpEрEРEEpEE@EЁEpEpE EР E@E╨EЁE└E`E0EрE└EаEАE EE E EEрE0E` EА EаE`EрE└E0E└E0EE╨EE`E` Ep E E╨ Eа E@Eа E E Eа EPE EЁ E EАE└ E` Eр E Eр E` Eр EE` Eр E└ EP Eа Eа E` EE`E╨E└¤Dр№D░EЁEE@EPEpE ЇDА┘D ╔Dа═DА╙D`▐D└їD √D ўDPE└E╨E└EPE`EаEE└EpEPE╨E E`E╨EEEрEEЁE`E EаEрEЁEрEE`E╨E`E EE`¤D@їD└E E EРEАE0EЁE0 E0 E0E╨EpE0 EE@EрE╨EаEEРEАE└EаEPEРE╨E0E└EрEАE░EАEРE0EаE0E└E E EЁE`E└E E`EаE@EЁE╨E╨EE░ E░EрE╨EрEE0EАEрEЁEE░EЁE@EEАEАEPEЁE`EрEаE░E@EE@EPEЁ E`EPEE░ EЁ EАE E░EE0EАE` EаEаEE╨ Eа EEРEаEЁEpE E E╨E@E@EЁE E╨EРEАEРEPEEрEE0E╨ E E░ E╨ Ep E░ E0 E░ E@ E░E` E` E@ EEpEР Ep EЁ EА EP E└ EР EPEА EР E E@E@ E@ EаEАE@°D@E`E@№D░EРE└E0E░E`■D└■D@ЁDашD`эD@▀DртDРE EpEаE@EЁE└EpEpEРEрE EE`EрE╨EPE@EаEpE EPEрE╨E!E0 EРE░E@EpEАE0E`E╨ E╨EаїDа·D EpEРE EE░EЁEАEа EЁEE╨ EАE@EEPE░E░E░EEАE└E`EРE@EАE░E@EE╨E0EРEE0EРE└EE╨EpEEpEE@E` EА EPE░ EР EEE`EРEАEАE0E└EРEЁE`EpEEрEE0EаE░EPEЁEаE░EE@EpE0EP EР Eр EP E░ E@ E@E└E╨EЁ EP E╨EpEE@ E╨EрEEPE Ep E0EаE└E@EАE░EаEEаEPE EрEЁE░E░E`EEрEРE@Eр E0 Eа E` E╨ E0E` Eр EP E0 E╨EР EP EР EpE`E0 E0 EА E` E Ep E Eа E@ E E E╨ EЁ EРE░E E@EЁEрE╨E└ DEE0E░E EАE EАEАE ·Dр∙DаEЁEаE E└EPEpEEрE0E@E░E░EЁEPE0E└EPE@E@E0EрEE░EАEЁE`EЁE E@E E EpEаEРE└E╨EpE` E`E@EрE0EEPEР E╨ E└ EЁ EpE└E░E EаEpE░E@EрE└E╨E E░EEЁEАE`E░E E0EPEРE░EEАEPE E░EE`EаE@EРE└E`ёDE░ E╨E╨EЁ E└EЁEаE└EEpE└EрE0EpEрEРE░E0EЁEАEАE░EРE0E Eр EА EаE0EЁEаE░E@№D└·Dр∙D`E╨ Eр E0E Ep E@ E░ E EАE0E0E@EEЁE`EаEEEАEpE0EАEЁE@EРE0EРE░E0EРEE░ Eа E0 E E E E Eр EаE E╨ Eа Eр E░EPE@EРEpE╨EрEPEрE`Eр E0 E@ EР E0 E╨EEа E└E0E`EАE EEРEЁEрE` E EрEРE░EаEр¤DpE` EА EЁ Ep E@ EpEрEEEрEEPE@E EРEРEEEEаEрEE└EЁEPE E└EpE└E0E└E└E░ E` E` E░ E` Ep E E╨E└E@EE└EEE`E`E`EPEРEpE0EаE@E0EАEЁEАEE0EРEрEEPE EАE EАEрEЁEE E`E0E░EpE╨E╨EE░EРE@EаїDРE0EE EpE E0E E░E╨ EЁ#E╨EPE@EpEEEЁEрEаE`E└E░E@ EЁ Ep EАE@E`EEА DЇD└щDщDаёD@°D╨E░E@ EР E`EаEP E EP EРE E E╨EрEРE E0EE0EE╨EE░ EЁ E`E└E E└E└E└E`E@Eр EЁ E` E░ E` E EАEр EрE╨ E E╨E0EАE@E`EАEРE0EpE0EpE EР E╨ Eр E└ E`EPEА EА Ep EА E E└EАEАEЁEАEЁEАEPEР E@ EР E@E  DpE└ E EрE└ EАEАE└EE└E EEрE░EE░EEАEPEPEPE0EРE░E@EЁE└E╨EPE╨EАE╨EрE0E└EрE└E E0 E`EАEАEАEPE░E╨EаE└EЁEPE░E`E`E░EРE└EаEEрEPE└EpEEРEАE0E░EРEрE└E`EаEАE╨EаEрE░E░E└EE0EаE@E╨E`∙D рDацDE└E E@EрEЁE@E╨!E@E└EPEpEРE0 EЁ EPE0EАEpE└ EА EЁ EЁEPE░E@ D`№DаїDрЁDАшDАфDаэD °D  DЁE└EрEEрE░ E░ EЁ E@ EpEаEАEРEPE`EPE@EАEРE`E`EРEp E@ EАEE0EPE╨EPEE╨ E╨ Eа E╨ E E@ Ep E░EEрEаE╨EE@EЁE0EEр Eа EE`EаE` Eр E@ Eа E EP E0 Ep E0 E@ E` EPE╨E└E└■DPEE░EEаEР E└ EР E░E`E ■DE@E└EРE` E E└EРEE░EPEEАE@EEEАE└EаEE╨EEаEE0E└E0E0 EАEE░E EpE`E E@EpE@EрEEpE`EРE╨EрEЁE└EРEEАE░E0EРE EРEаE└EРEEРEаE`E E`EE░EЁE E` EpEPEЁEPE@EрE╨E@EрEPE└EРE╨E0EаEьDфD EЁEаE E░E╨E╨E`E╨$EЁ EPE└E0EЁEА E EpE0E╨ Eр E EА EPE╨Eа·D@ЎDЎD`єDаёDєD@їDАЎD└№D└E░EPE`E░EP E└ Eр E` E0EpEЁE└ EPE`E@E@EрEАE Ep EАE└EрE0E@EРE@EpE╨EРEРEр E└ EE░ Eр E╨ EЁ E╨ E E└E╨E╨E EpEЁEEаEЁEР EР E░ Ep EЁ EР E╨ Ep E░ E0 EЁ EEЁ E EА EЁ EАEE└EРEа E0 E0 E` Eа E0E└ Ep EEEАEEЁEEА E0EаEАEРEPE└EАE0E@EаE E EрEpEаEАE@EрEЁEрE E└EЁEАE└№D EPE0E╨EАE EЁEE└E░E E0E@EPEE@E└EPE@EРE EЁE@E` EрE0E░E╨E@EРE└EpEАEEаEPEE@ E░E0E╨EрE $Eр#EАEЁE░EEPE╨EEрEE░ E`E@E░E`E EаE0EРE`EpEаEА#EЁ"EРEрE╨EаEА E EP EА E EрE E╨EаE`■D їD`шD`ыD└їD ·D└■D╨E░EрEEpE░ E░ EР EЁ EP EР EР E E0EАE╨E└EpE░EЁE@ E░ E╨ E` EР EEpEp E`E`EpE`E└EE0E` E@EЁE└E` E E0 EEEЁE░E`EE└EPE╨EpE`E@ E└ E` E Ep EА Eр EР Eр EАE0EE╨ EЁ E░E└Ep Eр E Eр E@EЁ EР EP EЁ E E0E└ EА EЁ E` E0E E░EРE└E└E@EЁEАEE╨EE0E╨EPE@E@E░EЁEEАE`EEАEE└ Ep EрE0E EрEаE`E└E@EрEАE╨EPE`E@E░E0E0 E EаE`E└E└E0EPE@ E░ EE└E`EpE░EE╨E@EаEEPE`E EpEАEрEАE└E $EЁ%EEPEРE0E`E`EаEPEаE@E E╨E╨EpEаEаEEEpEаE E░E$EРEрE EРEРE Ep E└ EаE EрE░E@EА D@ўD щDаьDА°DPE└EpEрE E` EА E EЁ E` E╨ Eр Eа E╨ E` Ep E╨ EPEрEрEаE└EPEР Eр E░ E E░ EE└E@EpEPE0E░ E0EP E` E EpE EЁE`EрE E0EрEpEАE0EЁE@EаE└E@EP E0 E└ E Ep Ep Eа E░ EРEЁEEp Ep EЁ E0 E╨E E░E E└ EPEpE@EE╨ EР E E░E└ E E░ EаE E└EРEр EЁ"E E░EрE@E└E EРEРEрEРEPE░EPE@EаEаE@EpEрEр E EАE╨E░EАEEАE`E@EE╨EАE EаE░ E E E0EР E└E E╨EEЁE`E╨E EpEЁEРE0E└E`E E╨E`E E░EEЁEрEЁEРE@E0EP#E0"E`E` E@ EрEpE└EРEрEРEEАEАE░E@EpE E░EЁE`EаE└E└EРE EрEpEАEАE Ep E└ E░ EPEрE E░E└E@■D└ўD`∙D■D`EаEE└ EЁ E`E╨EЁ E E@ E E0EаE0 EРEPE╨ E0EEЁE E░E╨Ep E░EЁEа Eр E`EЁE@E░EpE@EЁ E@EА EР EEpEE@E░EрEРE E╨E0EЁE╨EPE0EрEEР Ep E E└ E╨ EР EР E` Eр E`E└EРE EEpE└ E0 EА E EP E╨ EРEE░Eр EрEpE0 EР Eа EPEP E░E└EаE@EP E@"EР"E@EЁE`EpEE░E╨E`EpE EE╨EАEЁEЁEрE@EаEР EАE╨E EE`E0E░EEРE0 E└E@E0EАE EАE@ EEа E@E`EЁEPEE░EPEЁEрEPE░E0E╨E`EE`EЁEАE`EEPEрE0E`EPEРEАEpE└E└E0E░E`E░E░E0EаEPEрEрEEАEАEаEАEаE╨E@E`E`E0E@EE░EPEEрEE░E░E E Eа EР EE░Eр°Dа·D@ D E`EpEpE EРE@E└EАE░ E EpEE E E0EPE EEРE@EрEаEЁEаE░Eа EА EpE E╨E╨EАEаEE EР E EРEАE EЁE`E└E`EPE╨EЁEРEрE0EРE`EР Eр E0 EЁ Ep E Eа Ep E░ E`EP E0 E└ E└EРE@E╨EPEАEЁE E` E`E0 E EР EрE EА EP EР Eр E░EЁEpEа E0Eр E!EрEРEрEрEPE E└E╨E└E`EE0EEE@EРE└EPEp E░ EPEЁEЁEpEРE@ E░EаE@EаEаE E╨EрE░E░ Eр EР EР EEpEаEEаEаEЁEАE EаEРE0E@EаEPE0EРE0E└E`EPEаEPEE└E└EРEрEE0EЁEЁEЁEАEАE0EрEАEЁE E╨EАE@E╨EРE╨EРEаE└EE E`EPEЁ E EPE@E╨E E0E@ E Eр E` EаEа¤DаЁDаЄDАЎDа∙D@ЎD└ьDАїDрEр E└ Eр Ep Eа E E E EЁEЁE└E0E╨EEаE0E░E E░E╨E EР E@E╨EE`EPE░EEАE0 E EРEЁ E░E└EР E0 E`EаE└E E@E░E└E0E@E@E░ E` EEEE└ E EP Ep E` E Eр E E0EE░EЁEЁ E E└EpE░ E░ E`E`EE╨Ep EP E@EРEР E└ EАEЁEР EА E EЁEPEE└E`E░E@EАE░EЁE!E└ EрEРE@EE0EE0EА E` E EАE E└EЁE└E└E`E EАEАEрEЁEPEEАE└EE└EpEEPE`EЁE└E`EЁEАEEРE0EEЁE`EаEРEаEЁEАE`EАEPE`EpE0E`EpEЁEpE0E└E╨EРE░E`E░E`EА D└╫DPE@E╨E@EРEPEEАEРE╨EEаEp EА E0EрEpEE`EEE░ E0 E E`·D`юD▐DсD фD`сDА█DА╫DашD·DЁEаEEPE╨ E0 E EаEрEPE@EрE╨EаEЁEРEЁ EPEаE@E E EpE└E0EаE E`EРE0E░EРEE░E╨E`E└EPEE0EpE@E E@EрEАE@E EРEPE0EpEPE@E EаEp E E0 E` EP E└ EpE└E░EpE EЁ E` E0 E` Ep EEА EP E░ E E EР E░EЁE E└E░ Ep E╨EPEPE0EаEEрE╨E└E0E`E╨EРEАEpEаE░EрEpEЁ E` E░EEр EЁE└E EEPEEpE╨EрEpE E EpE╨EРEРE`EаE└E0EрE╨E`E└EEрE└EE░EрE`EEАEPE└E"EP#Eа!EЁEрE@E E`EEрE╨EрEEРE╨EЁEРE E╨EЁEрE ╨DАЎDаE EPE`EаE0EАEРEPEЁE└ E0EE@EаE░Ep EЁEPEE E`EE└юDАяD└яD@ъDЁDауDр╓D@шD  D╨EАEE0E0E` EЁ Eр E` E EEРE`E╨E@EEР E0E└E EРE0EEр Eа Ep E╨ E░E E Ep EE└ EАEpEРEрEEpEP EEEE0EEЁEрEрE0 EаE└ E`E╨EEEа EP E E EE╨ E░ E@E E╨EрEpE╨Ep E@ E Ep Eр E░ E░ EЁ E└ E` EР E0 EаEрE└ E EЁ EаEPEpEЁEАEEаEPEE`E░E@EАE EрEE░E E░E0EЁ E╨EаEА■DE EEE`EРEаEаE░E╨E0EрEEаEPE EаEEАEEPE`EАE`EPE└EЁEр EEЁ E@EpEE╨EPEE E╨ E!EpE└EEрEpEPE╨EаEЁEрEаEE╨E0EЁE E└ E  D└─D`█D EрEEрE0EЁ EpE@E@E╨E EА D╨EрEаEЁE` E░EаEЁ Ep Ep E0EE└E` EPE`EаE`№D@E0EрEрEЁEрE E@ E@ E` E EА E0 EPE0E EРEE╨E`EАE╨EрE0EЁ EР E Eр E` Eр E╨EРEа E░ EЁEPEPEРEАE EPEE╨EEРEАEАEpEPE╨E0 E` EА E@EаE`E EEА EрEР EаEАE@EE░EРEPEрEEА E E0 E╨ EE░ E Eр E0EЁEЁ E E Ep E EЁ EEР E@E0EРE░EE0E╨EРE╨E`EEЁE`EРE`EPEEE E└EpEPE EрE EP EЁE EаE`EАEPEЁEРEE░EАE EАE░EРEpE╨E╨ E0 E╨ EpE0EpEPE Eа EЁ EpE@EEЁEPE░E@E0EEрE@E0E0E E└EАEАE╨EРEАE╨EEрE E E░E└¤D`эD яD░E@EАEPE EРE@ E0 E0EАE└ D EЁ E@ E@ EPE@EА E EE0 E╨ E EР E░EаE@ E@Ep EА E0 E E` Eр Ep EР E╨ E E`E0EP E E`EpEАE░E░EE`E@E└E@EЁEЁ E╨E` E╨E` EЁ Eр E`EРEаE╨E░E╨E░EEЁE└EАEРEРE░E`EаEрE E0E░EРEРEРE0E└E0EРE└EEE╨EРEрEаE@E`E E0E└EE0 E╨ EЁ E EЁ EP Ep E░ EаEPEEр E E E E`E Ep EEPE EPEEpE`EаE░E░EРEАEEЁEаEЁE`EE` E╨E░EаEpE└E└ E░ E░E└E░EрEEEаEАEАEаE╨E0EАEр E░ EР E░EрEp EЁ E╨EE░E@EрE╨ EР EЁE@E EE└EEАEа%EаE`EpE╨EАEpE`E EPEEрE0EаE E@ E0Eр№D`хD@E░ EE╨E EpE0 E░EрЁDаъDрЁDА°D└EPE`Eр EE└Eр E└ E░ EEР EPEp E@EPE`E╨E└E░E@EЁEPE└EЁ E@ E` E@ EPEаEРEрE0EEE E░EpE└E`E0E░EрEEpE0EРE E╨ EАE0EpE└E`E0E`EE@E└E╨EPE EpE E@E@EРEрE0E0E╨EаE E0E└EЁ EЁ EEpE`EE`E╨E0E`E╨E`EРEАEрE░ E` E└ E╨ E░ Ep E└EpEр E@ EРE└ Eа Eр E Ep E╨ EаEА E0 E@ EЁEEАEpEАEЁEPE EАEАE╨E░EEАE╨E╨EEEP E`EEРEрE E E`EРEPEE`EE└EpE`E@E E╨EЁE└ E E└ E EРEEEрEаE@EE@EЁ EАE0E EРE╨EЁEРE` E #E╨E0EEPEаEEpE╨EРE╨EаE`E`E E░E@EрюD хDpEEа EPE E╨ E`EpE▄D@╠Dа▄D∙DаEА EАE└EАEPEЁE0E`E░E0EPEЁDEрEE╨E└E@E╨E└E E EРE@EEаEЁEPE░E└E0EpEрE░E EpE@E E░EРE░E╨EPE EPEЁ E╨ EpE E0 EАE0E@EEЁE E E@EE@EE░EPEЁE E0E╨E`EpEE└EЁ EpEаE`EEрEрEАEАE`E@E░E E EEаE E Ep E E@ E@E@ EP E E░ Eр E` Ep E Ep Ep E` E@ EА E╨E░E0 E`EрE╨EPEPEE0E@EЁE╨EpE└EаEАEАEЁE EрEEEа■D░E0 EpE0EЁEE`E╨!EЁ E╨E╨EE0EЁE░E@EPEpE0EА EE╨EpE0E╨E EPEрEЁE░E░EаEАEЁEрEEE╨EАEРEрEPEE░EpEРEАEPE`EEрEEЁE╨ EаE@E`E Ep E@E░E└EА¤D└√DршD`┌DєD╨EаEА E E0E╨E0E0E E╨ EР E@ DАфD╙D@╔D`ЄD`EАEаE░EЁE░EPE@E E@EЁEEРEРE E0EЁEE└EЁEРE`EE@EаEрE EPEаEP EEаEрEPE E╨EEрE0EрEаEЁEАEрE╨E╨E@EPEАEE░EE@E`EEE░E`EА E@E@EЁEЁEАE0E└E@EPEаEЁEEEрEРEр EАEP E░E Eр E└ EPEРE EА EЁ E E╨ E╨ Eа Eа E└ EP E0E╨E╨E0E0EEpEрEАE`!E`!E EЁEEЁE╨EЁ E "E└EpEEАE` E@Ep EЁ EPE0EEЁEрEP Ep EP E@ E`EрE@E╨E0EpE░E└E@EEEE E`E└E╨ E╨ EрE0EЁE░E`EрEрEрEE└EАEЁEЁEАE`E└E0EаEРEаE░E╨EрEPEАEаE0Ep EР E0 E░ E░ EP E`E їD└чDрюDpE╨EаEЁEpE0EPE╨EpE`EРEEрEЎDр▐D`╞D╦DАЇDр EEаEаEEРEаEEE╨EАEEаE E0EE@EАEрEАEрE@E@E╨E░EАEPE╨EРE@ E EР Eа E EР EЁEE`E`EРE░E└E░EАEаE@E0E╨EЁEE@EРE@E@EаE@E░EEЁEРE╨E0EрEpEE@E@EаE╨EрEPE└EаE└ Eа E░E0EEEАE EЁEpE E@ E` E Eр E E Ep E░ EрEE└EpE0EE0EEр E EАEАEаE0EаEрE E░EРE@EрEАE└E EEАE└ E░ EрE░EPE└EPEPE0 E░"E╨EаEЁE░EрE░EE0EрEаEPEpEEЁEа EЁ E╨EE`E0E░EPEАE EpEpEаEE@EpEРEаEPEРE╨EPE└EРEрEРEаE0EЁE╨ EаE╨ EАE0E0Eр Ep E0E└°DEE@E@E EРEРE0E└E└EРEpEрE└ E`№DъD хDА▄D@ъD Eр E0 E└E@E`EЁE@E░E@EЁ EР E└ E`E@E@E0E░EРEАEаEаE0E0EАEЁEEр E@ EpE E░ E`¤DЁ EРE░EEЁEPEаEРEPEpE`EЁE@E░EЁEpEрE0E EАE`EpEрEАEрE╨E0E`EEEрE`E EEpE`EЁE E└EE░ EE EPEEрEpEР EАE E╨ E0 EP E E` EЁ EР EЁ Eа E└EР EЁE░EрE░E E░E EрEEpEPEРE@E`EEE`E└EАE└EE EаE@E└EE░EPEРEЁEpEEЁE EрEEpEEEРEрEPE`EEрEpEЁE└E╨ EРEPE E EАE EаEАEРEPE╨E└E░E░E└Eа!E@EРEАEаEEPEАEАE EрE E░E EE`E╨E0EE`E E@ E@■D└ D╨ EРE└EE╨EE░ Ep E E╨ EА EEEP E└¤DаЇDрєDёD ўDEEP EРEАE└E░E░E`Eа EаE`E└EE╨EрE0E╨EаEрE╨E E@E@E@ E`EАE`E└ E└ E EаE└ EрE░EPE@E`E`E@E EАEАEEРEE░E@E╨EАEE╨EPE░E0E╨E╨E`E`E@E░EpE`EРE EEЁE`EЁEE@E0EPEаE╨E░EЁEРE@EРE0EPEр EЁ E Eр E EЁ E└ E0 E E E└EАE└E`E╨E╨EрEpEРE░EE╨EpE@E└E0EРEpEАE░E@EpEE E└E°D@їDАEPE░EЁEPEE`EPE└E`EРE`EPE░EаEE0E E0EЁE└E EрEPEРE`E░EpE`EЁE╨EРEаEРEE0EАE0E"E░!E0E└EЁEЁEРE EрEаEАEАE@E░EрE@E0EАE EрEE@ EАEА·DEР E EЁE╨ EP EА Ep E@E░ E╨ E░ EEpEАEА EPEp E╨ EР EЁ E░ EрEЁEаEрE`E@E└EPE ·D` EрEЁEрEрEpE E` E╨ EР EА E└ E@ Eр E└EАEE0Eа E E0EPEаEЁEРEЁEE╨E░EаEPE`EрEрEЁEРEАEА E╨E░E╨EPE░E░EpE└EаEаEЁEЁE`EE`E└EEРE╨EЁEPEРEаEаE0EE@E EEАE└ EPEE└ E╨ E╨ EЁ Eр EА Eа E0 EРE E`E`EpEPEpEPEPE`E EаEpE@E░E╨EEАEрEЁEРE└E░E`E@ E╨E@ьDрэD└EP EЁE└E╨EрEаE└EE░E E░EАE░EPEPE└E`E@EрEРE╨E░EE`EрEPEАEЁE@EЁEРEаE EАEpEАEЁEРE╨E@E EpEP%EpEрE└E EEРE0E╨E0EЁEРEАEEE EРEаEаE@¤DЁEЁ E@EаE@E0Eр∙DPE@ EРE╨ E`E`EE0E╨EЁEEpE╨EрE EАEEEАEE└EА EаE EАE@EЁ EPEE@E@EРEPE` EpE EEE░ E`E└EЁE EPE└E@E╨EЁEE░E╨EЁEрE0EpE EаEPE0 Eр E@EаEАE└EаEаEрE EEЁEpE EЁEАE░EРE`EpEpEE EЁE@EРEPEE E0EE└ E` EР EEА E E0 EР E EP E E E0 E╨ Eа EАEЁE`E E╨E░EАEpE E EРE0Eр E EРEpEаE`EЁE@E0E0E0EE ўDаєD╨E E└EE└EpEр E0 E@EEРEрE`EEЁEpE└E░E╨EPE`E@EРEEРEаE0E└EE`EЁEpE└EрE└EEE EАEE╨EpE0E`"E0 EЁE`E0EpE@E0E@EрE0EЁE0EРE EE` E@EРE яD└ёDЄD`▌D┘D└╓DА╣DА╞D`чD E`EЁ EаEЁE@E EE0E└EрEЁEаEрEEE E╨E EEАE0 E╨ E@ E└ EE ЎDАЎDА√Dа№D №D░EEРE░E╨ Eа E EаEp EаEрE╨ EаEРE╨EРEpEЁE╨E@E╨EРEаEЁE0 Eр EpEEPEрE EаEEрE EЁEE└E░EE░EpEЁEрEЁEаE╨EЁEРEpEpEЁE└EpEРE`E@E░ E E╨ Ep E Ep EР Eа EP E0 E0 EА E EЁ EРEРEEEрEЁEрEPE@E░E`EаEрE`E EE@EE`EPEEPEPE0E╨ EРEа∙D Ep E@E╨EEЁ E└"EPE E0E@E└E└EРEЁE E└EАEаE╨E└EАE EРEpE@EЁE╨EрE EаEPEPEаEрE╨EЁE0EEа!EАEрEаE E0EаEАEРE╨E└E`EE@E└E╨E EАEP E0 Eа EE°D└сD уDа╒Dр╖DА┤DрмD`МDр╖DыDЁE└E`EРEАEрEЁE└E└EpE@E░EАE0EE0E0E E@EАEPE E╨E└Eр¤DАфD`▐DщDаюDрўD@°Dр∙D└·D@EЁE╨ E E└ EP E░E╨EаEР EЁ EPEрEЁEАEE░E└E╨EРE` E░ EPE░ EА E└EаEРEАE`E└EPE░EPEPE EЁEЁE0E0E░EАEаE0E`EрEАEEEРEаEАEpEЁ EР Ep E0 EP E E E EР EрEЁ EА E╨ E╨EEPE EРEРEЁEрEPEРEРE E└E░E`E░EрE`E@E└!E@#E` E`E0EE@E╨E0E└Eр DаE EpE└EЁE└E└E`E░EE└EАEрEEрEАE└E@E`E░ EРEEEE@EаEРEРEАEE╨E@EРE░E╨"E`E EPEРEPEРE@E░ E` EE╨E EPE` E@EаE0EEАEрE@ EаEEАE EЁ EАЎDАхDА▐D╚D мDажD@РDАtD@▓DА∙DрE ¤DрEр E EEPE░EEPEE╨EEаEЁE@E E EPE└E@ EE└∙DаяDр▌Dа╔D`═Dр╟D╞DщD`яDАыD`эDЎD`EАEАEАEp E EА E Eа Ep EРEЁE0EpEАE`EаEРE╨E Eа Eр E░EР E╨E0E@E░EЁEЁEРEPEЁEаEPE`EрE`E0E@E`EАE@EЁE╨E E0EEpEEpE@E E E`E` E` Eа E@ EE0 EPE EА EP EР EP E@EE E╨E└E0EрEEаEРEрE└EpEаE└EРEpE%Eр#E└ E EаEp EpEpE E└ E@EEp EEаEE@E EEEЁEpE0E└EPE╨E0EЁE╨EEРEЁEРE@E╨EE E E E`EЁE`EEEЁE$EЁEаEр!EP#EаEEРE@E EE@EPEа E #EPE`EpEаEEЁEP EА EE E0E└Eа№DаїD└эD@╨D`░DжDаЙDПD`╥DE╨E╨EРEEРEаE@E0EpE╨E EаEPE░E0EРEЁEЁE0E` E░ E`E└юD`▀Dа╓DА╧Dр╠D@│DАЬD╦DррD▐DртDаёDЇD@ёDаЇDE└E E E` E╨ EEаE@EE└EPEЁE`EаE`EРEEЁEрE░E░EEpE░E E E0EАE└EpEpE╨E@E╨E EpE╨E@EЁE└EРEEpEpE EАEEP EЁE░ E E E` EEPE░E` Ep E0 E░EЁ E E@ E` EР E└EЁEРEPE└E░EРEрEPEpE╨EP EPE╨E "E`$E #E!E!E EЁEАEРE@EEp EP EPEpEE`!EEрE░E@EаEрEpE0EPEE░EEаEаE E@E@ E╨EPEPEЁEЁEEАE`EЁEрE╨EАEPEpEE╨$E╨E╨E╨E╨EАE@EE` E╨EPE@EE E`EPEE EаE@E╨EРE EРEE E@ўD└╒DА╝D`еD|D бD`цD└∙D  DрEЁ E@E EРEEEPE░ EЁ EРE└EpE`E`EPEЁ E░ E`E└EА√DуDр╪D└▐D█D`┴D йD`ТD░D`╒D`╪D ▌DрD тDАщDрєDА¤DPEEE╨E0 E E└ E`E└E E0EPEEаEрE`EАE`E░EЁEEEрE`EPE╨EEаEЁEEаEАE└E╨E0EАEАEРE└E0 E0 Eр EЁE░EаE░Eа EРE E└ E0E└ E EаE@E░ E╨ Eа E@E╨EЁ E└ E Ep EP E E└EрE E@E░EEEРEЁEаEpE`EР!EР$E`$E0"E #E`"E` E└EPE0E╨EрE0 E` EаE@EEаE EpE@EЁEРEаEАEЁE╨E0E0EаE@E0E╨EаEрE░EpEРEE@EрEE`EE░EрEPEаEрEАEа E└EаEpEPE0E EА!E"EрEаE└E└EPE`EрE`EpE@E╨EpE└E`E`E╨EpE`·DцDр╟DАХD`ГD└еD└сDАўD·DАEp E@EEаEРEEE╨ EP E╨EЁE@E@ E@ E EЁ EP EЁE ¤DАЎD@▄Dа╨DА┌D@╒D└┐D`╣DагDадDА╞DА╬DА╙D`╨Dа╫DашDАЄDр°DE0E0EРE@ Ep E E0EpE└E└E EEЁEpEЁEEрE╨EАE░EрE└E0E0E╨EpEРE░E└EРEАE└E╨E EpEаEPEАE E╨ EАEE╨EE░E0EEЁEPE╨EаEРE░EрEE└EpE@E`E░ E E Eр EР E╨EPEАEpEEPE0E╨E░E`EАE0EpEр!E╨E╨Eр#EЁ#EаEЁEEаE╨EEPE0 EрE░E░EАE EАEрEE0 EаEEРE !E└!EEр E@E EаEPE`EрEАE└EEаE E░EАE0EEEEE`EPEE`E`E0EPE░!EP EрE`EАE@E░EЁE└E`EРEаE└E E@EРEpE╨ EрE░EEАE`ЇDАуDА─DрЮD└РD╢DАтD└їD@Eр DEЁE@EEEРEРE@ E0EPEаEаE░ E0E E0EАEўDацDАщD└▌D╔D ╠D└╔Dр┴D@└D@│D└ЯD мD╢Dа╟D═D└╥DртD`ьD ЁD °Dр√D@EPE` EРE└EАE EРEрEЁE░EрE@E0E░E@EE0EРEpEE@EpEрE@EрE░EЁEАEEрE0EPE@EEрEрEАEР E@EАEЁE@EpE░E░EЁE`E╨ E@E`EРEрEE@EРE`E E╨E╨ EА Eа EP E EаE`EEEрEpE0E EPEрEPEА!E@!EE` EА!EрEpEЁEрEаE@E`EаE0EЁE╨EАEE░E E`E E░EE╨EЁEp#E`#E`"Ep!E E╨E░E░EАE╨E@E░EАEЁE└EЁE@EPEEPE0E0EрE╨E`E░EЁE`EАE0EEPE└EPE@EАEРEАEEE└EpE`E░Eр E` E╨ E` E░E@√DаїD@цDА╧DА╕DдD└ЯD ╚D└┘D@шD`·DЁE░ EЁEEpEЁE└E╨E@ E╨E░ EрE`Eр EрEАёDаёD ЎDр╪Dр╨Dр┘D▄D ╩Dа├D`├D@╝DА╕D└нDрФDАСD`ШDйD ╢D`┼D└╥D`тDрьDєDА·D@ DАEpE E└ EрEЁEpEpE@EPE`EEАEаEРE╨E░EEАEРEЁEрEаE EРEРE└EЁEpEE`E╨E@EЁE╨E0E░ EpEРE@EрEаEEрE╨EE`E`EАEАEРEE╨EEаEEЁEаEЁ EА E`E░E└EЁEPE`EpE╨E░EрEРE0EpE└EEE╨E EРEЁEРEE0EЁEPE0EEАEE`EРEрEРEEЁE└EPE░EEp!EА#E@$E0%E$EpEРEР EЁEРEР!E└EАEEЁEEЁEаE@EpEРE└E0E`EE╨EE└EEаEPE└E@EрE@EEE╨E@EЁEрEEЁE Eа EрEEАE` EА EE@·DАхD ┼D@зD дD░Dа╛Dр╥D ёD`E╨E E EPEЁEpEА EEрE`ЎDАEР Eр E░E└°D ▄Dр┘D`╨D└╛D@╚D═D╟DА┼D`╣Dа║D║D└╕DАжD@xDАoD`НDАЩD иD@╢Dа└D╘DфD яDр■DE EE└ E`EE`E EE░E EpE░EPEрE E E0E@E EЁEАE╨EEE`E░EE╨EаE└E└E`E╨EАE╨EаE░EрEE E░EPE╨E EEРEРE└EЁEРEPEE E╨EE@E E EP EА Ep E0 E`EЁ EрEpE`EPEрE@E`EpE░E░E╨EpE!E╨E EpEpEаE`EEрEE0EEАEPE└E└EрEРEPE░EPEpE`!E░#E└"E'EP&E@ E└EPEа$E !EЁEp$Eр E░E@ EPEАE░EEа!E$EE░E`E EрE E EEPE░ E@E E@EEрEаEE0EрEPE@E0E E╨E╨E@ E0EPE EАEEА¤DаыDр╚D`║Dа┼DА╔D@═DАъDEР E E E EEPEE╨E╨E №D ыDEРE EРEрЇD╪Dр╠DА│D`мD@╜DА╔D╨D╖DаеDа┴D└─D ╜DЭD└_DАdDОD`зDа╡Dа╗DА╞D`╙DсD└эDр√DрEаEPEрE E└ EЁ E░ EEР EE@E╨EАEРEЁEЁE0EpEЁE`EpE0EАE E░EЁEАEаEpE░EE░EE░E`EаEPE░EРE@ EрEEE└EPE0E└EE╨E E╨E EрEаE└E╨EE@ E@ EА EpE└EpE@E@EаEEРE`EpEPEАE└E╨E E░E0E0EpEрEE`E╨EрEPEаE`EАE└E E└EpE░E0E╨EЁEАE0E└ EЁ!EЁ$E`(Ep'E`E└EP#E└"EEЁE "E@#EP"EА"EР Eр"EА$EРE@$E0&EE░E0EЁEEpE└EPEрE!E0 E0EРEE@EEаEpE EEPEаEЁE░EрE EPE EаE@EE╨EАЄDр█DА▀DАЎDА D░E`E└EEР E0EАEрEpE░E╨E└¤DръD`уDаE░EРE╨EА·D ьDфDА╞DАеDАбD ╕Dа╟D@зD`ЪD`╗Dр┼D└╗D бD ЙD@|D└ЕD`иD ╗D ╞D ╒D ▀D└хD@ёDpEРE E0EрEpEА EЁEрE@EpEE╨EрEE└EЁE░EEрEPEpE`EE░EаE0E╨E╨E`EаEРE╨EE`E`EаEЁEЁE└EpEАE╨EЁE@EE╨EPE E EАEE`EPEаEаEаE╨EEpEЁ Ep EP EаE`EpE░EЁE@EрEрE@E E`E`EpE E@EpE`E└E0EрEpE0EрEРEPEРEPE`E@E└EpEE╨EЁE0E╨EPEPEЁ!E░%Eа%E╨$E0'EА%Eа&EА#EE0EP!E#E@%E└$EЁ#EЁ#Ep!E╨Ep!E░!EрEАEаEЁEрE@E E@EРEP!EP E`Eр E"EpE╨EаE░EРEРE░E╨E╨E`E└E░E@E E░EP Eа EаEЁE  D╨E EPE0EPEАE EpEpEpE└EаEЁE EpEхDрюD└ EаE E└E@EаE└E@юDА├DабD`зDр▒D`иDЩDАнDа╣D`╟D╙D╖DрЦDрЫD`кDа╗D`═D`рD шDюD √D0E╨EЁE@ E EpEЁE` Ep E0 EА EаE0E└E EE0E0E╨EаE EЁE0E└E└EЁEEpEEРEАEРEАEpE@EАEрEр EА E╨E╨EРEE0E`EАEр E E╨EрE`EАEpEPE EаE0E EРEРEP EА EАEp EР EР EРEЁE░EрEАE0EРE░EрEрE░E`EЁE E░ E░ EE╨E E└EРEEPEаE└EЁE└EpEPEEEЁEEА!Ep!E"Eа%Ep%E@'Eр,Eр,E└*Ep&Eа#E░#E└#E$Ep&E%EP$EЁ#E0#E"E╨EА"EаE╨E`EЁEРEЁEЁE!E╨EE`EАE!Eр EEE@E╨EРE0E EEPE@EРEАEEРEРE░EА E└E└E@ EРEрEЁE░EРEаE E`EАEpE╨EР E░ EEРE ьDEА E░ EЁ E0EРE0 E╨Eр°DА╪D ╛D@┤DоDазD ЦDрЯDамDр├DарD ╚D@╗D`╜D└┬D@╘D шDЇD`ЄD їD░E╨E0EРE0 E└E░Eа EА EEPE╨E@EЁEЁE╨EpE└Eа#E0EE╨E└EРEРEрEаE`EpEрE EpE╨E╨E└EEАEE░E E└EEpE╨EpEEаEрEРEАEРEEE░ Eр E░EАEаEАEрEpEА EE E EА Eа E░EpEEE@E░EЁEАE╨EЁEPEPE0EАEА E░EEАEpEPE0EАE@EАE└E╨EаEАE0!E@E└E0E E╨!E "Eа"E`"Eр$E╨(E-E0,E,Ep+E└*EА'E`$Eр$E@$E %E╨"E░"E@#EЁ!E0#EР E E E╨E`E0EEpE@EАEP Eр#EаE EE╨EEАE@EАE0EpEEPEЁEPE@E@EPE╨EАEаE@E EЁEаE░E░#EP$EРEА Eа"E╨EPE E╨ E E EЁ E`EАяD@ Dа Eр EЁ EАE EЁE└E@ўDрчDр╫D╠D└DА║DрзD гDАкD@╚D`╙D ╞Dа╩Dр╞DА┬DА╬DёDр D °DряD √DpE@ D0E└EPEE╨EРEаE0EEEРEE0EРE0E0E@E E@EАE└EЁEАE╨EАE░EpEаEаEаEРEрE0EE@E EEE░ E└ E░EРEE0E EPEEE`E░ E` EР EаE░EEPEEE╨Ep E Ep E0 EРE╨EE╨EpEрE0EE░EрE`EP EАE E EЁEpE`E@E░E░EРE EРEАE╨E░EрE EpEPE0E░Eа!E░#E└#Eр%Ep$E░'E)EА*E╨*E`,E +Eр*E )Ep#E└$E $E`#E╨"E`"E╨ EEЁ E@ EаE EаE└E0EpE0!Ep Eа EЁ&E└(EР"EаE`EрEРE0EPE!E EаEрEРEPE╨E╨E`E@E`EАEEE╨E "EEа EP"E░!Ep#Eа'E!E└EEрE@EЁE0E` E°DэDа■DА EРE EаEE░EРE¤Dр°D`√D юD@фD└▄D ╘Dр╦D└╩Dр╫D`═D`─DА┼Dр╛DА╢D`┴DафD √D└ЇDашDїDа№D@¤DаE╨E░EpEPE EРE└EpE@EЁE E0E╨E░E`E E@EpE╨EE0E░EEЁE░EАE@E EE`E@E EАE@EЁE E░EА E`EРE╨E░ EАEEрEpEаEPE EР Eр E EpEЁE`EpE E@EаEЁ E E░ E EpEE░E└E╨E@EpE╨EPEРEрEРEpE`EpE░EpEEEаEрE EEEЁE└E`E EАE"Ep%Ep%Ep$E└#EР#Eа%Eа&EА(Ep)E░'E░'E└+Eр+EР)Ep$E "Eр"E %E@$E@"E└E╨EE░E0!EpE EРEpE░!Eр$E0"E`EР!E@%E░&Ep&E "EА EE░E$E░%Eр"E@E0E░E░EАEаEА"E0!EЁ E0EаEPEpEPEpE@ EPE└EPE@EрEP E@EPEРEpEРEEЁE0Eа E@Ep"EР!E`!EЁE@E░ EАE EаE@ E`EаE °DАЄDаъD`щDасD`╤D└╔D`╞D└╗DмD`▓Dр╨D@ьDрыD`рDрёD0Eр DрEPEp EаE╨E`EPEpE└EРEАE0E0EEаEE EE└EPEаEаEРE EpE@E░E╨EАE E0E░EАE`EPEE╨EРE└EрEPE░E╨EРE╨EРE╨E@EPEPEР E0E░E╨EEEEаE└E`Eа EpEp EАE@EpEEАE`E░EрE@E╨E└EE EЁE`EаE░EАEpE`EРEРE░E╨EРEрEрE`EрEp!E0#Ep#E$E@ E0 E#E#E░%Eа'E 'E%E &E@)E└,E0+E %E`#E0!E%E└$E EЁE0"EP E╨Eр#E0$E#E0$E░#E0$Eр&Eа(E$E@$E@"Ep!E╨(E@#E"E` EА E`)E'E╨"E` EРEАEРE Eа Eр$Eр#EP!EаEEpE`E`EАEPE0Eа EР EРEPE╨EE EрE@EPEАEРEЁEрE` Ep$Eр$Eр"EpE0E@EРEPE EаEPE└E@E їDасD@▄D@▄D`╓D@╨D`╙Dа╦D@╡Dр╢D ╘DрщD`ыDАцD@∙DрE E@EEp E╨E0EE└EРE░EPEE@EPEPEЁE0EPEE░E░EE░E@E░EE╨EрE EаE╨EPE E└E`E`EЁEEРE0E@ EЁ E└ EаEEEEрEР EрEаEP E└E0E╨EEpEЁE0EEрE░EЁ EPEРEрEpEPE░EРEPEЁEE@E╨EАE░E└E@EРE EEАEаEРEрE└EАE└E@EРE EEАEE0EА EPEE E@!E`$E░$E0%E`%E╨'E`)Ep,E0-Eа)E░&Ep#E░#E░"E░EEР"EЁ!EЁ E $Ep'EЁ(Ep*E%Ep"E&E└%E@'EP(EР EАEЁ"EА'Eа'Eр&Eр#Eа'EЁ%E"E!E└EРEаEPEрE#E░E0EЁEРE@EаE EpEp E0EEEpEРEРEE` E EрEаE└$E$EЁ$EЁEE└!E@%EА#E@EрE└EРEEЁE E EЁEРEаїDр╫D╥Dр▄D└фD@тDхD уDА┘D@╫D`щD`ЎDА°DаЇD E E@ E└EPE░EаEE@E└EрEа!E0EРE└E└E╨E0EE░E░EЁEEаEаE`EEpE└EаEPEаEEЁEЁEаE@EPE@EE EЁ E`EрE EЁE0EE╨EАEpEРE` E0EEpE╨ EEрE@E└E`EPE E░E╨ EЁ EPE@E└E@EРEЁE░EрEрEpE└E@E0E0E@E╨EрE└E E EEАE░EАEEPE└E@EEРE@EЁEЁ EpEЁEЁE@$EР$E'E╨&Eр'E*E+E+Ep'E`$E@&E&Ep"EE╨EР E└E░!E%E└)Eа.Eр)EР%EP&Ep&Eр#E'EЁ)E@&EА"EЁ!Eр(EА'Ep-EА)E╨(E0(E&EР!EEЁE E╨EРE@#EЁ!EEPE░E E@E EАE` D`ЄDАЁD`чD ▄D ┘Dа╓D@фD`ЎD@E EЁE`-E░*E░'EЁ EР EP'E0)E╨&E╨EE EpE`E@EP E E0EEрўD@яD└ёD@їDАїDАЄD@ЁD@єD└ыD@тDўDрEАEPE░E0 EPE E░E└EрE0EЁE`EР E EpE`E EEАEE╨EPEаE@E└E└EEpE░E0EЁEАE@EаEpE0EEаEpE└EpE░EpEЁE└ E`EА E░E0E`E`E E└ Eр EрEаE└E╨ EрE@ Eр E`E`EEЁEPEE E╨ EPE@E E E`E E░E E@EАEpEE`EEрE`E╨EЁE`E`E@E0E░EАEPEРE░EPEE░E░EEЁ EР E`E0!E$E $E 'E╨)E@+E░,E░)E %E`"Ep#E #E@"E░E0E !E└!E`#E%Ep(EЁ)E░'EР&EP)Eа(E└'E0'EP/E,EP)E )E└&E`(EЁ)EP(E0&E╨+E└(Ep E└E╨E└E0E E╨EрE@EE░EE@E0E╨ E╨E■DаЁDАюDАтDа╠D└╗D╖D┬DрхDE0EаEа*E0.EP!E0 E#E╨'E`%EP$E`EЁE░E`E0E0 E`EEРEрEEEE╨E`E└EАEE №DАE EА EE░EРEEE@E└ EА E0E░E`EаEE@E└EрEpEEРEрEРEE░E╨EаEАEрEАE░E E░E@E╨EpE E`E░EE E`E└E╨EEE E Eр EEE`E0EЁ EРE└ EРEPEРEEр Ep EЁ E@E`E0EаE░ Eр E╨ E└EpEE└EE E`E╨E@EЁEаE╨EE0EРEE└EЁE E╨EEрEEE Ep EАEE@E@EЁEE╨#E`#E└E@E EЁ E@E░ E└$EP'EЁ'Eр%Eр EАE░$EА#EАE░E0E@E└#E`&E#Ep%E└%EP&E░)Ep+E*E╨'E0'Eа*E@'E`$E *Eа/E└)E╨$Ep E#E└*E└"E`E└E@E░EЁEpE╨EpE0EРEPEPEрEаEE EАE ЎD@юD└уD@═DА─D─D ┬DАцD░E╨ E0E└"E%EР!E░"EрEPE "EP EРE E0EЁEpEр EаE EАEpEрEEPE░EРEРEpE░ E E@ EEаE╨EЁE EА EаE`"EР"E!E%E#E!E` Ep!E@!EРE╨E@EPEEрE`E░E└EEаEРE EpEpEаE EЁE@EаE`E0E╨EрEаE░EРE`E└Ep EP EЁ E░E@E└E@E░ E E@EрE0E╨EАEАEpE E0EpEа E0 EР EP E@ EРE└E└EрEE`EЁEpEЁE0E@EЁEрEPEЁEАE0EАEЁEPEЁEрE└E E E╨#EР EРEpE╨EАE└EЁE└#EP"EЁ EрEPE╨EЁEPEЁEР E0!EЁ E░E╨E"EP"EE@ E@EpE0$E#E░"Eа$E└$EЁ$EР'EР*E╨,Ep'E░%E`"E #EР&E 'Eа*E )Ep"E@Ep&E░&E`E░EРEаEрE`E└EРEE└E EРEрE EаEРEАE░ E└EРEА DўD└ЎDащD`щDрЎD`№DР EE0EЁEЁ E@"E@#EP"EP"Eр EPE░EEpEрEPE╨ E@E EА№D`·DРE0 E░ EаE EрEЁ E░EЁE0E EE EE░"EPE╨!EР!Ep#E'Ep'EР&Eр#E $EP"E╨EаE└E└E E╨EРE╨EАEаE░E EАE╨E EEPEаE└ EрEрEРEаE@EpE0E@E░E`E└EpE└EАEаE`EАEаEАEpEаE░ E╨EрE E╨E░EРEР E╨Ep EP E╨ Eа E░ Eа E░EаE0E╨EаE╨E E`EEEp!EЁEРE@E░E0EЁE░EEАE E░EР!EЁ EаEpE└EPE@EаE╨Eр"E"EP!E└ E└EРE EEЁE└!E└EаEEРE "EР"EА Ep E@EА"E#E`"E░!Eа#E"Eр E`$E 'EА(EР$Eа'EP"E"EР$EP(EР'EP$E└!E└EР!EРE░E0EРE░EЁEаE0EАEЁE╨EЁE E@EрE░EаEАEEE╨ E╨ E0EЁ E╨ E EрEEР E└E`E $E "E░#E╨(Eр'EР$EР#E EPEp E└EE E EА EE°DрЁDЁDРEАEpEрEPE└EАEEPEEрE└E Eа!E0E╨$E░&E0'Eа#E░&E (Eр%E░'Eа#Ep!E0EРE EpE░EE EEаE`E@E╨E└EаEаE@EE╨ E`!EАE0EрE└E░ EЁ!EEРEАEpEpEЁEpEАEЁEАE└E E╨ E░ E EPEАEаEЁEEрEаE@√DА EрEрEP E@ EP EPEрE E`EpEEpE`EаE E EЁEЁE└E░EАE0EЁEpEPE░E╨E@EРEEpE EрEEpE╨E╨ E`EpE0EEЁE`Ep"E░$Ep$EР EрE░EP"E#E╨$EЁ!Ep"EЁ$E╨%E0$Eа"E0!Eр!E0E E╨#E(E0%E└"E"E`"E╨ EЁ E└#E░#E└#E0!E└E E╨EpEEp E` E░EаEEPE`EEЁEАEpEАE░EАE░EEАEРE`E╨EаE╨ EРEp E└EрEАEрE0&E@)EP(Ep,EP,Ep&Ep%E╨EEpEЁE0EЁ EАEА EPEE¤D└∙D└EАE0E0EАE░EpEEE`EEЁE░"E !E`Ep!E`%EЁ&EА$E0&E└$EР"E$EР#EPE!EEpEАEpEpEаEАEрEаEрEP$EА'EЁ$E$EP"EE░EРE E`E`EЁEPEP E`#E░E╨E└E@ E Ep EЁ EРE└E EРE╨EPEЁE└E@EE└EpE E E0E`E`E EЁ EE└ EЁEРE`EEEаE└EрE░"Ep%E╨ E E0EАEРE`E@E└EрEE└EEРEE└EЁE@EЁE░EаEPE`EEЁEРE░E░E E"EА#E #E░!Eа"E #Eр"E└!Ep EА E $Eа"E└EрEPEP"E0$EP!EР!Ep#Eа&EЁ#E░"E╨ E E$EР EрE╨EpE`EЁE0!EЁ!EE╨EАEPEаEpE0EE EEаE@EЁEРEрE░EpEЁ Eр№D└▐DА╬DА└D`╠D@¤DЁE└E└E`Ep"E0#E 'E0-E░/EP+E░*E&EР"E0E EE╨E0E░EpE╨Eа DаэD@¤DРEE╨EЁEpE░EРEE EP EЁE EЁE░E@EрEАE !E╨ EP"EА%EА$EP#E#E╨!EpE E`"E└E└E╨E╨E@EЁEEрEЁ Ep"E0%E0'EP%Eа"Ep E E E╨E`E0EЁE└EЁ Eр$E"E░EE@EEpEаE@EрEpEРEЁEРE░E`EEЁE╨EEE└E└ EАEЁ E@ EEрEpE╨E└EРEаEРEаEE0"E&E`$EP"EPEЁE E╨E0 EpE0EPE└E0EаEEРE╨ E0"EаE░EpEPEpEРEE`E E╨E░EP E░!EЁ"EрEа EА"E E`EPE EE░!EаEаEEE`EР!E!E░!EР EР!E╨ Eр EА E E░ E@ EАE└EаE!EP!E░ E░ EРEE0E@E`E0EpEЁEрEE╨EЁEEЁEаE└E└ E0Eр▄D`╤Dа═D ╛DА┤D@█D E└ EPE╨EА$E'E0)EА)EР*E0&E0&E@%E░#E░!EР!EрEpEEpE№D@■D╨E ЎDаEPE0 E E`EEЁE@E└EЁE@EаEpE`EE╨EрE0Eр!Ep"EЁ"E@#E $Ep!EP E╨ E0EpE EрEEЁ EАEАEEp EА!EP!E`!E░ Ep"Eа E` EАE`EPE└EаE0EPE E░!E` EА!E0E░EPE╨ E╨E░ EE@E░E╨E EРEPE░EрE╨E░E░EpE└EАE╨EEЁEАEEРEEpEE0EEаEPEЁE"E░E╨!E EpEЁEpEА EаEEE└E@EEрEpE0EРEаE`E░EРEА"EаEАEАEEE@E`EЁE`!EА EP!E@"E!EЁ E@E E E╨E░EpE@E0EpE@ E░ E└EрEР E╨E0EPEАE╨EPE`EаEР!E`#E!E╨EEРEаEаEАEРEpEPEЁEРE╨E░E`E`EАEрE░ E└EаЁDА╪Dа╓D@╘Dр─DА╛D`╥D яDАёD└ DE#EP)EР*E %E└$E $Eа$E@'E@&E0$EЁEЁEрE E0EаE■DЁE└EРEp Eа E└ E╨EPE0E E`EАEЁEPE░EаE@EEE╨E@E░ Ep EР E EЁEpEE0EРEАE0 EуD└уDPEрE╨!E░#E╨"E!EpE└EE`EEАEАE EаE0E`EЁE E0E└ EP E╨EЁE░ EЁEрEаEаEРE0EаEаEЁEаEE E EЁE╨E0EPEа EE E EАEрEpE`EEАE`E EEрE EpE`E░EE EрE0EP EЁEаE0EРEРE EE0EЁEРE0E╨EEp!EР#E╨E╨E@E╨E╨EрE░EE└EАEРEP!EP$EЁ"E╨E0EpEаEАEpE EEpE@ EPEРE░E@ E!E`E E@ E`EЁEPEР Eа#E@"EА E E E░E`E░EЁE░EEЁ E` EE░E E0E`"EP!E░E E@■DащD@┌Dа┌DА╫D@═D╦D═D└рD@хDчDPE@EP"EА#Eа#E░$E0(E)E╨,Eр)Ep$E!EЁE0EPE0E E`■D ЄDёD ¤D` E@EЁ E└EEPE@EpEpEPEРEЁEE`E╨EPEPEPEE0EАEЁE@EАE░E E╨E EРEE0EpE@#E@'E`&EА"E@"E░E╨EрEPE@EРEаEРE`EрE╨EEаE0E╨E@E░E░E@E░EАE E`EРE└E░EE EРEЁE└EРEpEE░E░EАE0EEEpEEEPEАEрE0!EАEpEрEрEРE╨EАEE░E└EаE EАE`E0EEEрEPEpEEEАE└E└E "E@ E░E E@EрEрE` E EаEE└EE` E "Eа!E0!EЁE`EE└E E`EЁE@E EP!E░"E#E└!E@!E@"EА E`E E@EЁEP"E░$E"EА E@EpE╨E@EрEрEPE$Eа!EаE╨Eа!Eа EА E@"EPEpEАE└EрщD@╘Dа╘Dр█Dр╥Dа╠D`╧D└ъD└їDа▀DрёD EЁEPEр$E░&Ep*E░)E *E@(E`"E"EP!E0EАEPE@ E`EА√D@эDрЇDаEЁEPE`E░EEРEРE0E╨E╨E░E@E╨EpEЁEPE0EрEаE0$E!E E`EРE╨EРE░EаEpEPE└E`$E)EА&EP EpE0E0EEPEPEАEPE EрE`EРEЁE`E└E EpE╨EрE└EE@E░EpEEРE╨E░E░EЁEаEрE└EPEpEрE0E└EPEPEEE░E0E E@E0E╨E@EЁEАEАEpE EPE└E`EpE└Eр E└EаE EрE`E E0E@EPEE@EаEE@ E0#E "EЁEрE░E░E░EАE░EЁE╨E"EР"E╨!E@!EP"EEрE└EЁEРEEE E└#E&E&EЁ$EА!E░"Ep#EEPEpEE╨Eр E0!E0 E└EРE╨EpE E0EрEЁ"EP%E@EаEР E`#EАE`EE E╨E░E└E└ЄD`тD└▐D`╫D@╩Dа┐D ╧D@чD`∙DА▄D└тDрEPE %E@(E╨)EР+E*E0*EЁ)E░(Eр'E└%EР!E EE EРEрЎDаёDE╨E└EаE░EрE EPEЁEАEE0E░EРEE`E@EАE0EАE!E#E└"EА#EА E╨E EЁE0EpEАE!EА E%EР'E0&E0!E└EPEEЁE░E`E`!Eа!EАEаEРEpE░EE@EPEE└EАEЁEАE└E0EрEpE0EрEpEЁE└E0E└E EаEE0EрE@E0EЁEЁE└E0EEРE`EE└EpEE╨EРEрEРEЁEРEаEаE EЁE E0E└E└EРE@E░EPEpEEАEрE`E E╨!Ep EЁEЁEрEаE╨EpE@E╨EЁEЁEЁEE E└"E E@EаE░E E╨EАE░ E&E@&E░$EА$EА"E`"EР"E`E╨EрE░EPEаE╨E0 EP EАE╨E░EPEE╨ E !E`Eр E &E EАE0EPEРE E└E░EРE`¤DрўD ыD@▌D╧Dр├D└╧D рDаыD`█DА╫D@E Eа(EP,EP,E└,E└+E00E╨,E`*E 'E %EPEPEPEE░E@тDаьD╨E@Eр E@ EаEРEрEаEаE E`EРE░EРE░E`EАE└EАE░E !EP!Eа#EА"EА!E!EРEPE╨EPE0!E0$E`%Eа!E└ E╨"E`E└EЁ!EP"Eр!EА#E@EE╨E░E@E@E`E EPEЁE EEpE░E└E@EPE╨EE░EРE E0EЁEE EрE@E└EEЁEаEАE0EрEpE0EРE╨EE0E E`EEPE@E0EрEEЁE0E0EАEPEАEРE E░E0EАE0EPEрEрEрE`EрEPE`E`EE`E`E0E░EEрEPEрEаE`E╨EаE└E` EЁEРEрE░EЁEАEАE@ EЁ#Eа$E@$EР#EР"E0"EА"E@ EEРEрEа E@EаE`!E░ E`E@E└EРE!E└ E░ Ep E&Eр(Ep EрE░E╨E@EаE E`EаE@EрE °D`ьD юDашDАуD▐D`уDАфDр╪DїDАEА#Eр)E+EЁ+E.E└-E@+E ,Ep(Eа"E░EрEEЁ Eа√D┌D ∙DEЁ E E E╨E0EаE░EРE░EрE└EPE░E`EЁEpEPE0E░"E0"E$Ep#EАEpE@ EаE╨Eр!Ep%E`'E░%E@&E░"E╨E !EEРE╨$E (E'E░"EРEPEрE0E`E@E└EАE╨EEАEE0E╨E└EрE@E`E0E╨EpEаE0E EрEАEРEЁE@EpEpE░EPE└E░E@EаE░E`EE0E╨E`"E░EEаEPE@Eр"E░!EЁE░EEEE0EаE░EЁE E`E░E╨E`E@E@EАEрE└E@E E E`EЁEEEPEРEpEРEАE╨E`E└EРEАEаEEаEpEEа"E #EЁ$E0$E"E$Eр#E░"EР!E╨EE╨EАEEPE░EА EА E E E`E╨Eа EЁ EРEа#EР'Eа&EР"E░E└EE EE░E0E╨EА EE░E`№D√D№DьDр▌D`чD щDашD`ўDP EАE░ Eа&Ep*E╨-EА,Ep)E0)EА%E`!E E EАE@E@їDацDEаEEPE@ EEрEрEрE0E0EрEрE E E@EаEЁEE@ EP"E└!EАEЁEРEаE`#EЁ%E╨%EP+E└+E'E&E&Eр$EP EАE0EрE╨%E%E#E╨EEEEаEЁE0E`EРE`EE@EЁE0E░E0EаEаE└EаE╨EE░E E0EЁEрE╨E@E░E EpEE@E0E└EрE0EEEЁEpE E░E E`E !EpE EР E@E E0EEаEPEEрEРE`E╨E E╨E EEрE└E EEА!E`!E└ E@E╨EE╨E@E╨E`E╨EPE╨EРEEEpEEаE╨E╨E╨E EР"E░!EP#E`#E░ E└!E└!E0!Ep!E└EрEPEPE0E╨EРE` E╨!E0#E0!EЁEEЁE0EEЁ"EА%E╨$Ep!E0EpEРE└E@EаE0Eа E EPE@EаEPE EаЎDяDрєD@тDрщD`ЇDАяD└ E@E %EP*E +Eр(EЁ(E0'EР%EР!EЁE E EрEEр■D└E░EЁE╨E0 EРEEАE E╨E░E0EРEАE0E└EEаE░Ep E0 EЁE└E░Eа EР%E&E*Eа(E0,E└(E@%Ep"E#Eа!EаE└EАE░EАEE@E╨EРE`EEEрE@E╨E0E`E E0EE@E`E░E└E░EEРEЁEPE0EРE@E`E└E@EE@EрEE╨EpEаE0EPEE└EЁEрE0EРEАEАE`!E EрE EEE└EEpE`E0EАE`EЁEE E E EpE`E░EEEА E#E !E░E0EАEEPEрE@E╨E EаE└EEаEЁEE0EpEАE`E░EЁE╨E EЁE` E░ E░!E!E "EP"EРEаE░EE`EаE`!EР#EР#Eр!E└EР EАE` E└Ep!E$E@%E`%E` EАEаE╨E"EрEЁEЁEE EEPEPEPE░EрEа·D@їDАуD└щD@їD ЄD0EP#E (Eр*E0*E@'E@'E╨&EР'E%EP#E EАE╨E E@ E░E└EЁ E0EP EаE0E@E░EАE└EаEPEРE░EEр Eр E`$E !EPEРEЁ E░!E $EР%Eр&E(E░$E(E░#Eа!EАE░E"E0!E@"E!EЁEPE E@E░EPE╨EE E╨EрEpE0EEрE└E@EEаEE@E░EEPE@EаE└EEРEEрEЁE0E░EpEpE EpEpEpE`EаE╨E E╨E@E@EАEPEЁEрE└E E@E└EРE└E0EE└E░E0E╨E E0E`E E!E└EЁEрE`EРEЁEАEАEEpEАEаE`E EрEP EРEEаE░EPEE░EpEрEрEА!E EE`EP"Eа"EА"E└"EЁEаE╨EpEРEРEpEpEEАEР!EА E E@E░E@E└E0EА#E Ep"E╨ E╨E└E0E╨EаE0EаEEP E E E└EЁEрEEўD`ёD`рDатD ьD└°D√DА EPEр+EР.E-EР'E`'EP&Eа%E└%E%E╨ E EEаE└E@EPEАEА EpEрE0EPEрE0E`EE0EаE!Eа"E!E !E0 EЁE@EEа!Eа!Ep"EЁ#E└%E0&EЁ$E└&EЁ#E%EРE"E$E@$E%E@&E%E0E░E@ EEАE0EаEрEPE`E╨EPE0E@EРE`E EаE░E`E0EЁE0EРE@E@E╨E EPEРEрE└E░E EАE@EАEаEpE@EpE└E└Eр EР!EА EP E@!EаEАE` EЁEЁEPEE`E░ E@E EАEPEаE0EРE EрEРE░EpEАEEpE└EРE░!EЁEE E└EpE@EРEpEРEEаE`E└EАE Eа E`"EP#EЁ"Eр"EЁE Ep$Eр#E`!E└EЁEЁEЁE E╨EЁE`E0EE@EРEPEАEE`EpEаEE` EEаEАEЁEPEEЁEpE0 E0 EP EЁ E╨ E└E0E└EрE└·D└цDр▐D`╒DуD@ьDАїDрьD└їDАE0%Ep/Eр-E`'E`%EpE`EА!EА!E EЁE EРEE0E@E╨E0EрEPEрEРE░EРEрEE└E0E E EpEаEE0E╨EEр EЁ!E└ E"E░%E`(E0'E╨'E░'E0(Ep"Eа%E╨%Eр"E&EЁ(E0'Ep$EрE░ E E E░E !E0E░EE╨E╨E@E0E@EрEрEРEЁE EPEE░E`E EEЁEЁEрE░EEРE░EEрE░E░E░EPEаE╨EEЁE╨EЁ EpEРE EP EР"E#E!Eа!EаEРEEЁEРE0EАEрE0EpE└EE└EАEЁE░E└EрE░EpEАEр E╨E└EpE`EРE@!EЁE░E`E`EE`E░E`E╨!E`$E%Eа#EР$EЁ!E0E╨Eа"E"E└"E╨!E@E└EАEPEEАEЁE└E└EаEpEpEEЁEАE EрEE└EPE@EРE└EрEрEPEPEЁE╨ Eр E░ E0EpEpE└E E└Eа°DАыD╫D цD`ёD@ЇD└юD░EЁEаE0*E░'E`#E0EАEPE E"EЁE░EАEPE░EрE`E0EЁEPEРE└EаEЁE░EpEEEpE└E0EPE EpE@EPEЁ E`!E$E $Eр%E)E0+EP)E╨$E└!E└!EР$E(EА&E %E╨&E'E╨&E└&E░"EР"E0EpE EPE EpE╨EPE└EpEEЁEPEpE`EPE@EрE`EEpE`EРE╨EPE@EpEаE└E`E@EАEРE╨E└EPE`E`E└EE░ EА!E EEрEP!Eа"E@$E@'EА'EР#EАEРE░EEРE`EаEEЁEрE#E░!E0 EАEPEPEEрEрEEРEрE╨E0E╨EрEЁ!Eа EPE`E╨EРE E╨E0 Ep"Ep#E@"EР E` E0 E0EPEP E0E!E0"Eа EP E`EРE E`E@EаE╨E`E0EрE░EАEрEE0EpE@EаEEPEАEPEEаE└EрE░EEPEpE└EЁE░E@EРE`EE щD@ЁDяDфD@єD`EрE╨EP$E#E`!E░EАєDpEPEА"E`E╨EаE`E└EаEРE E└EаE╨E░E EЁE0E╨E EЁE0E░EАEp"E╨!E0EРEаE╨E`EP"Eр#E`&E╨*Eа,E@-E@'E!E` E`&EP'E░'E╨'EА'Eр#EP#E`#E $EPEЁEаE`E`EE@EEЁE`EPE E0E╨EРE`EЁE`EаE0EАEEEE0E╨EЁE E░EЁE`E`EРEE└EрEАE└EEаEEа E@#EР$E@"EЁEАE E"E0(E0&E@ EАEЁEpEEPE0 EEE`Eр EЁ!E░ E`EРEАEРE░E EE╨EEаEрE@EPE EаEE░E E0EpE╨EЁE EЁE E@EE╨E`E░E░E╨E@EЁEр!E░"Ep EАEа E@!E EАEPE`EpEАEpE0EpEpEаE└E0EАEЁEЁEАEEАEаEEE E E╨E└E░E` E E EаEРE0E0 E░E└ DаєDа∙DЁ EаEPEPEАE`EPEE@ёDЁEpE E0E`E`E└EPE└EаEрEрE@E╨EEАEаEЁE EP EЁEАE E└#E@%EАE0EАE0E@EPE` EP!E $E╨(EЁ)Eр(Eа&E0$EА&E(EА(Ep)E░)EP&Ep!EАEА E@E░E╨E@E╨EE@EEEрEpEРE░EаEE@EЁEPEPE`E└E E░EрEЁEPE`EРE0E`E`EE░E0E`EрEpE░E└EE░E E E "E`#E└#EРEE E@EА!E░E╨E0EаEEаE@E@%E╨"E░EаEP!E└E@EEE└EЁE@E@EPEEEEE@EрEЁEPEEEЁE╨EЁE`EE░EЁEрE╨EE`E E└EPE└E└EЁE0 Eа!E0 E░ Eа"Eр"EР"E0 E`EаEРEАEpE└E░EEЁE╨EPE░EpEЁE╨E└EРE╨!Eр"E└"E`$E"EPE╨EEEpE░EрE└EАE└E╨ E╨ E E EЁEpEРEаEE`E EрE ЄD░EPEаEpEPEаEPEpE E EаEаE@EEPEE╨EАEа#E0$E!E@E!E #E╨!EЁEPEаE@EРE@E@E E"EА(E└(EР(E(E $Ep$E'E*E,E`*Eр$E"EР EР"E`E░EЁEаE`EE░E`EаE@E└EpEE╨EPEЁEE EАE0EEPE╨E0E0E E└EE`E0EE`E`E0EpEE└EEАE`EЁEЁEpE`!E@"E╨#Ep"Ep!EрE└E0E`E░E0EPE╨EPEE`E!EpEЁ Eа#EP"E╨#E EАE░EPEЁE`E╨EpE`EАE@E EE`E░E╨EРE@E`E╨E`EE╨EаEРE@E░E└E└EАEаEРE░E@E@ Ep#E%E#E0$EА#E!E╨EEрEE╨E@EрE░EЁEАEРE0EаE░EаE EPEа%E0&E╨%Ep#E0#EаEРE E@E`E└E╨E░EА#E0#E@E╨EаE@E E` E`E`EPEpE`Ep EЁEА√D E0EpEPE0EРEpE EPEРEрEЁEE`EрE@EРE$E %E$E@"EEАE EЁE0EE╨E░EPEЁE└E░EР#EЁ*E)E0*E*Ep%E#EА$E(E0*E`(Eр$EЁ#E└"E$Eр E0E░EрEАE EаEаEPE@E E░EрEаEрEаEpEРEEРE E0E└E@EЁEАE╨E`E░E`EpEАEpE0EEPE└EАE EE░E░E╨E╨ E@$EА%Eа$EР!E░ E0E░E╨EрE└EаE@E@EE`EPEpE└Eа EЁ#E%E0!EEEАE@E`EАEЁEE EЁE└E$E░EE EEАEаEРEEPEE0E@EАEEЁE░EE E`EP E@ EА"Eр$E░'Eр%E0%E╨!E EАEРEАEаEE EаEPEpEРE@EАE0EpE╨E"EР)EЁ-Eа*EP)E@#EРEEаE╨EPEpEаEрE░E`Eр!E0E╨EE@ EАE EE└E└ Eр#E░E╨E0EE░ EE@E`E@EЁ E"E !EА E░E└EPEEP E╨!E└"E#EР%Ep%E╨"E0 E╨E`E`EpEЁEE E░E`E0E0EАE@"E╨'E╨(Ep)E +E░*E`*Eа(E*Ep(E└'E0&E└!EpE╨ E E@E`EPE`EрE@EpE EЁEE@E E0EEpEрEаEЁE░E└EАEаEPE└EаE░EPEЁE E└EpE╨EРE0EрE0E E0E└EЁE0E░#EР%Eр(E░(E╨%EР!EрEРE╨E`E0EPEрE╨EE└E@E@ EEаE╨EРE╨ E0EPE`E0EРE@EPE╨E░EЁEEАEаEE░E░EАE@EE└E░E@E`E░E╨EРEEЁEPEPEЁE░EрE0"E0"Eр"E`&E╨%Ep$E0"E░EАE@EE E░EрEАEE░EpEPEpEEаEЁ"EP'EЁ.E 2EР2E└+EЁ$Eа!EА EЁEРEEАE░EаEEpEрE $E░EрEp E0E0 E░Eр E└E!EаEPE`E EPEа!EpE EP$Eа&EА'E0%EА$Ep#EРE╨E└E░#E╨"EЁ!EР"E0"Ep!EАE░EE╨EЁEаE╨EАEpEр E╨!Eа!E░"EрEpEр#EР(E`(E░,E`-Eр*E╨)Eа*E`(E&E%E EАEЁEEАEаE EЁE╨EЁEEаE0E░EpEpEРEEрE░E E E░E`E@E0E░EE░EPE0E@E E╨EАEРEРE E└E0EЁEрEEРE└E░(E╨)EЁ*E0(E░#EЁE@EРEрEрEРEа E0EАEАEpE└E░!EЁ!E@#E$E╨ E EPE0E0EаE╨EEЁE╨EPE EEEРEрE EрEАE EАEАEаE0EЁEРE└EЁEАE@E└EEаEаE░EР#E`!E╨EpEаEpE╨EЁEPE@EРEРEPE╨E0EPE░EpEЁE└E0 EА$EЁ$E )E└/E@2E└0E@+E0'E@%E"EE EpE└E░E░EЁE╨E╨&E'E"E░E@EАўD@EРEЁE╨E└EEEЁEа E!E`&E@%E@"EрEЁ$E@)Eа"E└"Ep!EаE@ E"Eа"EЁE EРEАE0EEРEEрE╨EРE└EЁE0E #E0$E╨ E`!EE╨ E╨%E╨#EА&E@,Ep+E`(Eа&E0&E╨#EаE@ E EЁEPEрE0EаEЁEPEРE╨E`EаE EE`EEEаEаE╨E0EЁE╨E╨E░EPE░EE╨E░E`EРE@EPE└EEрEаEрE E└EАEЁEРEE@)E*Eр*E(E`#EEРEpEpEаE0 E"EА!E EЁEРEpEаEА EE#E@!E`EpEpEEpE`EаE@EаE└EpEаEpE@EPEРEPEЁEE└EEpEPEEрE└E0EРEEpEEрEpE└EРE╨Eа EP EАEРE E`EаEEpE░EаE`E@E`EрEЁE`E░E░!E(E0(EЁ(E -E .EP*E╨)E0+E*Eр#E`!Eа E└E`EE !E #E░%E(EP%E0!E╨E└ўD@ЎD`E°D@EрEPEРE░ EРEрE`!Eа"EР&EР!E` Ep&E(EЁ"E╨ E"Ep"E╨EаE EЁEР E`E@EаE0E╨E░E└EрE└E0EаEEР E0 EРE`!E`E0 EА"E$E╨$Ep&E@)E╨(EР&E`"EЁEаE@E@E@E░EаE0EPE`E`E░EE░EPE`E0E0EPEАEPEEpEЁEаE░EE0EЁEрEEpEРEpEЁE E`EpEрEрE└E░EрEЁE EРE@E@E@(E*EР(EА)EP%E!E╨E@E░E0EАEp!E└!EE╨E E E╨EАEРEрEEE EрEE EЁE░EРEEРE`EE`E░EАE░EpEEЁE@E└EрE░EаE`E E@EрE0E╨E└E0EEрE└EрE!E` E@E0E`E`EEЁEрEE╨EаE@E╨EРEРEАEА%EЁ$Eа(EЁ*EР)E(EР'E&EР*E/E0.E0%EP$E└#E0E`EpE`"E@&Eа'E└(EP$E0EpE└¤D└EЁ Eр°D└ E@E░E E Eр EАEPEр!E"Eр!E░"E$E@"E EРEp"EP!E░E0EE0E└E EА!E╨!E╨EаEEАE╨E└E╨EE░E0E└EР!EP"EЁE╨E░EЁEр"Ep'E )EА+E└(E"EаE└EРE`E@E└EАE░EE`E0EрEАEPEE`E└E└E0EЁEрEЁE`EEрEаEаE0E@EЁE╨E└E└E░EРEаEpE E░E╨E E0E@E E@EPE└E@E0*Eа)E )E░(Eа&EР"Eр!E╨!EаEEpEрEРE░EEРEE└E@E░E@EpE░E0E E"Eа EАEEЁEаE0EЁEАEЁE╨E E└E`EpEE`EаE EE╨EЁEАEEЁEpEРEАEE@EE└E@EЁEPEPE0EаEEPE`E└EPE0E└E░EРEPE╨E└ E0#E $E)EА,Ep,E░'EЁ"EЁ$EР(EЁ(E(E`"E└"E╨$E`!EрE EP#EА%Ep!E#Eа!EРEА EаEЁE E░E░ E╨EаE╨E E╨EРE╨E` EРE░E E"E!E Ep EА EАEpEpE0EрEА E╨ Ep!E #E@E EPE0EE└EE`EpE0Ep!E EpEАEpEАEрE Eр!E0$E░#E@#EрEРE╨EEРEрEPE E@E░EРEE└EEАEEPEEEАE└E EрE└EаE└EРEE`E E@EаEрE░E`EEE╨EРE E E╨E0EРE░EРE╨E EЁ EР*E )E`(E(E@(E0%EР%EЁ$E"EE`EЁEEE`EEE╨E E`EEАEpE└E░&Ep'E #EАEРEPE░E╨E EрE`EpE└EаEАE EE░E╨E└EEpEPEАEрEРE╨EEE0E└E EАEpE╨EЁEрEаE└EРE└EАE╨E E└EEPE@E E╨E0"E"Eа"Eа)Eр+E└&E└#EP!E╨$E)E└&E╨#EР#EP"E$E0#EАE░EаEE@E└E└EЁEЁE└ EPEрE╨E└E E╨E0EP!EPE╨"E@%E`"EРEP E#E "EАE`EРE E@EрEEЁE@ E╨E`EЁE EРE@E@E└E░EрEрEЁEрE`E@EАE╨EЁE0EPEРEрEPE #E└'E└%EЁE@E╨EРEE@E0EPEEРEРEEEEРEPE@E EpEРEЁEЁEЁEEEаEЁEрEPE░E╨E╨E0EpEаEрEEрEEАEРEpE░EPEEрE@EЁE Ep,E0+EЁ)E+EP*E(EР'EР%EЁ"E░E0!E╨"E0!EАE░EE0EPEрEЁEЁEЁE0Ep Eр#E╨"Eр$E#E0"EЁEEPE└E0EЁE0E !EЁE░E╨EEPE`EE@E`EаE E`E@!EpEАEрEрE╨EPEаE0EpEЁEE@EрE0EpEPEрEEаEE EаEрE`"E░%E$E░ Eр"EЁ#Eа$E%EP#EP&EЁ(E0&Ep$E╨!E !EА!E EE E@E`EАE0E`E░E`E0 E@ EрEА√D яD└EEE0E!E E░!E░EаE !EP"E╨ EРEЁEрE░EрEE@EE E EpEрEP!E└EРEЁEPEАEЁEEЁE`EаE░EEpEpE`E EАEрEАEЁ!E@'EP%E !EаEpEЁEpE░E@E0E E└E0EEаE0EАEE░EРEрE░E░E0Eа E@ EаEрEpE E░E E`EРEЁEEE0EEРE└EАE└EАEPEPE0EpEАEаEаE└-EЁ+E,EА-Eр*E *E╨*E@'E╨"E`Eр E└"E`!EрE└E░EPEEE0EрE E╨EР&E╨&EЁ Eа!Eа%Eа$E E`E└E EАEEЁ"EP!E└E`EpEЁEE@E@E@EE EЁE╨Ep E EpE E└E@E@EАEрEРEРEpEаEpEАEЁEЁEрE@EEАEрEа#E"EP"E@$E╨"E` EА"E0"Eа%Eа)EР(E╨(E0)E└'E@(Ep#EрE░EАEР!E░!EpE╨E╨EpEPEpEpEрEр E`E└їDаыDАEPE@EЁE░EpEEpE0E└Ep!E░ EpEEЁE@E EАE└EPEР E╨E0E`E EАE`E@EE░E╨E└EАE@EРEЁE░E└E@E@EE`E░EpE !E░#EрE└ EАE`E0E░E╨EPEE`EЁE└E E░EPE╨EpE@E0E░EЁE E0 E╨ Eр EE0E EEEЁE`EАE░EрEРE╨EаEаEАE0EPE0E╨E└EEаE0EрEPE/E@-EА+E`-E,E`+EР*EА)E╨&E#E`!EР EPEPE░E└E╨E Eа!EаEE@#EА%E0#E@"EЁ#E %EP'Eр"E@EEаE░E E`EpEPE░E@E E░!E@"EPEEрE EаE0EPEЁEpE░E0Eр!E└"E`EАEEРE└EаE0EEаEаE0EРEPE0E░EpEА"EР"Eр#Eа$Eр$E $Ep&E(E*E+Ep)E`(E`(E'E`'E@$E` E╨E░E└E` EEE E└E0E@ E0EPEР EА EEАїDаE`E@EE`EE└EРE░E`E#EP!EЁEРE`EEPEEP E !E└"E@!Eр EаEАEEРE╨E└E└E0E0EЁEаE E└EРEEEАEАE@EЁE░"E└$E &E░&E E╨EPEЁEАEАEАE╨EpEE░EEЁE└EЁE@EАEаEEЁEЁEа Eр E`E`EE░EpEАEаEpE@EpEEpE░ E` E╨ E` Eа E└EP E0 EP E Ep EРEP EЁEа.E`-EА-E`,EP+E░-EP,EР*Eр&E└$EА"E0"EаEРEРE╨EаE#EА#E`E Ep$E@"E╨ E#EА'Ep'Ep(EP!E└EАEАEРEЁ!EPEpEPEEpEЁE└!Eа!EEЁEрE0E░E└EРE EА Eа!E@"EPE E EРE@E0EА EР EEEpE`EАEАEАE└E`!EP E@"Ep E@E╨ E E0"E $Eа'Eр(EР'EА&E0%EА&E0%E#E0"E╨!EАE EрE`E╨ EрE╨E ■D0E╨ E` E E╨E E0EАёDРE@E╨EPE EрE`EЁEE"E #E╨#Ep"E E╨E`E╨E`E0 EP!Ep!EаEАE░EаEpE`E0EАEРE`EEE@E`EEE@EpEЁE EРE0E╨EрE@EРE`E░EрE╨E└EрEАEPEРEЁEE└EЁEE`EрEЁE░EрEE` EАE0EАE`EаEЁEEАEЁE░EЁEрEАEАE E0 Ep EЁEpEE└EрE╨E E0 E E└E` EЁ+E ,EP-Eа+E`+E└,E+E )Eа"EА!E0$Ep%EP$E #EРE@EаE╨EЁEE Eа E` E`"E0#EЁ%E╨&E&EР!E░ E E╨E╨EрE╨EаEpEEpEрEрE EЁEАE░EE`EрEpEа!EР#EР#Ep$E "E@ E EPE└E E`!EP EЁEPE░E !EА EpE Eа Eа"E░!Ep"E@ E`EРEP!E !EpEа E░!E0#EЁ"Ep#E@$E0"Ep!Eа!E"E0 E0EPEЁE EPEр¤D∙D░E Eа Eа EE└ E@■DэD└¤DPEpE╨E└EЁEрEР!EР!Ep"E`$EР%E%E0#E0 E░ E`"E0E@E╨E"EЁ EpEEаEАE└E╨EPEE╨EРEрE@E EаEEаEАEE EpE0EАEРE`E E░EРE`E`EаE╨EPE╨E`EpEE0EрE E@EАE└E0E@EР Eр E└ E└EрE`EаEЁE`EРEЁEРEPEрE@EE EPEАE`¤D`ьDрёDр№DpEPEЁEрEpE EРE`*E░*E`,E*EЁ)E`*E )EА&EА"Eа"E`%E`%E0%Eр"E0!E0E`E0E░ E@!E!EEа!E "E0#Eр#E &Eа$EЁ"E#E╨EАEрEEРEРEРE0EаE0EРEpEАE!E└EЁEpEE└E░#Eа(Eа&E $EЁ!EА"Eа!E╨EEрE╨EаEEрEpE "EE0EP E "Ep!EРEА!EPE EPE`EP!E EpEр!E` E└ E@%E&E@$E@#Eр"E@$Ep EЁEEаE E└EрЎD`∙D╨EР EаEpE` Eр E╨E`E╨E░ EРE`EP E!EP$E'E└&EР&E'EА&EА&Ep&Ep&E`$Eр"EEEР E%Ep$E0 E╨EPEРEpE└E░EЁEаE╨E@EPEаEpE0EАEpEАE0EPEEЁE`EPEрE╨E E EАE0EЁE└EАEPE`EрE`E└ EАE@E@E░E@EEА E@ E`E@E└EАEРE E░EEРEPEАEаEPE0 EpEEРE єD@уDАъDа∙DРEаE@E└№DрЇDўD0EА.EЁ,E0,E+EР*E@+E╨(EP&E`$E %EP%E#E !E░ E└ E0E░EEа!E└#EР!E0E0E"E@$Ep$EЁ&Eа&E╨%E$Ep!E@EаEАE╨EрEPEрE└E0EE░E└ EАEЁEаEаE╨E EP"EР&Ep$E@#Ep$E0$EР#EрE`E╨!E╨!EаE` E└E░!E░"EА E@!EP E░ EЁ"E !E@$E` EEаEА!Ep&EР"EЁ!Ep"EЁE@E@&E(EА'E@&E0&Eа$EАEЁEРEАEEрEE└E0E└ EP E E`E╨E0 E░EА EEЁE EP!E@#E'Eр(EP&EА$E&Eа%E &E`(EЁ(EР#Eа E@E Ep!EР$Eр%E $Ep!EPEЁEР"E!E0 E@E`E└EE╨E0EрEEEЁEрEpEЁEpE EpEрE░E@E@EPEаE░E░E└E0EаEАEE╨E`EpEpE░E@E░EEP Eа Ep E░EE░EаEрEpE└EEрEЁE0E└EpEЁE E└·DрэDръDаєD@∙D E E·D`єDрЄD` D0 E,E└,E└+EА,E0,EP,EА(Eа$Eа#E@$E@%E░$EP#E░!E`!EрEРEP Eа E░EаE0E└EРEр$Eа%EР'Eа*E)E %E@"EРE` EPE└E└E`EЁEEРEаE0EEEРEРE@E░EАEp!Eр#E└!E$E@&EА#E└&E0%EА"E0%E░$E╨!EР E░EP!Eа$EP#E@#EА"EА E "E0$Ep#EА!E` E !E@&E@#E`!E` E@E@E E (E0&E╨$E`$E0#EP E EаEpEаE@E@ EаEр E@ E EP EрEАE╨ Eа EА EЁ E`EPE└ EP#E'EА*E╨&E$EЁ$E`%E└%E0(E (E0'E░$E #Ep#E░#E0&EР%Eр%E'Ep$EpE!E@!E└EаEPE└E E`EЁE EАE╨EрEE@EPEЁE└E@EаEЁEрEРEЁEАE`E@EPE0EРEЁEЁEРE0EРEАE0EpEрEрEаE└ Eр EР E0 EАE@EEP E╨ EрEаEE EE EаEРE■D└ЄDъDАщD└ьD@·DpEE`ўD`ЎD D0E@Eр(E@+E░+Eа-E░-EЁ,E░+E)Ep'EЁ'EЁ(EА'EА%E@$Eр"E╨$Eр$Eа$E└#E╨EEE`E !EР%EЁ'E%EЁ&Ep'E╨#E`"E0$E@#E└E@E@E╨EPEРEE└EЁEE@E└EpEаEаE`"EP E EE╨$EP#E░!E (Ep$EА#E%EР%Ep%EP"E E╨E└ Eа"E$E!E└!EЁ E0E"EА#E $E0&E@&EР E`Ep!E@Eр EЁ(E╨*E@#EА!E#EрE0EpEА!E`EE E E EE0 Eа E@E`№D╨EрEАEрE EpE@E░ E└%E *Eр)EP%Eа%E&EР&E)EP)E0(Eр(E░'E@'E└&E░%Ep,EА*E`&E0&EP'Eр"E░!EE`E@EpEрEE╨EE@E@EЁEEE0E░E`EEрE@EРE╨E@E@E░E`EАE E EpEpEаEЁE0E EРEрEPEEаEЁEа E EР E E E` E└ E└ EЁ EЁEpEАEАE0EE╨ E@Eр№DрЎD ЁD@эDАїDpEЁEРE@ Dа¤DE└E@ E└'E└*EА+E-Eа-EЁ-E╨-EР+E╨+E╨+E0+Ep(E░'EP&E`'EР*Ep)Eр(E@'EА#E !E` EE`"EP$EА%Ep&E@&Eа&EЁ$Eр#E└$Eр#Ep E@E E`E╨E@ EEЁEE╨EаEE└EР E$Eр%E└EрEрE└$EА"EE0 EАE0 EаE└#Eа&EP'E░#Eр!E0 Eа!E #E E"E@E E0 E@Eр E░$Ep"E░$Eа&Eа%Ep$E'E░+E*EЁ&Eр&E &EА"E└"E #EА!E@EРEE░ E╨ EP E░ Ep EАEрE EPEpE0EАEаE E "E'E@*E`)E@&EР%Ep$E╨&Eа+E)E└(E└'E╨&EА'E░%Eа%EP(EР&E╨"EP#E0&E@$E#EEрEE0EаE└EАE░EРEE@EpEEE EрEаE E@EАEАEpEE`EРEEE╨E EPEРE@EE`EE@EЁEpE░E`EЁ EА E E` EЁ E└ E EpE░E0E@EрE EP E╨ EpEА■D№D` D@ўDрўD╨E E E╨EEpEpE╨E@ E 'E0)EР*E,E╨+E-E .E@+E-E@-Eр+EЁ)Eр)E░(EР*Ep+E└*E╨+E`)E└%EЁ"E╨ E░EР!E$EА%E@(E╨&E└&Eр%Eа%E╨%E@%EР!E╨EаEРEE0'E@#E0EpEpE0E└E#EР'E░%E`"EАEР E E!E└ E╨EE`EрEЁ E )E░*Eа'E░&E└!EЁ E`#Eр E!E0#EE EЁ EАE`E░'E░&E`&E└&E░&EР&E`&EP)E'E$EЁ$Eа!Eр E"Ep E`E E└EАEРEP E└ EР Eр EЁEp E0EАEАE░EE@E╨ E└%Eр(E░+E)E0(EР'E░'EА)E +E*EЁ)Eр(E░(E 'EА$E░#E└"E$E0"Ep!E"EР EЁE╨E└E░EАEаE░EPEE`E EрEАEE@EEEРEАEаEЁEрEPEЁEЁEEEE░EРE0EpE0E╨ EE EРEpE@EР EА Eр E` E@ E` E└ E0E@E EРE└E╨E░EPEА Eа EPE└єD└°Dа¤D №DЁEpE` Eр EPEрE╨EРEа E@ E&Eа(E@)E)E +Ep+Eа+Eа*E@,EЁ-E -E)EP(EР(E *EP)Eр*EА+Eа)EР&E %EЁ%EЁ#EЁ#Eа$EА%E░&E`%E└%Eа&Eа'E&E└$E` EЁE└EЁE !EP(E└!EEEа%E░'Eр(E&EP&E@%E"EP!EЁ!E0!Ep"E "E└EрE Eр"Ep$E0'E└+E└)E@)Eа$Ep$E $EаEЁE░EE"E!EP EА(E +Eа'EЁ%E@$E0$E $EP%E@%EА$E#E└!EEPEpEАE`EPEРEАE░ E└ EpEE@EE└EаE░E└EАE╨E╨E0$EР(E└*E *Eа)E(Ep'Eа'EP*Ep,E+EА'EР$E'E└%Eр"EP!E"E╨ EР!E╨E@EРEEpE EАE EрEPE└E0EРEрEpEPEEE`E░EЁE@E╨EE EpEPEЁEEEрEPEЁE└EАE@ E╨ E@ E╨ E E0Eр E╨ E└ EР E` E E░ E E EPE0E0EАE░E@ E E╨ E0EаЎD`ьDаЇDЄD└■DаE` EP EА E╨E╨E░EЁE╨EEP&E0(E@&E'EP)E`)Eа*EP+E,E`,EЁ*E@(E'E(Eр(E░%E░%EР(EА'E`'E &Ep%E&E╨#EА"Eа#Ep%Ep%EА%EА$E0'E░'E $E EРEрE└EаE$EP"EА E%EА(Eр(EЁ(E╨$EА#E$E0"E "E╨$E"Ep E@!E╨E !EЁ E $EЁ#E#Eр*EP-EР*E)EА$E└EPE EаE0E░"E@$Eа'EА)E@&Eр#E╨#E "EЁ"EР!E╨ EА!EА"E└$E└$E #Eр!E!E EpEPEEPEР EР EаEаEPEАEАE╨E E░E $E░!E░EА#E└'E└(EА&EР'E@&E`%E@'Ep*E0+Eр(E@"EР E#E@ EE0 EP!E0EаEрE░E0E0EЁEАE E└E╨EАEE0EEE`EpEpEаEрEАEpE`E@EаE`E0E╨EEEpEЁEpEPEрEРE0 Eа EА Ep E EЁE E@ Eа E@ Eр E@ E EP E` EрE0E└E`EРE└ EР E E`EрЄD@щDЁD`ЁD└·D░Eр E░ EА EE@E EАE0EPE8d╚d╚  `} HDF5 JPEG-LS filterd╚  HKd╚TREE                А8ИWd╚N { X } n ; 5 ╩ ■ ▄ п ы  ╪ ║ о к Ь А q P 7 3 (     V К r Е S :    M H ^ :  # (     э─д╙   р  ыИЗДЮ╞┼м/и╠∙╩Эо-K{Э├╦╙╩▄хщрс╓ью   ц╚єу╚ч╠pЧЮУ▌Є∙√Ї  √юяц┘▐╓ $ ) ,  эДН╜й│╪єлxЗыB╨┌ЭАpдjСБ1г╩║╗┐ЮJМ┼─╛ноЪ│ЯвmyЪЬqRшSsR(AЄeЬ|ШУУТsТ╩}ФИв▓l Х R I \ / ( ┤ ■ ╔ ╔ ╜ ╨ Ї ╒ ╨ Я s Z W < ! , &   d y Б { M @   Y Z 8  ц ¤╟╝╓∙╡H│х$ ' 8 ? - °вll╖Дй╥ў■П=$1т╕чmп╚▀ёц╓шє√Ўьчш°√ъ╚┬Ёёю№╪TДс▄хя¤∙¤ ўЬ╘ой╘ш  ! , &  с  тt║яє┴пx▓╜ФЦZТ┐║├ЖТ╗┤┐ж`жВc░dm│ЗdU`d^J~б╗YC┤ЭНЪ▒УNq║∙юЭ%█C 4 4 - 7 9 2 y С г ╖ М Ю ┤ к в q P P Q E E /  #    K m a b F 2 = *  3 6  ш█└y@?vБ=x╔№2 C M ; $ ў╣К╢╪╤ш % ╙╚ф╚ЮыЯ─Ыю7<Apвлся╪╦°∙їЁЁы▀яЎ▄щЁьэ∙·уъ°ё▓е·  ьЭ╞О╣ё· уц     ї ¤╪╩юї¤Ўъ╠╢┤▓░╧└─┬╟╦Эsб╙ТЖиnЦ│ЩжЦiПП 'Ю╕─┐А-жнxT)Ш╕Я╚╔ТХдл╩№тЩ$94 E 5 ' L [ A : A u s K G n X U X W d Q : Г Й L 0 d A  B J 5 / 9 4 * (    8 ¤╘╡m(=1 %CО╤ 9 :  Ё  гжу   1  їю╧Ефс▒▌(JMj╢╥яє╘├¤√Єэыц┌▄р▄чьт▐Є╬uЯ▄·▄╠Ї  № °юЇЄЁЎ╨╪ ї°ч╨ь═я  х╨╞р·ў ю┐Тзе┴╟█┘┬╢╗С═╫╝╘░ЫзГкvи░VGPАh_в╟─и}GйЙqеxC╣╤╒иСНХ┤▌ё╞а(6M2 A A . O w Z . < p x s O    = а К _ a Ф П 8 c Q : A & 4 ) ) *     ю╨ЗЖЁ'$;PzЦ╓  % /   рyТ█  ў  №ъ▐Щ/¤ыё+?qо┴╒▐эю· ўъф█▓зхчфшуэто┬чЇўєфЄ√ Ўё║  тцЇыэ№∙┌ио╡░sдр┌█tX╞ы  ё░mИб░╞Тб╧о┤ўт┌▀╟kf{ЮqЩz╩5Р.╓└пЪХИФРв┤Ю}╞┘╧ЭНЩЬ╗╚▀╖o└Ш3 9 B C : m e - ' W _ x 0  % їёC А u W C И и Ч И e ] e P 9 8 ; -   ■√ю╩Хb ╣┐ЇqПЬ─т√  + ' )    ч▐╘ф■  < 7  ъ╛ЖD6'5ANsd_╕р° √  ъ█юр└▒сф╙╢╡█ээ▀Ёяфя№°∙т┼пЙ ■ цn┼Ўф┬ЬЭ GВi╥├г╫∙ ∙╥┴й|╢╨║╡╤▀э °т┴╫╒ЖD~╨оvЗЙ?Хe·9РФдо╝зnБm_Л║╠╗WПЭЮНLЕв┼Ш┤╙9 G _ S + D 8   n `  №чс k Ы б O R ▒ ┴ Ъ Ц | d t ^ 9 ! ▄ш╕Эв╠е.р║┼ЎJY|Ю╚╟┌   " % & 4    ъ┼╘ -  % ! ■у║ИU3apT;t`GР╬у■∙  ьС╓ъьычу╥┘хцЛЯт╞┘рсЄўї№Ьа╓╥фь  % │йС╢пu"qПkПЙ│ №фЁ  ╡н╩▀с┌╟БЪу■ є╪╟╒║hз╫═Ow╗├пРLA=деWsslЙtkм═А╖▓ycА*aЧ▓i@л╟╔Ф; ; a h 3 F > < Р R ( ? - (  U Y | p ; ] ╜ У m г ~ Y l l E Ў╚РD/Da-╪╪Rбп▓╥─▐    2 * + 0 9 )   Ї╨Ё     єх▐╞УВбоЦtnБЧ╝╛ч    ╧Вц│┬Р╛╡$Q╖э┘▌╧╣╬чўўЎ▐ф╞╦чЩСю ю,  Y№фfW1С╝▒Ы * ЬЫсрю ( ┬г╠р╠u{П│ъїЁч▐т╚┬╚╔╬╝xп═▒йЛh║╜┬Б\^,vm\BИ`яZBuд╖оД3И╓╩J\ C c v 3 M { q Л К 7 ) R N ~ e С k d P N f С { k Б З j n ` < ВzJ&√ыуз└,bqся  °¤  7 E 3 F N I G 7   яЄ ъєюїёя█╗║▓з}54д█╔F█) ( * ,  є▄╖ovё.ъu┘╥ш▀╓Ўъхє·  чЇ ў╖шї▀┌&  кЙыD▐щўёк¤k @ ╞╫ъшэь▐ЗpМ╨╔Б╢╥рьу▐▐╘╒╤╬╩╒╙╞╒┘└╔╦╩╖╒ШаtыbL┐#Дcхт0ї╝Qг&1a~ап╗УВ╗▓9l I : W 4 R o : a `  ї, t  \ Щ б С В B 6 i Ц ж v J = 4 ? A ─jўш╫ОБo╚.Ий# ' $ / '  % 3 Q O F G > ; 9 ' $    $  ▄ №ї ·ъ▄╬╪ч░Neёчя█ 5 2 : 4  х╤┼A<xЭшЇШ╬▒{╣э╤Ї    ўф      ¤Ф█rrДг√ ∙ 3 * ўьЁєє}╠¤╬╧┴╖▌▄▐ц▌█▀╒╛╬╢╕╓╕╨щч╔┐╟╫р╪Ьйа+УгВNC¤B├*╚?Ш╢╗MЖЭ┤╣╕▌╚Аn Q 7 < g a ^ : m b 0 / p Й k Z О Ы Щ d % ; d Л Ж Ч \ 3 1 √о:╡╢╩╨йЪё3О─   2     ; K R 9 / D ; ; 6 - - ' % ' 1 # ь·  ■ь╪р ╬ c▀█  . 7 3 D D ц(Е вУЦЇ6l№▌  Ёш╓ЗT═   ▐╢  $ ) , 5  ]з╞"│╘° @ w ; їя°° лs  ш╤▌╫шу▌▄╘╫▄═╣╟╖└╒┴╪ч█▒гТ╦█╥╗╧┤к┐л┬ЗДC┬гШ п+gOўд╖`xЦЩ╕█ЇЁj ^ m E П п з Б ▓ ^ J Ш Ч W В Д Ч В t = 8 ` f В в Ч j = $ █Ч%Е:аЎы╩х!@`У╦   ! & 6 Q J A 7 7 C ? 1 + * / $  7 ) й░   ў╬╬┘╟ьаг∙ "   , 5 [ E Э│К_ь╜|╩ЩЯ╨°э   ! ╧up▌) -      $ 0 = J y  Uhыяў·∙ . ∙   °жx °ц▐цч╒╓╘╓╧╥╩вв▒╦╦╛В╕ы┌╕еЧ╘╬Ц?░д╡╟╟╗Т╣]?ЦpUкЫ дёцўV|uОнфЎq Z t П ж ┼ П ▓ ─ П a Х } r k a s b ; % 7 { Г е ╦ Ы } T #  ш╗О.╔ ;NсЖ╛╓╜█Z┴Є  # J Y Q = 2 6 - .   + #    ║╘  ╥Ж╢яы Ї╦   ·< j N ∙ 1 * 1   ┌а╬║╨ 0 + %  " 4 J = $   ює " $  b Ё Н ·ъЎ°    .    № █╛▀·ыя╒╓у╤р▀╓╠╠Тmп├╤аиЕ═юёфРx┼ЮМЪyi▒ФУ┘╚║rU°▄О\D$█VAyъ4iI,{╨К d Й Ч ╕ ╤ Ы в ╛ П д ╜ е Б } Е { V K @ q д й Ц ╩ ┬ С @ . $  ╔░╕pz╒╧G╩oП┴Я∙Вш     5 ^ X L C ( ' ! їЎ !    / √ьШЭ█BR(Жы■╨ шю S e ` f U @ 9  ў   ╛я   / = % ╒ ) A 6 : /     ╟┼ ' % C : ; !    % 2 $  їыЦь6 &    щфчь╫┴╫╘└П┐─╬╪│║╓чюх╫╠ЧЬЬп─ЩЫ▒╝╒ыгЮЖJ1`Y╖b╤╚RH;рЦ╩КI╜ИI U ~ З У м ▓ д ж v к Ч s Ш л ┤ ╨ З ` j ╟ ▐ ╗ У |  G №э▐йtGMХ R 5 ─nEE7 :Ъь    2 D 8 F ; 3  ∙щ  &  ) їч  й╧┌╘юN}╜  ╣╟╓ H X Z W W a O C    2 H *  % )  бч      ў ╤┘4 -  ь6 s . · Єё2 2 !   ╓╪* V .    ЁэЁЎ╞з┴▌║Д╩╥╤╩Ев▀тш▄╓╛rо╓╬АЦ╛╝╒┌┌ЦБVюч[oPdUб╠ImЬєо┘╣5< M м ╡ Ц К p | Ч Х Н Т Ц ╜ ┴ ╨ ю ╨ Я ж ╥ ┌ о П ~ `  эц░qык,▒" i h  П├╙sMЗ╙Ё   °< * 5 9 = # ю + (  3 *  №B 2   №▓ _ M =  л√О } ~ a 3 8 N O !     ( H E  & . *  Їх▀цхё█╧ш  @ # °╞ :  ▌╩Ё∙·  тЄ¤фЇ/ 2   )  ёю є▌╤╦▌╟л╙╦Ф+ж╓╘сч╔╖пШ╡╠╣uи╣┬ф╘Ф H┬$&тKЙLєЎВEk· Bd o М З з Й ~ В С ╢ о Э е ф ╩ ╟ т ї ╛ ▌   ┘ ╦ Ф W    Эн╒2WщR ▒ Ы  °┌ПА╜ш     ; 1 (    4 X    3 9 1 3 Y  - w ч! Ї╓╕ л┘ `V9 И ( c ╝ y ? 6 7 !    · 5     ўу╒╔╛╡лдДL]Я╒¤ Ё─э■ ї└╫є·№  √·  "     ■∙ ▐│╩╓╜Г╢▐╒г]╣┼┘чц╙├╚╞╤╫╨╩─┬╤▌пykВDO> ■AБГ[2hB(╤╧Zzа╠ е Ч p О c t { k Я ┼ ├ Ь е ф Ї ├ ╬ б ╗ ° я ж  R T 2 R чz9LMGж Д ╬ │ P  ┘н╝▀ў  "  ' k t .  ; `    + B S U 9 +  ° R   &  Ї МЛлm-▀\ / Z ▄ р ч | > #  ■∙ #    √∙у╥оШКГj+т╓╧6Э▐у╤з┤╦тшууЇ  Ў·      Ї∙ √є∙ё█║├а▒в╤▐К░▌┌▐ыхфщчэ  ■ц╬╙╘╔У}qЪ|S"`i?nЦТОЙ{ZяЦ╕Я╟ ч Ю ░ Р > A E 4 В ╔ ╣ └ б └ · Ю б М  Х b , ' l Г < , ╦ж╞█ЦЧ2 } Ь Ф С | ` 1   Ў  ' #  $ c h      . ! % R x r И ~ _ 0    ; W Н M Б  ∙tн c`┬ 2 У ┬ ы ? э e   Ёё    №ы╘┐ЧhTF1№аNHН┬-Л┤ЩЖzХ▓╡щЄ╥э■∙╨у єё¤ █╧Ў№ №ьЎфо┐╓█жТш▐~╜тэєшфцшщє  ўт┘▌╬мFЕииЧШ2L8x?ИЕй┤йt∙7Ь░О╠ш ╚ М А l R Q ^ ; Q Л ▒ ° Х e e c Щ л t _ L - х] И m N  < N , ▒╙f И и И %   * < O % + F f K I , J P   7 !   3 ╗ щ ▐ ▄ ╞ К h = * . [ { ╝ а │ ║ d ¤╦51ь D Ю П ╘  Ї м E  ╙▀  °ч▄╚пo5 ·унЗD$m┴∙L^a~Ылп┤ўъ°∙їЎїЇ°∙Ў ╫╘°   ¤їЁ▌═┌═╤┤зыЁюъэ   єЁ▐┌рцъ╞╬╘╩╨┼├╫╙╘╞Е-lЎUPKazй╠╣kVё1d<╞┬ | i Q K E a x d P А ╕ ▄ К А M Q z Б c L S ╙h! Ы ▓ з Ц В Д w 4 > А Ч ╞ i ¤■ ь ! ( ; C Y B I : < 9  ∙·    ; я Є  ╟ е я х t  ¤4 n ╡ ь ╣ ]  *` Rя B Ы ▌ ▌ ц M  ╒ <   ╕╨чу▌╬└╕u╒▓░ЫНШк┤ц,KeЖЛХм╛╞уўя▄їЎЇЇюшт╟ш ■єЇ∙  ¤∙∙╬▄с█он┐═ЄьээЄ   ·я╔╣╦╫╧╣═╟Ы╙▀р┐╥╚┐hA|IЪ│├Ц║у▄з0A1OАи Ъ x i e < 8 S Д z Т в о ╫ ║ Ш d n  ~ B <  Xц└Е │ Н x В Я б Ь [ R Г ┤ e Ї їф∙  ф╓ю    №ў°  `  √ │ Н ╬ B > ╚ _ k p e н р О  █F4kЎ s ╔ ╞ ╟ ╩ 8 / ∙ N * ╚а┼иР~СН:єйC[о╤Ў .PwЫ╗╔┐┼╔╔╤ушэьў√я┤л▌ж┘ёч╫ц   №Ёє╓фяь╢░╙сёя√ЎЁ %  ц─╠╓╥╟╪╬й▐шус╜пЛМЧоРоф╧йе╧ту╝╕┐ЦSТ√ №№ ╘ п x 1 - 0 3 ] Х ┤ ┤ ╗  P h Ц └ И ё╠╫>C О ║ Ж | Д ╛ ╪ н 5 ц [  ├т ць  ї╘╦р№   ¤Ї·   B З ╚ Ю и ▄ B _ ё х ∙ ╙ ╢ ╢ j 5   ╨э- g : J ╤ ё ╫ ъ ▓ █ @ ┘ > 2 Й ∙а╟Ь:B^k4№║Ie─<WnВЦи▓┐╞═╬╩╜╞╫▌хю ·ьх╣╛█С█ё№    █у╒╓Єў╤ЖюЄє■ў°  4  ф┼╙▄╨╫╫╩█щярЧз╧У]Р{С╠UW4AЭ╔▓[╝т╦К└ь ▐/  ╗ О d L B 9 9 ^ y u k 5 $ z z Д w  ╬В(НK И ┴ ╕ Ц ─ р э ш Т ·лаТs╔ь└¤Q ?  ¤Єў   №ЎЄэЎ  / ~ o Й ┤ є 5 # ц   ╛ ╫ ▄ юY Q 8 X K T 7 B ╗ я ╞ ъ ╠ м ┘ ╥ ^ 7 x  ░з╝ЫЕnrK,Є╛╦Ё&JБЬ┐Ўэ┐┴╘Єєъ├щх▌у   √э╫ыяЪЮц    ▀ф╕╣ё  √ющ ¤є    ■Ё┘╟╤▄═╔╣╢▐цьщ└р ▄│╚░е╜9P{о^g│Щ╩хеKМъ ┼$ ) ─  v w А k = f w b С m h O ? n $ ъ┘xM╥q ж є ╦ А ╔  ▄ ╘ │ h ╤И┤БкD F ? u a ; %     ¤ЎёЎ   1 5 ~ ├ ж е щ ° ╖ м м г Л ж Ы  S j E ^ Ю p 8 8 * И ┌ Н ─ ц Ц C t A ыE ё~АыыаТ║йa ╟╒·'Wт)  ьш█Є Ё▓тух┬ё  ■· * к╕ў  ╤Щ┬∙   ЎьЎ ¤    ц┘╬╙╧╫╨╩╟█ц╒╙▄ь     я╨╓ц╙╨╔~Т╚╒┘▐Л_w┌є╛ ю й ~ n e b \ M М ╢ Р У ┴ ё д Y L  ╫лE_/ Ч ╔  ╦ к ╘ ъ ъ ═ ~  █╬╔╣Q з z q К j ? 8 2 *      L f U Ъ х ░ | L ) N А 3 / ? o и h У ^  B¤( $  ┘ ¤ Щ ┌ ь ▒ R  х╧└54}╤у╘╤╬╢ZэЕХ┤═▓fм^╬╠Юз║╤тЄ яь  √  -  ╔Ї¤     ├┴щ▀ ╔├ц·№    ф╦╓сср▄╤┼╟╓╥╬╨у   ▀Єьч█лVVqНз╒фщ┘╝Иo╔╪└╧ ┼ а М v [ D X k п  ▐ ╔ ┤ С c a 3 ╚ЦBИR l п ╝ м ж ▓ ╚ ° ю ▀ Х Q   ь7 С u F  \ F O 8 0     &  J я ° ╢ ╪ х Ц G  Ў' o ' # L m y K 6 √ц№╛U = d ╣ е ` и ╣ н Б  ╟ШS`ц █УB╙sЁ! ▄╝E╨/ZAeЭг▓ъ■їЇ =  ящ▀ї·  ╥ў№єъ    √∙Ё√  №хЁєў      ┬ЙхєўхфаК╖╥╙╓╒▄ў √чЄ▀╓╙╞ЧА╚╒╦╤т┘Л/bМ╗Ч}е е Г Z P N M L c ж э ∙ ╪ З Z [ > ' ▀ж{!Ю , Т Р ╡ а З ╜ ╬ ╟ ┬ в g - ) ) & * \ S . = F , 1 .   ■ !   М ! 5  я ╛ Ф b F P ^ m ^ a 9 я ▒Б┤ r Е Ж z C x Й u / мCQT:KЧ % ╨Жv|~RА╖B∙=HPCsжЯ╛╓╤ё∙   ё┘уь )  ё▐┌╫▌  ┬╟ё▄°    ў╒ё  # !   ■╙zЬЎ сЪеРбр═█фЄ¤■ўэ╫Фr╟оЫ█▀▄╓┘╙К^м└┐КuЧ П h a Z u q v л ╘ ╕ ┬ ╛ а k " ыу┐}*ЇБ┬ё@ V Щ Ъ Ъ ╗ ═ ├ ~ A * 5 "   A 5   6  № ▐ё▀ф   P ▓  ╖ М С ~ W U н ║ o ^ *  3  С╝∙&█▓N Б N  ┐7 d ЇН№m~JOЦ√·╧╟Чc@|Цuf*у4ГО~^б┤┤╞┴╚╙ї     -  єп╔▓╛╢╬ щ┌╦   ∙  їр¤  ( 8 '  э│жи   ё╕nЩъшфё√∙їюЁ╚вУ╜р█╨▐уя▀╨╤╖░ЯБЩДг Й k a Г н ╣ Э ╢ ┴ п ╢ ╔ ╓ ╡ А 1 ┬ln┬╒ 2 Z Ж ╕ ┼ я ╣ ` K H b ( √∙ ¤▌│═ c G їа║Яч    + Д є ╨ Ю Ф г   L И И } y (   ▒▒kюky;ф8  Р Ф╙ГH■Я╘дuД╕ЄЁ╙▌╨┘ыъ╘Ї╫╕│┴╢ЮзЩ╜тЎу┼╥цч°    $ < D  ▀Н╢Н╢п╬ ¤  ё °   & J ^ R 3 щ∙  ь №ср¤∙юъЇЎЄє№ё│═╧┴╧┼╖╦ъїс╬╥аrЖбзq╡ в Е p ╖ ╞ ┌ л { y x б п ъ ▀ ╢ a ╞Н; l╠█ l { О ▒ ┴ ║ x 8 j m c ( ▐╦йЛ~Ч▀= А k 4 ю╜╣я " P L ` ш Z ┌ ╓ ╟ ═ ( ' v ┬ ╒ ▒ о C т─Cч+█Qвч╙kЗUЗ─LEЮ ╛╝╗р╔ї╟фїц¤№+ $  їь▀┤ж╘х·) .  ёсты   # + N P ' уY└▌°єў№           ) > C S =  " # ь▀▀  Ў  ¤уцэЎ∙°■█╞╝═█╖lwо╘щ▄┌╬╨╫нКШУдп ╤ ╚ Ч ╚ я х ┬ x h } Л А ╪ ═ Н 1 Ё┼F>б F Й ┼ ╨ ╓ ╤ ╠ Ч f d R ]  ▄└Ьбщ 0 ^ Z T a 4 ╧°  I Э ╧ ╣  2 э є Ё ╡ z a з э ┘ ╜ к 6 цР[Dw)G ╩хтЭЖ'рbх╚J╚ш, X U я  {3%А1ю ф¤   ∙фс ях L S  юыЄў     їтх▀▌ўЄ╙ш            # - & 7 0 ▀чъЎ ■■  ЎфыЄ  ·Є╨╟▒╘ф─е┴█▐╓╟└╟╫╓─Ш}ЛУж ╛ н ╡ ┼ р є Ї П н Ч | z ° ╚ П В n QїK│W ╙ o Б ╞   ═ н а s _ k T 5 ' є╚ёM 7 # - 2 % ■ + + * H _ Ю └ ╤ н и ┘ ╛ ╒ Р Л з ┘ ╚ ╡ Ц A   я═К$Fв╖ф |ь▐G╙Ш]Ки2 S } c 3 ╥═╣·$ШJУЎ * +       0 9 т O q ,  ∙  Їъ■ % ·╡ръюїЄэс■          4 & 0 ; Ў╕ЇЇ  °  їъя  ■щ▐°┼k╨▐▄хщт╪┐┴н═┌╩╝Хs]}│ г б ╟ ╛ °   в Я Р _ m  " м ╖ с X ╞t╟▀ г └ ╧ ▐     ╢ ~ d m C 7  < D 0 A A B f ╜╜ C O ; f n О ╛ б l X  _ Ш Ж l г · й К Л M ^ u ( ·у╟й╙╦╦╡Vй>w= К O G 3 U m G  щ О░ў3Xд▐! *   ·    ·  ! D x N ( . 4 4 √° - ∙┤░╣к╤┘яЁ            D d J $ ; 1  ∙¤ ■ў   ·э■  ·Ь╩√ ёЁштяч╥─Цб╛╨╨╖╗na\г ┴ │ р   ° ° к s к О r Ы ┘ ф Ю Ш , вAxмл^ ╗ ї ь ╒ ╒  + ═ z O ; . K 0 # > : % G ` ? к╧  6 C + U h b W W Z A t Ч щ К U Й Э Е , I N i Ъ C  ▌·═°єє▐ЧS╞` Д ┤ в i ) є №∙ў■╝уP)фR"Ю╙№    Ї┐╣╠  $ C [ I X Z Z S 3  я ▐ФЗ╨лыЯщыс ї·   &    ў■# " 8 V 7  8 > -    ■   ў  "  Ё╦ё   юч┘шт═г╡┬╞╧╔┐║|йП;О л т ы Є ▐ ┴ ╟ е y ┤ ╢ А a V М x l  вJ4lQыu Й Я з ┴ ╧ Є ╛ p G 0 1 I ^ E F 1  W o  ═ % B R X 2 J H I 5 = L K Ы ь  ╘ Й h Z a 5 X 8 B N R Є1 6 ¤ P & ░┤Є■═i м Б - ╦╫▒═╪! ! ХюеЯИ╣1p╒   ╩zЖ A  #  * > = 2   ╘Ў(  ╠╠└К╠ю√ї Ў       √Ї   % + 3 - - &  Ї√       !      Їщух▐Я░▐╥╧╠╙▒rМh|Ж Э ╜ ╬ ╖ й ╦ с ═ ╟ ┤ ╝ г Й g x Л Ф g ёб<└кX% K _ u ▒ ╢ е Ь Ж Y 6 5 K z a C  єO \ B > 5 9 F [ g 6 O = 9 J Y P c и є  у м  п i b > J h h 4 [ о Д s h R  АФ8╘ ╔r / ═╡╕зДл╜█ 7 шШЕЧнйЯ█■ · & $ №Е╤╓>  ■■ч╨╞═┘╪╝д▐, H  укСуї·       ■■ щш╕¤+ - 5 ; +  ·ъ             Ёш▄хр▄▌═Я╛╪┌│ЙСfVЗ ╡ ╖ ┼ ┼ ╓ т · ч Ї ╦ Э p x О ╧ ╔ ╝ Ы  д-bo╒? l m Ю ┌ ╝ б Л Т { 8 k Х Е < &  ^ i ] [ @ & . E 8    ) J b H W И ┐ ∙ э ф ▓ ╫ U ╟ n м в А y s ╜ У Я ╣ X 0  в ъ/ЯД:$╧ФЙ╜ V ` # ¤  чэ 2 H 0 H ╪jт°ф╧Е@$IuЦЗ┴ АлцьПrї№    . #  "   ├оД h L J J .                   "  ё▄╓┘с╪╤╙╔└┼╤╤├нЪИж ┬ ╜ л ╪ ў  т ╔ у   ╣ Ч к ж п ┤ S # уQ╣Э ░ a М ╫   ─ а й ╛ Ц С  w l [ - u Ц Д Й Q 9 J # ьЁ   < ^ М Р ▒ т ╕ с э ч ├ &  Я ╓ │ Ч ─ s ┤ о │ Я S I "  ╢4 yОРы╚╢╠4;bVп·? T 2 1 C \ n   n Б P R = " !  ╙═╘╝ ▒┤▄хс+AIЛ═║┬ъ╟J^═ъ     $ = 9   ╙╛чЁ . B * 1 > "  №√       ∙ўў № Ўф╦╥▌╫╨з╣║┼├│╕вЯЙIА┴ Ю Я о ┼ ф √ ц ┌ ╬ ц Є ╤ ─ Ё ╞ Е p U e # ╜═"╫D Э ╤  , ї ╥ ╙ ╘ м м y _ r l h * = | Ш Т Y w 4  ¤■  % j ▐ ▌ ╧ │ ╨  ° ю · ╥ у ┌ и i ╜ ь v Б Ф м m B  ╒╙╩p└н┐дgc┐Xf∙  ? , , З ─ { h Г a S c B $  хвmLя$єHu┐┬╧╓н┬╝┼kMКйпї  H P + , - ) ж╦х╦╕ь     ї√            ■°ёЁ∙·°ў▀╔з├╒└┬└╔ОЯ╕ЭmpuryI┐ о ╡ ╔ й ╥ ▄ ╗ Ц л о ╢ ╘  4  ╞ У С Д = єl ╤W ╠ я ь ▄ ╞ █ ё ╝ h ~ p ^ H   ц█9 q P P D ) 9  ¤ ) л - Ў в ╡ ┘ х ∙ Ї  Ё ═ в х  ╘ К г ` ( ю┤j0x└Я┤,Ї@a5В╥Т╠щ.╬   + A u Б } Q j _ T b B  ьд@╬}яMk?0H{\k░688И╖аШбк╟∙ 3 w x 6 * ∙¤┴┌▐ы╣э    ∙   їЎ■       эЄєЁў ўф└РЖ╞╞╩╘р╙Еа╕еЩеДqbm▄ │ ╛ р ╩ ┘ ▐ ╠ Ч ┌ ь ┘ ў Q > т ъ  ╖ W  ╠TA╫` ъ ё ╘ т ╤ └ я ╖ s Ь Х Н s ?     й Д Н A  2 R    ` я A я К  5 ╩ Б y ─ Є ░ д ї 2 х Ц Ч К @  ╒Ш0"ГМхнnВГ0MxУ1m=iс) ·ф3 G ] R Z 5 + 3 I ?  у╞Ыv√╡|gЪфXЁНаКе0МСТЦЭр $ A \ e O f Z F )   .    Є  , '  ¤      №щёўў  ёеПЫСт╢сїы╓з├ы┐┬д╢йМO┘ х ь ы ╔ ╬ ┼ Ч Н  х ¤ " F 2    я И 9 Ї ЧХ W ё  ё ■ ы ─ ╩ ╛ ╖ ├ ╡ а Л б z Z b ─  ═ ╡ E  / А 8 V O > m И ╡ З ░ M ═ Н Э m X Ф ╨  ¤ ┼ ─ ╤ ╥ ж u a 2 ЇН ВЙ!║оф+Ё 3╬∙^Я B  ї╗╧     ї▀лЖ\▄╟Ў╪ IУАл├щLЯьEpp}У┬▄ < R S u ╤ ╩ ^ 6 (  +     6 % ¤ * _ P      №╙├▐   ┌y░Ьs▄╥· █═║ф¤▀╝В╟╒вМЮ ╥ Ї █ └ ┴ ╣ П j ╖ ╞  I F # 2 &  ▄ е 3 э У╢ $ С ┌ т ч ф я ┘ ┌ ╪ ▀ ▌ ╙ у ┌ Ф г } j о ╦ ╫ y ` 4 ~ Б ц ╤ [ ^ Х z ^ И ╠ Ъ ╫ ї у Є  ! ю ┌ | | е Ц О F G D - ч Vv='╙0?м.╝╨(╖$ q : ) 1  ╜Хэ ф╘╘└ЯеOщ┤тЕ╘к■╦%4tЬГ╜EФ╟33YФ╫Є 7 L \ Т ╤ Я ' / 1 .     3 3 - 7 I [ \ 9    їш▓═° - 1    /  эъ∙  ёьў Ў█╥╨▐╣}UH w а ┼ ╙ ═ ╗ ж x Г ч  э э > ? · я ╨ к   5 ╙■K  ( Т ╕ ╬ р  ъ р щ   Ё  ╘ В z E Ж о ╕ м Р К R { h г ┴ Б @ б Ц e Q ╢ ╓ г ╒   ■ Ў ш ─ ╗ Я Ь ж Y J  4 )  ╜~Kг$ўЖ░о$ А d ` 0 9  ─Г J  █ГB#h╕5LюHaNЪ■a░=hЦcБ┴▀5жщ ( 2 I n o k n Д s [ T !    ' > T n k _ H 0      юОX╔4 H / $      ▌Ї   Ї∙ЎЄэ▌╪кХВz P q Ю ╖ ├ ▓ Х ~ Х   ╤   ю ╖ ┐ ╬ К Ї& Z #  m 8  ; Т ╞ т █ р ▌   7 6 &  в н Л [ и ▌ ─ { И п ╠ ┐ t Х с ╒ C s ╛ Н 6 [  f ╕ у ╤ х ь ╒ ┤ и Й Ш б a l ' Ў√▐╞═╢{┌н2|─ ■A╬B╙ляA g  ¤Ф л цоМН▒╟З╧рQт─nзМ├H▒+ЦgШ╘·(Wв▄■  7 4 E v С x Z 9  √сш∙ . : B Y Y l O 7 1   $  у╦ўI d . ё■¤ Ўц°   эЁ·Ёяъ▀╚fЛlo F w Н Ы о й г Ч м с Ё ¤ Є ╔ п й а г ? їc a (  v Y  a ┐ ▄ ╒ █ с  8 D S A Ч ╔ ┐ Щ  ▄ и ╨  └ ▀ ъ д ╟ Щ L c ж А ] С М Р ┌ ╒ ╠ ф ▐ ╘ б С } t  n а o B ┌N hЦ╕a╥,):!АїЧЙF}а▓ o  ╕p.│(╣╬k╞с╧ГЎBh8,╦╒╨╞4с╛k╠A▓а yўQbP╝црцЄ √2 g { Е N "       - @ 0 6 ; Q M : <    8 - * + > С ┬ k %        ╤э ЇЄ╥╡╕ЧгfЯ W Ц е о д ╢ ╖ ╦ ы ═ ч  ╜ В w Ч к V с^ б s 1 ( u l < > i е ╗ х ў  ; , p e  М х J  ╧ G  √  Х ╪ ы Ё  @ б [ V r ~ В в б ╡ Ї т ╘ ╤ о Ъ ┴ У N u ─ │ В m ╘s%RИ`ь]G╙-LjT Щв┬т1 U 0 Н]сY 9b9з└gЬcъLА╕- &щшТp;н▌4Ыn▀NZu■Є╠╧█ё╔ 4 - H 9 ? ? 3 7 / & ' 3 8 2 [ o h j З { P K @ ; 6 : e Ы щ  О  ! , %  № - "  ■  ─┤╚З7dD j Р й ╢ Ч е ╕ ▄ ▌ т ╦ ├ г w О └ ж юЕ Ъ Ж 8 < В Ь з { c m п ш є  O Ж w ц м 5 , Ё я " 4 % ( . H щ D c С K c o А Ч Ь Х ╛   у ┘ ё ─ С ╩ ╫ ╥ С ╡ ╩  { N 2 їбКT` Ф▀№┤№[ц р╔    + НюW{Й-╘a 4, ┴=:╙█/▐ Iё.C┘1й∙.К)"Г.  ╚ОdЗЁ  ! , O ; 0 . 5 З Ж a [ * c Н } f z 9  Q F 6 z ╧ ╧ ╠ з Ш ] яЇ їЄ ( Ўї·    ўп╖еzf; o ┤ ╛ Ю Ф в Ц ж з ╥ д З ╢ ь є ▐ З уюЩ ┼ y 5 V Ф ╠ ч б }  У ═ ї х  [ Z M s X j 8 с є  0 T L ? ?  э   ~ H J _ ^ д ▓ ┤ ┘   Ў  ! ў н ┌ █ щ ╣ Л ═ Н F , K d 2 ыХ╩j∙ u У ╒ и R   G , ·я╤(wЬ ┬<$Zr ;ПC╚l═;Ш╕╖▀S▌kAp┘C=?Ф  яЦ╖│╕* 3   ёC Г M Z b Я ├ М L O 0 G p Й 8 )   4 h ▐   ╜ ] )    ш▐└э■  ўїЄ· "  ∙Х╪ш╟ЩЩ9 o ╗ ╬ Ш У й Л ~ о ╦ Ц П ╥ с ] ╨ ╣ ╤ e J | п м ў х └ ▒ Я с   ! Z W t ╬ ╬ м g : ; < @ g Q E ? 3 ¤ ( ║ =  / i ╧ я  ¤ Ё Ў °   ё р ф ═ ╔ ╙ b А Е T Y И └ й i √╪l,Фщn ╧ ы ┘ ╩ в Ц ( ў ╣лё9aШ╗пsi│}╟─ёвp=▒ eA┌ывAаУй+mCIУ ┌╪A %  4 /   7 ь : s ` = < й ╔ О ║ v w ~ В W } M , ! h ▒ ╗ т \ 1   1 ю∙ ∙ ╦╬ы°·   ╚р╤▓╚╩K g ▒ ┴ д Л  И Э п х ╒ ├ ╪  √ Ё Ш 7 E │ и Д И М Н К ш  ╘ ╠ ╙ Є  " * & N Н ╤ ├ └ ╖ м x F N D R - + 4  3 т В - 6 s ░ ╫ ф °  > · т └ ╜ ┴ ╚ ┤ ╕ ╙ w p е П Е ┤ ф х Н 8  ф░O ╩ █ ; E ∙  * ╜  бнв░╧&|·Ъ▐▀°╤П║?┐`╘?TBЫ1U7tИ ┴┘·#|ї ¤ Z C P a i ` s ∙ є У d r D 8 М П Ш ═ ╕ { W Z z z Й о c @ Д в Ё q л╠   т   ц█╢╔ъ 0    ╟┬Ч├Й- @ Н Ч ~ c p Л Ю ц  ш Є ╥ я ў ╓ Д K k y Т Щ и Э { Ю ┬ ч ╒ є √  ; < ^ G { Р и н ╞ ▓ о Т 7 L B 6 - & ╤   ┌ ╥ z \ s Ч   o М ) · ╞ ╬ ┘ ╙ х   ║ ╛ ╔ е н ═ ╢ ┤ Ц ╪ └ а ═ " Ё %  7 z  l  ю  # ╞└hї╪) В z  { ш╟█q"цб_V┐k#,ў┤ %┘жEихъ}ы' 5 2 9 < З Д O R c Э л Ц В t G = @ C [ └ п k X D b P ж ╘ Т X d ╧ т K ╪  ¤█°   ъe░┘▐Є o V ' " $  ▀▒╦RG p Ы М Э t G } Х ╔ ╬ ┘ ў ╞ ╟ █ ╟ ` P j n ▓ ╨ ▒  l ж т ш ! W W G < 9 Z j И Ч { { ╝ ╛ Щ G " . R D $ № ¤ ╨ ы  ч т щ ╟  N # ╓  T k g "  ╨ ы A [ . Ї є ╦ л ╕ · (   │ · ї ╫ ╡ ч  ї Ь Е Ф ■  д е y W I Р ? Г║d '   п 4 ╗xbz─V ┴ФUK ЛN3▐`УЗb_П u╫ M V U W \ Й x C s p К ╨ в a l Е Z J I В Ч Д { - 8 B c Л и Ц Х ╤ ╜ Й М N  √¤  - ЇЕЕ╣у√ 0   , & ┌ЗЧИT З ░ Ш ╓ k > d } М └ Є   ╓ ┌ █ ╚ з ж Щ й ╦ ═ й ^ > Ж ■  3 7 @   1 1 [ z r Q b Ф ╠ │ R 6  P L  я #  ¤ > C 0 C ; C n К @ D $  Н 4   Ц p -  ┘ и й ╥ N >  к С З Ж v ╕ е # ║йщХ ▌ q ╥ ~ T e Ш Щ _ О  G N . ╟ S фщ b Е|й тт│ВЫ]к╖бO[4╩nr4А╖э# P < y л ╡ p 4 U u  у ╒ p { { q k T [ А m > " * - E r Ь ж ╞ ╧ └ Щ # ─╧╠·  !  ╔z╒ь  ў   ╧Е9^ G U k Й e / ` d m и █ ╠ ф щ ╨ ╚ ┌ Щ О м ╚ Ь D  r ё ш Ё є  ї ё   F K S V } Ц ╟ ╙ Ъ k 7 ; + ы р )   B w П з Q ' ` \ t Е ╪ / x z n > z _  ь ╣ к ╡ ■ 0 √ ╙ ┐ y  · G ╟SA IYp╞ . Ъ L @ O   р  T 8 д N L I 1 _ тВ9н┐Рч&(╠║K│─еСФМх  D | ■  г y | \ } Г Р Ы Ы  p z z Ж Р З \ J E : @ O _ z t Х Ф А r ▀^ая    чЙ╓  чнрюЇ   " √═╧U d М д y ?  n ~ w ╝ ф │ ╙ д ▌ ▐ ╠ ╥ Т ` Ш █ ╕ a 5 \ Ф а ╔ ─ ▀  ў ▀   D I q m ~ б ▒ ▒ w F d ` ' р ▌ №  P Ь ъ Ю Y e g > p Я d (  О x ╫ Ш Н Г `  Ё П в ═ щ 4  Р ╒ л R  rX√УД;с╔╡"│Дb ▀ ╓ л {  u У m Н ! " ўЎ Х230┐zОкмФВЪ^╕([╙ R Л Ь n S o Ж Є ╖ ╞ ┬ б Ш Р m e К t | М б Ч Л Г П И t Z g Г q к З l g k Ч ? ╠fиы   Єм╛ю* L ▌N─▐цЎ   ё╤╜їt ▓ Т f "  r Ф и ╟ с ╢ а О ╢ н п ж f d ├ ы ╚ Е Й { U Б ╦ ╦ ё  ц  @ B r Э ┤ ╦ Ы R & 7 2 $ √ є   6 Q З Я { i Х К | s ї └ Х Т l Ж Я Е c ╜ М  М Н l Г ╥ э ■ ф Р { А д 3 ЭmЁЕte▐╕/pC ║ к у   1 } V E ╓ o [ V # │fA9>! 0сР╚! K i a Р Ї  у л ╞ ъ Ё Ї ▄ Ю Ч ╤ й ~ Y p { ] j Ш О x Л ▓ ╦ ─ Н g В ╢ л ▒ ▓ v L ] q 0 b▐   ▀y╝∙% Y ЁЮ╫▀фцуъ█╬▌ьўP Ь А R  - Ф ╧ ╩ ╜ ░ У Й p |  Т Н 0 ^ ┴ с   ° б T t Я р = 6 № Ї   Ї L u  ^  ° K 8 ° √ є ф < f 1 W \ e Ы ╖ б } s к t F в · Ь M  1 м , Ж , D {  З ═ ў ├ Щ Е e О * сР▒rj$ 4Эc , Q  + ■ ї "  ∙ Є у _ WЮzBHWnАЕKIigЫб╘0  m П ╥  ъ & )  P 1     ╣ Н д ╒ ┴ о Ц Л М ` z ┘ т ╫ ч · т ╧ ╘ Ъ ╢ │ } n Ъ ╗ i v < ╟е╧   █ВtОу- X     ч┌╙┘┼╘щь N с ╢ ?   S д ┐ ю ┼ ┐ ╪ Г X / U o . \ ▓  = ┘ з m ( L я < %  ■ ╡ Н П ┼     ы э ! % с  Ї ў C 1 + J L O y й ═ w [ & 2 i r к Т ' ф g k ╞ л i Ъ Ю Ж l ╣ с ▄ в Й О r * )  ╗|)№╕╢MK╖уйР ╙ ╧  $ 4 % %  ╒ ╦ с Ч ^uнTф╙)г╗КСО▀ ? s R q В ╤ + х   7 p w i > B % ═ Ъ ╝ ▄ в Э Й } И К Ы т ш ═ ╥ ╤ ╒ ъ ю ▐ ╣ к ┤ ╟ є d ;  ' ш·  КXgj╦ .  - +  ╔]зХЭ╩█╩{ Ъ ├ ▌ j   V ▒ р  ╧ й ─ л Г / + ` 8 b ╗   ╩ ╟ м Е T J ═ . !  ▄ й ▓ с    № ╩ ╤ ∙ " )   Ї ( 0 &  : !  F r И I z % I Е y E  ь  щ л s Y [  Z Г И ▀ ▌ ╧ ▓ t О { Z X P a ▌═ ╧Эа>a╣\ ц B " ; Н ~ I 9 х  м 1 ╤Єи@└ЗАI ч■х H @ E p n ╠   є M k s : k В ^ { :  ╙ ╣ ╖ Ы q r p К ╢ ─ ▌ ▄ ┌ ╩ ╘ ё  ╪ │ о ╝  а 9 ( 7 '  ў° °lб╜█ % (  / Q N z┌ШNn┼┤╡e n ┬ ╓ w A З ╢ ·   п o | Л h 3 / g e л ▌ ╘ ┘ р ╫ ▓ Ю А w ═ Ў ╫ у Ё ┐ ╓ ' K G ▐ √ % 1 M  ' O ] C *   є = А S , &  < ; <  ь ▌ Ч ╟╢ к ░ Е ╢ ▒ п и W h { h ; P  I-Z═щ╫ь> ╪ ю c Ф Е ╟ ┼ g W ¤ ╨ ч П єп°иUш╬<°3 S H Ы ╖ q Б ж ┴ ▀ +  ц  V o H c L ) A 9 ї  ┴ ╟ и З З К h О ┌ ▐ E x O @ % ё ы щ Т v Ц П е  6 л ] < ╘Т╫╧∙   ? \ 4  G В  sVfС╧Ё╠п Й ж ╨ Р Ъ ь ■ + W ┬ Г h I   < ^ p ▄ ё ╔ ▒ ▄   ┤ Я k Ъ х ╞ ▒ П Й ╗ ╦  8 2  * 2 .    B * № ▐ х % C   7 j ? +  A ▐ ▌ ч ц ╧   ░ - шU К ╟ у Р В ░ к Д o 9 > [  ╧чЎtcъя< | ╓ ' 3 r ╙ √ ╡ л ` ) є т ┴ Э  ЛW-¤mъ)Аэ? g л й ┴ Є  ▀  ┐ ╗ ┤ Ю °  % X H 5 1  ╟ т & ╠ № ═ Э Ф  └ ■  ' S s U *  ╥ } Ц │ o l  N ы А D: .  ) / I { Ж A  1 ` L ╝H╧╘р ў═ ╠ ╣ ╩ ╔ ╩ ╤ # a F % ┼  b - ╙ C U L │ ║ ┴ ╣ # ┌ ╗ Ч ┼ ч й q v r н █   / ■ (  ц ї т ё  ъ к q б Ў         ш ╠ ┌   Щ Р │ Ф Ц │ ч п Ю └ ╜ П а _ J №╠чЛmёд┌Рм н H q У Ш й c c T ;   ╬ g `7рЄ▒JuгЄ6 q ╧ Ї ╠ я ф ║ ╖ Ж q Н о є  ' / 4 B   ╙ ч т N с╧x ╕ └     '  ° ╞ х м к г u В    є K uЭm╗1 d K - 2 I e { ^ - ; K 7 , ° !  ( 0  С ╖ ░ Г ┴ ┌ ╡   ! ы  ▓ g O ' ╚ P P , Д ░ ╬ з у щ ъ ╞ Ы щ ( Ъ X И С ░ ╘ ╓      $   ф ▓ ╥ ═ Л g D s ╫  № ю ¤ у ї ° ¤ х Ў ·  6  ═ б i z ъ ° ╔ ╟ х ▀ щ э √ ╓ Ў и . ╗LЕ─╡в'ЇУyМ■` 1 Х й R L B J t d C   O N ТC Ё<Й╫║╝ u У в ╢ ╪ ┐ ╡ л к д б ╨ э Ї   ╧ ╖ └ ├ ╣ и ├ ю  ; -  ў м q ╞ ░ И ╕  ъ │ ж п В ╙  ▌ _ █  * J Y C * : / J q r B ? M C E ║ " " ( . ' F ` и ж ╥ q ^ ┬ ч ╢ █ └ r N  ┼ Z c I Й ▓ └ У п ╔ у ═ б  9 н Н ╘ э н о л Б Ь ╚ ┘  E / ¤ ╙ ╖ j 8  2 а ч  ї ∙ √   Ў   ╓ ╧ ї : $  ╥ ╥ █ ж ╗ ┐ ╗ Ё   р █  є &  K ▓ЄM╥╒╝jXh*8u┤ % 8 : K Г Р ═ Ю G  п Г  cєСИщ╢ф╧ q ┼ ─ з ╟ ┼ ╣ Я ┴ ц ╜ е е е ╨ ╙ ° ╧ ┤ ╕ Ы В ╜ т Щ  3 ╖ 4 t f ( $ ы Н Ю ╡ d I ║ ╣ ╞ ╬ m A : C н ф ╦ [ 4 + ( B V I L ; 1  ) ? < 9 W P [ Л 8  0 ' ! E h Ю  ш 7 . ^ Й Н ╚ ▒ { М ┬ f s 1 @ О ╡ ╖ ░ ╨ ╪ ╠ ▄ "  √  ф ▐ ▐  ┬ z P l б  "     ╢ Q Є6 п ф   + 1   $  Ў ┬ ╘   % K  ф ╖ ╜ ┤ о ╛ ї A  к Э   $ ╒ g  <Oве▀Чe{Vо¤Птo ╒ N k з Ы в Д &  ├ И  ФV▄jз:П V Л Р й ╣ г ╜ н Л д Н g _ U c Ю ъ C  т ж Щ Э ╔ √ ║ з х № F С h  ч є ╙ └ е Х ╚ ╒ ▓ ▐ ╢ I / 6 L в ╖ } > , 1 4 ; G @ 9 - +     , E g N # , 5 %   В t У ¤ ┤   X з ┬ х ╝ ж З ▐, Z 2 > 6 В г д е ░ ┤ ║ ╤  3 " я ю ╦ ╦ ы ╚ ╗ o н ! )   % ё Ю L  9 С └  < ` a O  + 7 ё ╡ З └ э    № ╔ н ╟ ▓ │ ▐ / U ф ╩ 6 ш ╓ ╤ Т } \ЦЎ╗R¤y:╦ф~U R Д Э ╣ б г Я Л ~ \  в Q " Й╖НM|·Л ю ╥ е Я Ш Р Г Ы i @ V t x У ╚  0 , 8  ▌ ▓ Я ├ ╫ ш   P y c  ь ╒ ░ ┐ █ ╞   ° ╩ y 7 ; 1 4 u ` , ( / 8 < 3 N G 3  '  3 < 2 : 0 #  4 3     Щ f ╤ ╝ З @ = y о ╔ я щ к j "  b S ,  ) t Ы е ╖ ▒ ╕ о ╓    ▀ ╧ о ║ ▌ ╟ ─ } Я ▀ ╧ с  , Є д : + в ▌ ш a d K H ( & ) ц н ╛ █ ї · ▌   ш ▌ ы ╒ Ё  ц  b  ╚ ╙ Е Й В < ыyы┐Yъx~]█╝4b К ┼ ┼ ╠ ╝  ═ ж r R ї e 5 ЁKeMtЮ─: Щ Ю Z К в Ж Й л i + v и ╝ и √   : (   й Е н х  C V  - ц ь  %  8 ╘ б н Л T 4 6 B %  2 0 '   4 5 - P [ )  #  ! 2 . T \ 1 /  C > '   └ Г  ц б U t s Ю с я є г H % 8 i b K # ( C Е о о о ж Ю ╡ ╓ Ў с ╞ ╞ ╙ █ с Ю e ^ Ъ ж Э к ь  ┐ Й > K ┐ ш ш  ? J D 9 ) # (  с щ ю ф ┌  ц Ї № ∙   a О  ╬ л m Д Ъ b  ·d┴cqEЁ$╟и( 8 Ю ▒ ┐ р ▄ ┤ ┬ З * █ ~  ▀▌╨╔АЯТ╤¤ * ; i { ~ м ╡ л v п ╫ ╒ у + # @ 7 ° ╖  · ▌  W v [ d + э  └ щ M В p + щ u ^ c F 4 \ X - 1 ( ! #   . 4 F c ] 7  3 "  ( ) O D 7 '    [ D J K  б У э & ╦ а ╩ ╡ ф .  ╧ { ` p Б S : + ? b F k Н ж ┤ Д x Ю ╠ ф ┬ ▓ ╞ я ┴ а Е i З ╣ ╚ ╜ ╢ ╠ Щ 8 J a К з ё * 2 O C ! A > +  э ё э ╚ ▒ ╡ █   Є ╢ ═  щ : y j ) √ ╠ С ┬ ╨ Ы C - ╪А+у╪р`я;IE╗╡И j з ▌ ╚ Ч У X  ╥ в X фк5Zqu─  . > 3 C ^ Ю в в Ф к   с  %  ш ▀ щ ┌ 6 _ ] ╡ ╝ q a a N  ш г ■ ] P 1 э ╨ А p j _ s f I 6 0 $  # + # * J l z m Q + "   . M d ; 2 ' Ї L n Г q o З ▓ √ Ў  ч Є ф ┬ У ▒ К ╡ А n Щ V ] В Н Т ░ ╛ М Т р   ф ═ ё ═ Ф Э ╢ н ┼ ▌ ╔ Б A ' 0 К ╜ ╜ Э )  5 6     ь ю ╒ ╡ У ╜ щ   3  ▀ ё ▀ ╙ ╨ / X M  у ╖ Щ ╠ Ї Ъ # ┌бe4:╡xЯOг|╝Ї R е ▓ О П s Y  я ╥ ▓ . 0ў+_m│∙! H R M [ S ╣ и У ╠ ╤ ╩ √   ╧ м ╗ Y ` б К ├ М T ' 1  ╩ ▄ Ш ╦ ° ё Ї ═ ╣ v q a N Ф ] 3 6 2 3 1 $ & + , K q Й П U C Y d F L t a D N 1 ¤ч· 5 A ,  О │ ╔ ╚ °  ю ┬ ┴ с ╝ Р Ч f │ И f П Б В ▓ т ч ╞ л С ░  1  █ ├ ╪ ╤ Х Ю ┤ э т ъ ╠ a  Q ├ ╫ ╕ ╓ ы   ▌ ╥      " % ╔ ╩ ╦ ░ ж ╩  9 9  № °  ь  @ T V  ╕ к э ! ю ┐ ? ёв@% ╒кNкСє5 В о г t t m y Q 5  ° Н т┤{lЯГ┼ъ D ; X L Z ┼ ┘ ╗ Ё   F  ┼ ┘   B Y n Б K Б ;  ╪ √ !  $  ▀ х ╥ ╘ л ╡ Н a b ] ^ G C @ > < 4 ! * A D [ q Е д Z l С Й a n  C [ G ўтчў     ¤ Ї ф ╚ ї я ▐ №  ╘ м Й М г а Ь { c m Т г ╞   ▄ п ╛ ╢ щ   ш ╚ ╨ Ч Ш ╩ Ў ╥ ю  ┘ q  + Х с √ ╫ ╛ ■   ┴ ж % * ( , я ┌ ▌ ╟ ╣ й з з б ╪   ╥ ╘ █ ─ ▄ є 8  ' ▌ | s ═ ║ c Z 1 ╒СR<>╕Лa╞╪╪ї ╛ щ ╤ y v e Z \ P  ┴ Z ,  їш╚ў  5 > C F p г ъ  *    ╧ Ф с   ' ? \ c O l ? Q щ @ D Q d Q є ╦  ё ╚ у ╩ о u V M E C 4 ) & " * + F s Я г Щ д Ф } В Е y n < K B  Їш·   №     ъ ш    ▀ ╒ ░ ╓ ╘ В Ш е к г ┘ т ▐ щ ы ╖ ╚ ┴ ч ▄ ∙  ▀ А Т ╝ ╟ ╘ ∙ ў Щ @ : & М ш & 5 / . ▀ т G >  № ╧ ┐ ▀ ┬ Э П Ц г ▒ ╘ щ ┼ и └ ╓ ╖ ║ р  ╤ ╩ X   @  7 ╙├┼пЭ|s\^╓6ўлbмgо8 S ў ▐ v V ч Ў   я ╥ Й P 3 D -   5 . Y ;  N ` М у  ╫ ┌ └ ├ ╜ с   ! [ Ж s } { Г ' Z ] . ` П s G ▐  в █  ╙ k б Н = 4 3 4 . . )  2 U Р ╗ Ц ▓ а П  О { Q 9 ; 0  √√ ·¤ я¤  ў ∙   ) 0   ъ ╣ ╤ ▀ ╣ Г и О │ з ╠ р ╠ ╪ я ╦ ▄ ╛ ╦ З ╚  ═ М з ╢ ╔    ╦ v v Р v ╗ ц  F P : I  у ¤ * ! ,  ╘ ▄ ш ╡ ░ ╕ Я Ь м ║ з З p П и В n ` | u d ∙ь> n u E я═▐╗є7 W №▒ ┼\╕1Лвv+? ъ г { 6 ├ X%  я █ ╕ Е { > 6 3 o e I \ Z / + g Р с ╫ Ь ├ ї  ╖ ┤ х   @ B ^ С │ Х M   I Б h R m q m l + ) ╙ Ч ┬ е В Ч Э u L 7 @ ? 5 7 6 % $ > Ж ░ Ч v i Э Е t g J < 6   №їЎЎьс   Ё ■  * D t x 9 ╚ Щ ╗ ┴ Й ╢ К └ п ▐ 1   ш ╒ ї с Ю n А Щ О } ├ э ю  х ╢ н ╣ ▓ ¤  ' 7 $   ╙ х  є  #  ц ╔ ╥ ╞ ─ к Э ╢ г n K X N A S 7 4 J A х°U Б j | > + a Е Ч ╝ ┐ K фyv1IВx Ъ& ╬ ¤ E 1  [ ЬGї ( Ў ▌ ║ Ц м z Y R L * - [ B ? c н ▓ ╧ г л ° '  г й ║ ▌ Ў % > f н ╩ ╘ t   f u { } x > 5 6 B х П Z f V а ─ С п v E B S = 9 6 / 6 : Г и Б P @ s Н o R K O F F     №ёър 4 I $ я °  Г c  Ш П ў р е  └ Р ж   Ў ┘ ╕ ┘ ╗ В ▒ Н а К ~ ┤ ї Є ъ р л в ├ ╫ н п ╥ ▀ т ╘ ▒ ═ ╞ ╗ ╦ ═ ─ ▀  +  °  ╚ е Ц ╫ ╕ З c W G Z l c h  o 8 ` ╕ ╩ ╨ р ┬ ╥ э ╠ ╦  ┬ В : ∙# ╙+■Э═▀Ъ х х ╪ ╢ Х aК_З Є у ╓ Ц | Е М z ~ N   Q X Z Я     ╕  < T ° Г h У ╘ х   B Н Я О j C h А И Ч Ы e  °  ф k -  ¤Q Д q а о w Y K J A D _ U U V М Т k N O е ж Y c v v Q k C & . 7 + ,  √Є " 6 < ∙ ё т ф  √ ╜ Г Ъ ╨ ╩ ╘ T - √ ·  ь Ї р ░ М п Д T е б p А а ┤ ╛ Я Х С Б П Э ┐ ╞ ╤ л П ~ } q Ж Т м ┼ ╠ ╠ ╧    * . )  ╞ Ъ ╔ ╚ Ч | Ы а п Э Е { З П Н м ∙  . , F ! е } Б р ╖ Л ╬ ╠ ° М ═н┬ O w Й К q  ▓С+їZ з ╡ К Х ╟ ┬ В j Z 4 0 e а н ° : C  ╘  2  ╧ Х J Д ∙ Ї Ї  ! И М Й Б B G p а ┴ ж N ! ) Ў k   a { V Z T L W P M U Я └ R X s б Х m c Г ▓ ╝ С f C 1  F c ' ! , 0 ( 6 ? / ў  $ = '  ю ╝ ├ ж Ы Г Х ╜ ╒ ╨ Ў  ч  : % =  ╕ Ы ╡ Я Ц } w V h ┤ т ё ж Л Э Щ d f ] v ▒ Э Ъ y Д k l М ╕ ┌ щ √ Ї  7 P 0 C 8  ▌ ░ О └ ═ д Ю ╦ ▀ ╚ Й s z л к в х Z c ] 7 3 ъ 9 R Д ╞ Ь Н √ 8 3 Ї m j $ └╞ Ж ┼ з  ╫П▄2# g u У й ╖ ╥ ╒ й ^ / a ╢ ю Ї ∙ @ R A $ с ш  я │ Б M { ╡ ▀ ▄ ы 9 п С г а W 1 H Б г Ж N ? , A  s ;  8 R Z К u T R [ ^ Z n ║ ╖ i ` y В S L T o И н V   ў° #    (  ! K [ э D X J  ├ л Э ╛ м ║ Ї ф ╤ ╓ ї ╟ ╠ ? Q  ╨ └ ш ┤ Ж X  С r П ╠ @ ╦ А Т Р X Z Щ Б U Б г д и Р o л с т ц   ( N { ^ S   ╚ Й h к б В К ┼ ╫ ┘ д И У ч ¤ Щ ▀ к Х 4 ┘ а J н Е З j N Ы ц  є m б ╘x┬ёl > ╦ }  q╗А д ж ─  !   √ ╠ Х а   , 1 Y W -  ═ ╞ ╢ ╖ п Р r л ╞ ╙ у ° $ } Н Ч ▓ л ж К б З | c  ў т ┤ f  & n t з ▓ П q d b S Q w ~ z _ Ы | H J E \ К { %     ¤     є№  ; Y О Л ]  ю ╣ н ╢ ├ ╒ ■ э ░ Ь ╘  ё · э ┘ ╙ е Ц │ Й d U m ╗ Я а и ╩ А k л x d 0 , [ T V { ╜ ╣ А o е ╒ ┐ █ ■ # # . f ] G # ы и t Q Т Ы ^ x ┴ ╦ ╫ ╡ ╖ ░ ъ / u я " ) ╝ O   П Щ ▒ и ╗ ║ ▒ з ю B █ ╛ ╫s│Kо╝  ъ ┼ F бu  ╫ E j x S H 7 щ э № ; -  ) #  ш ╗ ┴ н п к н ╕ ╟    + ■ ч > Й Ж ╦ ╓ о Э к Ж ` Q  и П q x z r O m  Р Ъ г Ы З g I ` ^ [ b r █ ж t S k q Л ┼ S 4 " - 8  9  l C  ■ I < Л Э п Г ; я ┤ й ╬ ▐ ∙ є ╪ ╕ Ч ╠   4 A т Х У У к Э С  ] u R p А Y ^ b О x b  ° S  Й м Я И Д м ┴ ╩ ║ ╦ 9  ¤ ў ╩ ╫ ═ Я Х Ф i y Х m Г ╡ ╗ ╖ п ╠  H O Т № $ ┤ s T ! ╤ ┬ ў ╠ ╗ █ ▀ ¤ m p K ╝t = | Q ╩ f T $ ■ O Ф * ,  ┌  *    ∙ ш є с Щ а Ю Э Й l п є 2 C  с ] = h ─ ╖ Ж j c = ъ  в ? E N S j o U I ] v К В А Ж ` @ Z Z = 3 ┐ э н Ы u ╗ ┴ ╜ ╦ f Y 4 5 < 0 .  Ю b  ? y A Ф а о А 6 Ё ╔ ╟ ч ъ  !  в  y Ч ·  р 0  ╢ З ╖ ░ з ╢ к Ф z l 7 J w Д Е i ╡ Я Q    % Q О ╝ У Щ └ ╫ р ╬ ╖ ╝ ∙ ¤  ╪ ╔ ╥ ╢ Ъ а З { z v Ф ╞ ╛ Я ╢ √  А Г П ╥ т е Э │ б >  № ╞ р  2 [ Б U   ╛▓f└T> u Y Ы).  * i   g А / ! ' ¤ ·  ▀ ц Ї · ╙ н л Ь О Ь Г К └  ∙  Ў  ( A M g Ф Н i & ╧ Ъ д t 4 ; j s Е Ж Ц [ P Л Х v s Г e H U P W _ Ъ Л ` s  ~ а ╫ ╣ w _ B v W N ^ , ; > / R 9 T D Д б Й Ш U  э ф ы ╙ ш   ░ M R в ▌ ° ╔ ▐ └ Р В о ▒ ▓ п Л Й а Щ v а Ж { x k з ▒ П t \ >   V r t Ю ├ ═ ╠ ├ └ ╬ ь ■   ф ╙ ц ╓ а  ~ └ н К Д ╜ Щ Щ ° X O К п Щ А y a й Ё у S E < у ╢ ў & d z М E ╙ ўю<Я╟ЬД ╗ b ТЮH ┼  !  + @ $ Є щ '  ы ╙ ╤ ├ № Є   ▌ ╩ ▒ ╕ н Ь } p { │ №  % я Н Ы ╧ . w Т ╕ М ! ║ Ь y F 4 < X k P V У ^ H Е ▒ Ж | l S O N _ ж Б N Z Z c Ф o } ╝ ╠ л Й К Ч R   " # $ " $ % \ $ г Ъ Т Л j )   · └ ╫ ю ∙ ╦ @ I а ╠ ─ █ ╘ ╖ Ы ├ Ш p o К Г  ╕ ╧ ╜ в l f з ▒ ц ъ ┬ Б M _ И Б o Ч й и а д ▒ ╠ Ї   ї ╒ у ъ ╨ е Ц М ╒ ├ ь ы щ ┼ ╜ 3 B Р ╚ ╟ { / O Й П А & , M  ╛ т 5 X  1  Y ╚jor л} ъ ═ R = ╣ э  ∙ √   т   ° ╫ ╫ ╙ ю   2 Ї ┬ ╡ ├ ┴ м б Ж Ч у  ў ° ╖ x О ▓  C ; 4 ■ й } q 9 . E R T ; Y ` < A X q u p ` H L R > , , Y P V в Ф К о ╦ Ж q P = ) " 2 = 3 √ M B ┐й Т Ж Б Д S Y O ! с ц я ё └ V ` б ▌ т Ў ё ╪ ╖ № k w 2 ш ╔ ╡ л Н в ╛ ╞ з Ь К И Т └ √ ▌ ь ░ w Е ╚ ╛ й ╜ ░ б г Ь в и ч э ╧ ╬ ъ № ┘ ╝ и Э ▓ м ┴ х ф ┬ ═ # ! * Ъ ╛ l <  M Р l = 9 % A 3 ш █ · Ё ┤ м Ь _  ЬЕО]L ═ є  ї - T & щ  0 " ° ╞ щ т ╘ ╬ ╤ ╧  ¤ Ў ▀ Є щ ─ д Ь л Ю Ю Я ~ Ц ┤ И } ┐ є ┼ ╣ О ┼ 2 | \   ─ н Й q T C E @ Y i a @ Q Y e d b G 9 ? /  Ёё: O ^ Е ╗ Э ] C g Z ^ a >  ( 9 '  їсю  ╥╟ │ Я ░ е А y Y / √  -  ╪ k p У ╡ ▐   я ▀ ├  > - N 1 # я ┴ ╡ ▄ у п є  я █ н с х Ц а Д v к ╥ ц  ў ╕ Ю о Э е Ъ │ з Я ╤ ф ╬ │ Ч Х Ю С Ъ б ┬ ъ ■ & [ A . ? J Q 5 e П c G    р т ─ Ж X c f ;  ╙ФО▄yьс ▒ є    █ ┌  % й Я ╛ л ╛ р ─ с  т ╟ ю  № й o U h _ a ┐ ╓ Ъ { a W Ч ╓ ° ╛ ш  t U  ъ Ч  W + $ 3 2 L c q j c h P [ Y > +   ┌─·> G R [ b f Y ? a P C Q 9         : : ▄ ┐ └ ╪ о в н t - Ў  ,  Ю < K Х ┴ ╤ ╙ ╛ ╥ ¤ i m   Z J Є ╞ ╠ ╥ ° ё /  ь ╓ ╟ ▀ ╤ Д Д ┤ С в я ▌   ў т ь ╘ ─ и Ю й ╔ ╟ ╩ ╖ ╚ ┐ п Ю д ░ и ▐ : % D -  ( # Z Ъ Й Н У | Д 7 ■ █ ш   Ч - эч ў  ╛Жо]ИХ t ╧ ╦ з ╨ ╖ г ь  ╖ ╤ ╧ ┤ т ш ▄ ї э ╙ ц ш Ц d A ; - , X Ф i П Ы l d Ф ▒ ц █ ╫  ; ■ ╪ v S ;    & ? \ R k e m G T c K /  ╙н╬! C B A @ O f h k ^  ·ъшєїє¤  ·є  ё ╘ ╕ ╓ └ ╢ й Ш m 0  х е [ L Э  · Ё 4 X 3 $ ? R u . ╘ с · ы  ╞ ╫ ╒ █ ╘ ╥  $ х ё ╬ Т Ъ г е ▀ ╫ █ є  , ц ╕ б ╣ ь · у ╤ ╩ ╩ ╙ ┘ ┼ ╙ █ ч ( ) > J N B g Б а ▒ Ч Ж Ж p v D  ═ ╗ ь  a ра<c─ух╔╕1мJ 4 q ╢ а Ь Й Л Ў 1  я щ ╓ ё ї ё   ,   ┌ ╚ ▒ й Э l L S c  Ъ b \ I A Q h И Ф ┐ + L b k  Э e O 8   ' A ; 0 O \  t X j Q / я╩╛Ў6 A ; 7 H Z w d G ў█╞╜╞кМ╡├┼╤╫щ┼яъ ╓ ╪ ╞ ╡ █ ┼ й n L ( # · ┘ й } ╩ 0 8 Ў Є G $ 0 x w З  ╠ ш ш ∙  х ч х ╨ ╖     с я ╛ │ л М ╣   $ ї  т ╔ ┤ ╙  с ╨ ╟ ╞ ° ° ш ь   $  Ї  # B z О y h S h S 0 #  ° Т ^ v ▌О]ё3Э╢┴этCМYD } ┼ т ~ ж Я ╨ ! 2 = '  ▌ Ў ¤ ц    · ° █ ╩ ╖ ╓ ╙ ╕ y Ц Б А д V @ A D G ? b i Г ¤ ▐ Ї ∙ ╢ { ^ m L    9 O @ ,  ! F ^ O K . ё╓шє 6 : / 0 X O + / >  швУЧ7<nНв│Р\Ц┐ ┬ ╒ ║ ╢ ╠ ▒ Т *  C W E 2 ∙ ─ ┌ ¤   ё   & 3 _ m `  Є э ¤ ■ э ъ ╫ └ ╖ ю ╬ В П ╚ √ ╤ ╢ О ╖  9 9 G "  т х ь    ▀ ╒ █   ╫ Є *  '  ╓ ∙   ч  3 / 7 D #    У 5  ▒Uя╚СЪ║р╝Єhюїg ¤ ь ╧ ■   ' F Y Q 3  & є ф ¤  ў с ╩ ╕ ▄ ▌ ┼ Р н Щ Ю Ф R : Q j X @ B G c ╕ ╣ ж В { i V V J -  - F g P  ют 8 , #  ┘╛▄№ & *  & Y П 9 % N D аuXыcПчGuП~'9ж л ╞ б Я ж Т h ( * V V S .  у ╢ ╙   ё  " 3 > b J / 0 ¤ ╪ ▐ р ╔ ╣ Щ У к │ ╣ З ╪  № П Ч ▒ ╠ ; К j B  (  ¤ Ё ■ ¤ ъ с ю ў " ё є  "  ∙  ╒ ┬ ╒ Ў   ў   T ` D 4 . D   P  ╤╖╦ЩКЗ╞▐=&=█Й Ў   E q l i p h h g g F . Ё ╨ Q G  ═ ╒ ┘ ч ь █ П z Э Д U J W c x w H C U q П Ц u О m b r h S ?  8 5 &   ╠ш    ╚┤ц     Q ┘ U H z  │ЗАIЩT═)J4цз╕Sш ╧ ├ ▒ й ┤ Н e F R U 1  у ╗ р  <  ╙ є ! D G o j ] @  ф ъ ш ═ ▐ ┼ О М У а ╗ ╚ П z Ъ ═ ┬ % i G 4 G C 9 ■ ц   ·  №  +    /  D  ░ ║  g )  ' п ф d Б x d c J ш Я Й H ><c╝евц УЛШ П   4 p О e H ` Z b Ж П 9 Ї  I ^ B  ╒   )   ┤ Ц | ` M C ^ А а П ^ g _ W В З ~ k T D e z k K , S J   цў  ┼к╫√ +  ■ў, P N O c L ў_"╓oWЭ╩╨ЫЧ√│└ ╠ ╝ ╚ ├ ┼ И J : D T K 5   ■ щ  √ ъ ╙ ╠ ∙ N Z y к С R $ ∙  ї ╠ ▄ ц ┐ ░ й Ъ │ ╨ С Й й ┤ ╗ ╪  >  @ d 8 l S ( S K  √  J 5 4 (  " C 7    d 4   ─ ┤ Є В c M F 3  ╥ ┌ ╖ z  ╘КЮ┤└ХNИ▌┌╚╧& Х 5 p и m A O V \ Г В s K 2 7 ; c Y ^ q G ч   ╠ ║ ╡ М b V o b X ] О Б d u O L d z o ^ I ? X F T U 3 9 ?     # '   ·╝Ю╣╙  ё╒▌   Є 2 ·YЁЦPLf╥G╗│°CДО ┤ ╗ ┌ █ ╧ ╗ Р w  П x X D . M N J < ¤ ╤ ╨ ╓  Y  P o w = & C 4 ь ─ ┤ ╜ ┼ ╣ А | Я Р Д Ь ╖ ┌ · &  т Ё M 5  В G 8 Q Y W %  ¤ * A    є ! 8 B c d Ў  ─  П н 4  0 ■ у ў  ╞ a "  ТБ├Ъ$у] X . 2 g ┤ \ в Ю U Z a i Р Х Г О { t l [ ╟ и f c u .  с ж Ф Ч ^ P m Б Д d _ ` a c [ 6 Q n d Y M 4 D л Ж 8 2 2     # B   5 !  ╩▒й▓╥╓╠╠▀яў    ЭDч╖Бjм7oI·э \Ф| м ╕ ╨ ┌ ▀ ▌ ╣ ╜ ╜ │ З { e v й Ч О t 8   ё & E X g d j O > L >  ╘ ▓ ж ═  ╤ Я Б } j С ▄ A ^ ь ╬ ю L ( ё  °  ъ < j u ;    2  ! Ї ┬  Ї  K ' K j Z G q ╗ б o n b ( , 2  ╘ I █Эе╦зH>╤e Ч c X z ╥ " p д Ц d Y G m ║ С М | m x [ Z Е i - 5 c D 0 ё о а Г j \ X [ y А t g ` a R > Z b T H 8 ' @ f i A  ¤тї  ё     √Ў╧╕а╢п╠╤ч√є .  ╡нwЇр√║┐rВm17m─r У й ┴ ╜ ╤ т ┤ ╨ ╘ ╛ Я Ю Л й ╖ м ╜ Ц \ / √  @ X Д m l ^ Z ] T  э ╩ й Ё s 4 ╙ Ч ч є ь 0 y [ & °   ═ ▒ ╓ ■  Т л z k   6   3 ё   ш Ў { k f l k i f Х p @ O    ц Т L H ∙┼╠┘╛П╖S ╕ ╕ { p д \ О ╗ С Г y { Ш ▓ б Я О Л r H ; , @ #  я ═ ╠ л И к █ е q Ц в ~ h a d P @ I H : /    ? a  ёыщє у═сЄ  ф┘╚╛жФж╠уфт∙  х╚ЪЮ╞эсgЦЮЕ^]yк─` К Ф С ▓ ╖ ║ к ─ ▀ ╥ Р Е Й в Х о ╕ Ъ i R _ ? ? J X k V \ j z ` L  ▀ ╠ ┐  Е  с ё Z { О ` e T    ' " № ■  . G s ╝ Ь Ф J G B · я ы р   И ▓ z _ D C B U T H 1  ё ї ў ° ╞ Х I °лмчёфс, К ╗ ╠ ╪ н ▌ C Й м в Ъ А w z е ╟ ░ x I q \ .   ¤ ╘ ┘ ┴ ╖ ▓ Ш r n Е | s y ~ w u a a V K ? D = 1    / ` !    ь°╘╜┤═  ▐═╝йЦРл┬┬ є h  ─╨╜Г╡cеРЎZЦеиНm[}`e Г d p Х Ц к ╡ └ ╞ п Д p Б О [ [ Й x v b W a = ( : W W X H s { B Є ┘ ╬ ╠ ъ @ %  P И О П M 8 @ # " M !   ¤   B ? 1 о ╒ й Р H № ╒ т ъ є + D z Ш d > = " /   ( L L 2   Є ╫ ┼ p хЩ╔ъ 5 8 h Э ┬ √ B  √ 8 | М h y d V t з │ О $ 1  Ё   є · ╛ Ы │ У  h В | ] X ` s q Р Ц Ч w j ^ X W f d J &  ' / '  ющ│ЪШ╖тя╥╘╩┤оФаХж  , v ╠┘бFЧJАГ╓;о╗иАtbhC58╚╚ `} HDF5 JPEG-LS filter╚ ╚С╚Unsupported data type datasetUnsupported data bytes datasetInvalid number of components datasetInvalid number of dimensions datasetToo small datasetTREE                @ЬЮ╚N { X } n ; 5 ╩ ■ ▄ п ы  ╪ ║ о к Ь А q P 7 3 (     V К r Е S :    M H ^ :  # (     э─д╙   р  ыИЗДЮ╞┼м/и╠∙╩Эо-K{Э├╦╙╩▄хщрс╓ью   ц╚єу╚ч╠pЧЮУ▌Є∙√Ї  √юяц┘▐╓ $ ) ,  эДН╜й│╪єлxЗыB╨┌ЭАpдjСБ1г╩║╗┐ЮJМ┼─╛ноЪ│ЯвmyЪЬqRшSsR(AЄeЬ|ШУУТsТ╩}ФИв▓l Х R I \ / ( ┤ ■ ╔ ╔ ╜ ╨ Ї ╒ ╨ Я s Z W < ! , &   d y Б { M @   Y Z 8  ц ¤╟╝╓∙╡H│х$ ' 8 ? - °вll╖Дй╥ў■П=$1т╕чmп╚▀ёц╓шє√Ўьчш°√ъ╚┬Ёёю№╪TДс▄хя¤∙¤ ўЬ╘ой╘ш  ! , &  с  тt║яє┴пx▓╜ФЦZТ┐║├ЖТ╗┤┐ж`жВc░dm│ЗdU`d^J~б╗YC┤ЭНЪ▒УNq║∙юЭ%█C 4 4 - 7 9 2 y С г ╖ М Ю ┤ к в q P P Q E E /  #    K m a b F 2 = *  3 6  ш█└y@?vБ=x╔№2 C M ; $ ў╣К╢╪╤ш % ╙╚ф╚ЮыЯ─Ыю7<Apвлся╪╦°∙їЁЁы▀яЎ▄щЁьэ∙·уъ°ё▓е·  ьЭ╞О╣ё· уц     ї ¤╪╩юї¤Ўъ╠╢┤▓░╧└─┬╟╦Эsб╙ТЖиnЦ│ЩжЦiПП 'Ю╕─┐А-жнxT)Ш╕Я╚╔ТХдл╩№тЩ$94 E 5 ' L [ A : A u s K G n X U X W d Q : Г Й L 0 d A  B J 5 / 9 4 * (    8 ¤╘╡m(=1 %CО╤ 9 :  Ё  гжу   1  їю╧Ефс▒▌(JMj╢╥яє╘├¤√Єэыц┌▄р▄чьт▐Є╬uЯ▄·▄╠Ї  № °юЇЄЁЎ╨╪ ї°ч╨ь═я  х╨╞р·ў ю┐Тзе┴╟█┘┬╢╗С═╫╝╘░ЫзГкvи░VGPАh_в╟─и}GйЙqеxC╣╤╒иСНХ┤▌ё╞а(6M2 A A . O w Z . < p x s O    = а К _ a Ф П 8 c Q : A & 4 ) ) *     ю╨ЗЖЁ'$;PzЦ╓  % /   рyТ█  ў  №ъ▐Щ/¤ыё+?qо┴╒▐эю· ўъф█▓зхчфшуэто┬чЇўєфЄ√ Ўё║  тцЇыэ№∙┌ио╡░sдр┌█tX╞ы  ё░mИб░╞Тб╧о┤ўт┌▀╟kf{ЮqЩz╩5Р.╓└пЪХИФРв┤Ю}╞┘╧ЭНЩЬ╗╚▀╖o└Ш3 9 B C : m e - ' W _ x 0  % їёC А u W C И и Ч И e ] e P 9 8 ; -   ■√ю╩Хb ╣┐ЇqПЬ─т√  + ' )    ч▐╘ф■  < 7  ъ╛ЖD6'5ANsd_╕р° √  ъ█юр└▒сф╙╢╡█ээ▀Ёяфя№°∙т┼пЙ ■ цn┼Ўф┬ЬЭ GВi╥├г╫∙ ∙╥┴й|╢╨║╡╤▀э °т┴╫╒ЖD~╨оvЗЙ?Хe·9РФдо╝зnБm_Л║╠╗WПЭЮНLЕв┼Ш┤╙9 G _ S + D 8   n `  №чс k Ы б O R ▒ ┴ Ъ Ц | d t ^ 9 ! ▄ш╕Эв╠е.р║┼ЎJY|Ю╚╟┌   " % & 4    ъ┼╘ -  % ! ■у║ИU3apT;t`GР╬у■∙  ьС╓ъьычу╥┘хцЛЯт╞┘рсЄўї№Ьа╓╥фь  % │йС╢пu"qПkПЙ│ №фЁ  ╡н╩▀с┌╟БЪу■ є╪╟╒║hз╫═Ow╗├пРLA=деWsslЙtkм═А╖▓ycА*aЧ▓i@л╟╔Ф; ; a h 3 F > < Р R ( ? - (  U Y | p ; ] ╜ У m г ~ Y l l E Ў╚РD/Da-╪╪Rбп▓╥─▐    2 * + 0 9 )   Ї╨Ё     єх▐╞УВбоЦtnБЧ╝╛ч    ╧Вц│┬Р╛╡$Q╖э┘▌╧╣╬чўўЎ▐ф╞╦чЩСю ю,  Y№фfW1С╝▒Ы * ЬЫсрю ( ┬г╠р╠u{П│ъїЁч▐т╚┬╚╔╬╝xп═▒йЛh║╜┬Б\^,vm\BИ`яZBuд╖оД3И╓╩J\ C c v 3 M { q Л К 7 ) R N ~ e С k d P N f С { k Б З j n ` < ВzJ&√ыуз└,bqся  °¤  7 E 3 F N I G 7   яЄ ъєюїёя█╗║▓з}54д█╔F█) ( * ,  є▄╖ovё.ъu┘╥ш▀╓Ўъхє·  чЇ ў╖шї▀┌&  кЙыD▐щўёк¤k @ ╞╫ъшэь▐ЗpМ╨╔Б╢╥рьу▐▐╘╒╤╬╩╒╙╞╒┘└╔╦╩╖╒ШаtыbL┐#Дcхт0ї╝Qг&1a~ап╗УВ╗▓9l I : W 4 R o : a `  ї, t  \ Щ б С В B 6 i Ц ж v J = 4 ? A ─jўш╫ОБo╚.Ий# ' $ / '  % 3 Q O F G > ; 9 ' $    $  ▄ №ї ·ъ▄╬╪ч░Neёчя█ 5 2 : 4  х╤┼A<xЭшЇШ╬▒{╣э╤Ї    ўф      ¤Ф█rrДг√ ∙ 3 * ўьЁєє}╠¤╬╧┴╖▌▄▐ц▌█▀╒╛╬╢╕╓╕╨щч╔┐╟╫р╪Ьйа+УгВNC¤B├*╚?Ш╢╗MЖЭ┤╣╕▌╚Аn Q 7 < g a ^ : m b 0 / p Й k Z О Ы Щ d % ; d Л Ж Ч \ 3 1 √о:╡╢╩╨йЪё3О─   2     ; K R 9 / D ; ; 6 - - ' % ' 1 # ь·  ■ь╪р ╬ c▀█  . 7 3 D D ц(Е вУЦЇ6l№▌  Ёш╓ЗT═   ▐╢  $ ) , 5  ]з╞"│╘° @ w ; їя°° лs  ш╤▌╫шу▌▄╘╫▄═╣╟╖└╒┴╪ч█▒гТ╦█╥╗╧┤к┐л┬ЗДC┬гШ п+gOўд╖`xЦЩ╕█ЇЁj ^ m E П п з Б ▓ ^ J Ш Ч W В Д Ч В t = 8 ` f В в Ч j = $ █Ч%Е:аЎы╩х!@`У╦   ! & 6 Q J A 7 7 C ? 1 + * / $  7 ) й░   ў╬╬┘╟ьаг∙ "   , 5 [ E Э│К_ь╜|╩ЩЯ╨°э   ! ╧up▌) -      $ 0 = J y  Uhыяў·∙ . ∙   °жx °ц▐цч╒╓╘╓╧╥╩вв▒╦╦╛В╕ы┌╕еЧ╘╬Ц?░д╡╟╟╗Т╣]?ЦpUкЫ дёцўV|uОнфЎq Z t П ж ┼ П ▓ ─ П a Х } r k a s b ; % 7 { Г е ╦ Ы } T #  ш╗О.╔ ;NсЖ╛╓╜█Z┴Є  # J Y Q = 2 6 - .   + #    ║╘  ╥Ж╢яы Ї╦   ·< j N ∙ 1 * 1   ┌а╬║╨ 0 + %  " 4 J = $   ює " $  b Ё Н ·ъЎ°    .    № █╛▀·ыя╒╓у╤р▀╓╠╠Тmп├╤аиЕ═юёфРx┼ЮМЪyi▒ФУ┘╚║rU°▄О\D$█VAyъ4iI,{╨К d Й Ч ╕ ╤ Ы в ╛ П д ╜ е Б } Е { V K @ q д й Ц ╩ ┬ С @ . $  ╔░╕pz╒╧G╩oП┴Я∙Вш     5 ^ X L C ( ' ! їЎ !    / √ьШЭ█BR(Жы■╨ шю S e ` f U @ 9  ў   ╛я   / = % ╒ ) A 6 : /     ╟┼ ' % C : ; !    % 2 $  їыЦь6 &    щфчь╫┴╫╘└П┐─╬╪│║╓чюх╫╠ЧЬЬп─ЩЫ▒╝╒ыгЮЖJ1`Y╖b╤╚RH;рЦ╩КI╜ИI U ~ З У м ▓ д ж v к Ч s Ш л ┤ ╨ З ` j ╟ ▐ ╗ У |  G №э▐йtGMХ R 5 ─nEE7 :Ъь    2 D 8 F ; 3  ∙щ  &  ) їч  й╧┌╘юN}╜  ╣╟╓ H X Z W W a O C    2 H *  % )  бч      ў ╤┘4 -  ь6 s . · Єё2 2 !   ╓╪* V .    ЁэЁЎ╞з┴▌║Д╩╥╤╩Ев▀тш▄╓╛rо╓╬АЦ╛╝╒┌┌ЦБVюч[oPdUб╠ImЬєо┘╣5< M м ╡ Ц К p | Ч Х Н Т Ц ╜ ┴ ╨ ю ╨ Я ж ╥ ┌ о П ~ `  эц░qык,▒" i h  П├╙sMЗ╙Ё   °< * 5 9 = # ю + (  3 *  №B 2   №▓ _ M =  л√О } ~ a 3 8 N O !     ( H E  & . *  Їх▀цхё█╧ш  @ # °╞ :  ▌╩Ё∙·  тЄ¤фЇ/ 2   )  ёю є▌╤╦▌╟л╙╦Ф+ж╓╘сч╔╖пШ╡╠╣uи╣┬ф╘Ф H┬$&тKЙLєЎВEk· Bd o М З з Й ~ В С ╢ о Э е ф ╩ ╟ т ї ╛ ▌   ┘ ╦ Ф W    Эн╒2WщR ▒ Ы  °┌ПА╜ш     ; 1 (    4 X    3 9 1 3 Y  - w ч! Ї╓╕ л┘ `V9 И ( c ╝ y ? 6 7 !    · 5     ўу╒╔╛╡лдДL]Я╒¤ Ё─э■ ї└╫є·№  √·  "     ■∙ ▐│╩╓╜Г╢▐╒г]╣┼┘чц╙├╚╞╤╫╨╩─┬╤▌пykВDO> ■AБГ[2hB(╤╧Zzа╠ е Ч p О c t { k Я ┼ ├ Ь е ф Ї ├ ╬ б ╗ ° я ж  R T 2 R чz9LMGж Д ╬ │ P  ┘н╝▀ў  "  ' k t .  ; `    + B S U 9 +  ° R   &  Ї МЛлm-▀\ / Z ▄ р ч | > #  ■∙ #    √∙у╥оШКГj+т╓╧6Э▐у╤з┤╦тшууЇ  Ў·      Ї∙ √є∙ё█║├а▒в╤▐К░▌┌▐ыхфщчэ  ■ц╬╙╘╔У}qЪ|S"`i?nЦТОЙ{ZяЦ╕Я╟ ч Ю ░ Р > A E 4 В ╔ ╣ └ б └ · Ю б М  Х b , ' l Г < , ╦ж╞█ЦЧ2 } Ь Ф С | ` 1   Ў  ' #  $ c h      . ! % R x r И ~ _ 0    ; W Н M Б  ∙tн c`┬ 2 У ┬ ы ? э e   Ёё    №ы╘┐ЧhTF1№аNHН┬-Л┤ЩЖzХ▓╡щЄ╥э■∙╨у єё¤ █╧Ў№ №ьЎфо┐╓█жТш▐~╜тэєшфцшщє  ўт┘▌╬мFЕииЧШ2L8x?ИЕй┤йt∙7Ь░О╠ш ╚ М А l R Q ^ ; Q Л ▒ ° Х e e c Щ л t _ L - х] И m N  < N , ▒╙f И и И %   * < O % + F f K I , J P   7 !   3 ╗ щ ▐ ▄ ╞ К h = * . [ { ╝ а │ ║ d ¤╦51ь D Ю П ╘  Ї м E  ╙▀  °ч▄╚пo5 ·унЗD$m┴∙L^a~Ылп┤ўъ°∙їЎїЇ°∙Ў ╫╘°   ¤їЁ▌═┌═╤┤зыЁюъэ   єЁ▐┌рцъ╞╬╘╩╨┼├╫╙╘╞Е-lЎUPKazй╠╣kVё1d<╞┬ | i Q K E a x d P А ╕ ▄ К А M Q z Б c L S ╙h! Ы ▓ з Ц В Д w 4 > А Ч ╞ i ¤■ ь ! ( ; C Y B I : < 9  ∙·    ; я Є  ╟ е я х t  ¤4 n ╡ ь ╣ ]  *` Rя B Ы ▌ ▌ ц M  ╒ <   ╕╨чу▌╬└╕u╒▓░ЫНШк┤ц,KeЖЛХм╛╞уўя▄їЎЇЇюшт╟ш ■єЇ∙  ¤∙∙╬▄с█он┐═ЄьээЄ   ·я╔╣╦╫╧╣═╟Ы╙▀р┐╥╚┐hA|IЪ│├Ц║у▄з0A1OАи Ъ x i e < 8 S Д z Т в о ╫ ║ Ш d n  ~ B <  Xц└Е │ Н x В Я б Ь [ R Г ┤ e Ї їф∙  ф╓ю    №ў°  `  √ │ Н ╬ B > ╚ _ k p e н р О  █F4kЎ s ╔ ╞ ╟ ╩ 8 / ∙ N * ╚а┼иР~СН:єйC[о╤Ў .PwЫ╗╔┐┼╔╔╤ушэьў√я┤л▌ж┘ёч╫ц   №Ёє╓фяь╢░╙сёя√ЎЁ %  ц─╠╓╥╟╪╬й▐шус╜пЛМЧоРоф╧йе╧ту╝╕┐ЦSТ√ №№ ╘ п x 1 - 0 3 ] Х ┤ ┤ ╗  P h Ц └ И ё╠╫>C О ║ Ж | Д ╛ ╪ н 5 ц [  ├т ць  ї╘╦р№   ¤Ї·   B З ╚ Ю и ▄ B _ ё х ∙ ╙ ╢ ╢ j 5   ╨э- g : J ╤ ё ╫ ъ ▓ █ @ ┘ > 2 Й ∙а╟Ь:B^k4№║Ie─<WnВЦи▓┐╞═╬╩╜╞╫▌хю ·ьх╣╛█С█ё№    █у╒╓Єў╤ЖюЄє■ў°  4  ф┼╙▄╨╫╫╩█щярЧз╧У]Р{С╠UW4AЭ╔▓[╝т╦К└ь ▐/  ╗ О d L B 9 9 ^ y u k 5 $ z z Д w  ╬В(НK И ┴ ╕ Ц ─ р э ш Т ·лаТs╔ь└¤Q ?  ¤Єў   №ЎЄэЎ  / ~ o Й ┤ є 5 # ц   ╛ ╫ ▄ юY Q 8 X K T 7 B ╗ я ╞ ъ ╠ м ┘ ╥ ^ 7 x  ░з╝ЫЕnrK,Є╛╦Ё&JБЬ┐Ўэ┐┴╘Єєъ├щх▌у   √э╫ыяЪЮц    ▀ф╕╣ё  √ющ ¤є    ■Ё┘╟╤▄═╔╣╢▐цьщ└р ▄│╚░е╜9P{о^g│Щ╩хеKМъ ┼$ ) ─  v w А k = f w b С m h O ? n $ ъ┘xM╥q ж є ╦ А ╔  ▄ ╘ │ h ╤И┤БкD F ? u a ; %     ¤ЎёЎ   1 5 ~ ├ ж е щ ° ╖ м м г Л ж Ы  S j E ^ Ю p 8 8 * И ┌ Н ─ ц Ц C t A ыE ё~АыыаТ║йa ╟╒·'Wт)  ьш█Є Ё▓тух┬ё  ■· * к╕ў  ╤Щ┬∙   ЎьЎ ¤    ц┘╬╙╧╫╨╩╟█ц╒╙▄ь     я╨╓ц╙╨╔~Т╚╒┘▐Л_w┌є╛ ю й ~ n e b \ M М ╢ Р У ┴ ё д Y L  ╫лE_/ Ч ╔  ╦ к ╘ ъ ъ ═ ~  █╬╔╣Q з z q К j ? 8 2 *      L f U Ъ х ░ | L ) N А 3 / ? o и h У ^  B¤( $  ┘ ¤ Щ ┌ ь ▒ R  х╧└54}╤у╘╤╬╢ZэЕХ┤═▓fм^╬╠Юз║╤тЄ яь  √  -  ╔Ї¤     ├┴щ▀ ╔├ц·№    ф╦╓сср▄╤┼╟╓╥╬╨у   ▀Єьч█лVVqНз╒фщ┘╝Иo╔╪└╧ ┼ а М v [ D X k п  ▐ ╔ ┤ С c a 3 ╚ЦBИR l п ╝ м ж ▓ ╚ ° ю ▀ Х Q   ь7 С u F  \ F O 8 0     &  J я ° ╢ ╪ х Ц G  Ў' o ' # L m y K 6 √ц№╛U = d ╣ е ` и ╣ н Б  ╟ШS`ц █УB╙sЁ! ▄╝E╨/ZAeЭг▓ъ■їЇ =  ящ▀ї·  ╥ў№єъ    √∙Ё√  №хЁєў      ┬ЙхєўхфаК╖╥╙╓╒▄ў √чЄ▀╓╙╞ЧА╚╒╦╤т┘Л/bМ╗Ч}е е Г Z P N M L c ж э ∙ ╪ З Z [ > ' ▀ж{!Ю , Т Р ╡ а З ╜ ╬ ╟ ┬ в g - ) ) & * \ S . = F , 1 .   ■ !   М ! 5  я ╛ Ф b F P ^ m ^ a 9 я ▒Б┤ r Е Ж z C x Й u / мCQT:KЧ % ╨Жv|~RА╖B∙=HPCsжЯ╛╓╤ё∙   ё┘уь )  ё▐┌╫▌  ┬╟ё▄°    ў╒ё  # !   ■╙zЬЎ сЪеРбр═█фЄ¤■ўэ╫Фr╟оЫ█▀▄╓┘╙К^м└┐КuЧ П h a Z u q v л ╘ ╕ ┬ ╛ а k " ыу┐}*ЇБ┬ё@ V Щ Ъ Ъ ╗ ═ ├ ~ A * 5 "   A 5   6  № ▐ё▀ф   P ▓  ╖ М С ~ W U н ║ o ^ *  3  С╝∙&█▓N Б N  ┐7 d ЇН№m~JOЦ√·╧╟Чc@|Цuf*у4ГО~^б┤┤╞┴╚╙ї     -  єп╔▓╛╢╬ щ┌╦   ∙  їр¤  ( 8 '  э│жи   ё╕nЩъшфё√∙їюЁ╚вУ╜р█╨▐уя▀╨╤╖░ЯБЩДг Й k a Г н ╣ Э ╢ ┴ п ╢ ╔ ╓ ╡ А 1 ┬ln┬╒ 2 Z Ж ╕ ┼ я ╣ ` K H b ( √∙ ¤▌│═ c G їа║Яч    + Д є ╨ Ю Ф г   L И И } y (   ▒▒kюky;ф8  Р Ф╙ГH■Я╘дuД╕ЄЁ╙▌╨┘ыъ╘Ї╫╕│┴╢ЮзЩ╜тЎу┼╥цч°    $ < D  ▀Н╢Н╢п╬ ¤  ё °   & J ^ R 3 щ∙  ь №ср¤∙юъЇЎЄє№ё│═╧┴╧┼╖╦ъїс╬╥аrЖбзq╡ в Е p ╖ ╞ ┌ л { y x б п ъ ▀ ╢ a ╞Н; l╠█ l { О ▒ ┴ ║ x 8 j m c ( ▐╦йЛ~Ч▀= А k 4 ю╜╣я " P L ` ш Z ┌ ╓ ╟ ═ ( ' v ┬ ╒ ▒ о C т─Cч+█Qвч╙kЗUЗ─LEЮ ╛╝╗р╔ї╟фїц¤№+ $  їь▀┤ж╘х·) .  ёсты   # + N P ' уY└▌°єў№           ) > C S =  " # ь▀▀  Ў  ¤уцэЎ∙°■█╞╝═█╖lwо╘щ▄┌╬╨╫нКШУдп ╤ ╚ Ч ╚ я х ┬ x h } Л А ╪ ═ Н 1 Ё┼F>б F Й ┼ ╨ ╓ ╤ ╠ Ч f d R ]  ▄└Ьбщ 0 ^ Z T a 4 ╧°  I Э ╧ ╣  2 э є Ё ╡ z a з э ┘ ╜ к 6 цР[Dw)G ╩хтЭЖ'рbх╚J╚ш, X U я  {3%А1ю ф¤   ∙фс ях L S  юыЄў     їтх▀▌ўЄ╙ш            # - & 7 0 ▀чъЎ ■■  ЎфыЄ  ·Є╨╟▒╘ф─е┴█▐╓╟└╟╫╓─Ш}ЛУж ╛ н ╡ ┼ р є Ї П н Ч | z ° ╚ П В n QїK│W ╙ o Б ╞   ═ н а s _ k T 5 ' є╚ёM 7 # - 2 % ■ + + * H _ Ю └ ╤ н и ┘ ╛ ╒ Р Л з ┘ ╚ ╡ Ц A   я═К$Fв╖ф |ь▐G╙Ш]Ки2 S } c 3 ╥═╣·$ШJУЎ * +       0 9 т O q ,  ∙  Їъ■ % ·╡ръюїЄэс■          4 & 0 ; Ў╕ЇЇ  °  їъя  ■щ▐°┼k╨▐▄хщт╪┐┴н═┌╩╝Хs]}│ г б ╟ ╛ °   в Я Р _ m  " м ╖ с X ╞t╟▀ г └ ╧ ▐     ╢ ~ d m C 7  < D 0 A A B f ╜╜ C O ; f n О ╛ б l X  _ Ш Ж l г · й К Л M ^ u ( ·у╟й╙╦╦╡Vй>w= К O G 3 U m G  щ О░ў3Xд▐! *   ·    ·  ! D x N ( . 4 4 √° - ∙┤░╣к╤┘яЁ            D d J $ ; 1  ∙¤ ■ў   ·э■  ·Ь╩√ ёЁштяч╥─Цб╛╨╨╖╗na\г ┴ │ р   ° ° к s к О r Ы ┘ ф Ю Ш , вAxмл^ ╗ ї ь ╒ ╒  + ═ z O ; . K 0 # > : % G ` ? к╧  6 C + U h b W W Z A t Ч щ К U Й Э Е , I N i Ъ C  ▌·═°єє▐ЧS╞` Д ┤ в i ) є №∙ў■╝уP)фR"Ю╙№    Ї┐╣╠  $ C [ I X Z Z S 3  я ▐ФЗ╨лыЯщыс ї·   &    ў■# " 8 V 7  8 > -    ■   ў  "  Ё╦ё   юч┘шт═г╡┬╞╧╔┐║|йП;О л т ы Є ▐ ┴ ╟ е y ┤ ╢ А a V М x l  вJ4lQыu Й Я з ┴ ╧ Є ╛ p G 0 1 I ^ E F 1  W o  ═ % B R X 2 J H I 5 = L K Ы ь  ╘ Й h Z a 5 X 8 B N R Є1 6 ¤ P & ░┤Є■═i м Б - ╦╫▒═╪! ! ХюеЯИ╣1p╒   ╩zЖ A  #  * > = 2   ╘Ў(  ╠╠└К╠ю√ї Ў       √Ї   % + 3 - - &  Ї√       !      Їщух▐Я░▐╥╧╠╙▒rМh|Ж Э ╜ ╬ ╖ й ╦ с ═ ╟ ┤ ╝ г Й g x Л Ф g ёб<└кX% K _ u ▒ ╢ е Ь Ж Y 6 5 K z a C  єO \ B > 5 9 F [ g 6 O = 9 J Y P c и є  у м  п i b > J h h 4 [ о Д s h R  АФ8╘ ╔r / ═╡╕зДл╜█ 7 шШЕЧнйЯ█■ · & $ №Е╤╓>  ■■ч╨╞═┘╪╝д▐, H  укСуї·       ■■ щш╕¤+ - 5 ; +  ·ъ             Ёш▄хр▄▌═Я╛╪┌│ЙСfVЗ ╡ ╖ ┼ ┼ ╓ т · ч Ї ╦ Э p x О ╧ ╔ ╝ Ы  д-bo╒? l m Ю ┌ ╝ б Л Т { 8 k Х Е < &  ^ i ] [ @ & . E 8    ) J b H W И ┐ ∙ э ф ▓ ╫ U ╟ n м в А y s ╜ У Я ╣ X 0  в ъ/ЯД:$╧ФЙ╜ V ` # ¤  чэ 2 H 0 H ╪jт°ф╧Е@$IuЦЗ┴ АлцьПrї№    . #  "   ├оД h L J J .                   "  ё▄╓┘с╪╤╙╔└┼╤╤├нЪИж ┬ ╜ л ╪ ў  т ╔ у   ╣ Ч к ж п ┤ S # уQ╣Э ░ a М ╫   ─ а й ╛ Ц С  w l [ - u Ц Д Й Q 9 J # ьЁ   < ^ М Р ▒ т ╕ с э ч ├ &  Я ╓ │ Ч ─ s ┤ о │ Я S I "  ╢4 yОРы╚╢╠4;bVп·? T 2 1 C \ n   n Б P R = " !  ╙═╘╝ ▒┤▄хс+AIЛ═║┬ъ╟J^═ъ     $ = 9   ╙╛чЁ . B * 1 > "  №√       ∙ўў № Ўф╦╥▌╫╨з╣║┼├│╕вЯЙIА┴ Ю Я о ┼ ф √ ц ┌ ╬ ц Є ╤ ─ Ё ╞ Е p U e # ╜═"╫D Э ╤  , ї ╥ ╙ ╘ м м y _ r l h * = | Ш Т Y w 4  ¤■  % j ▐ ▌ ╧ │ ╨  ° ю · ╥ у ┌ и i ╜ ь v Б Ф м m B  ╒╙╩p└н┐дgc┐Xf∙  ? , , З ─ { h Г a S c B $  хвmLя$єHu┐┬╧╓н┬╝┼kMКйпї  H P + , - ) ж╦х╦╕ь     ї√            ■°ёЁ∙·°ў▀╔з├╒└┬└╔ОЯ╕ЭmpuryI┐ о ╡ ╔ й ╥ ▄ ╗ Ц л о ╢ ╘  4  ╞ У С Д = єl ╤W ╠ я ь ▄ ╞ █ ё ╝ h ~ p ^ H   ц█9 q P P D ) 9  ¤ ) л - Ў в ╡ ┘ х ∙ Ї  Ё ═ в х  ╘ К г ` ( ю┤j0x└Я┤,Ї@a5В╥Т╠щ.╬   + A u Б } Q j _ T b B  ьд@╬}яMk?0H{\k░688И╖аШбк╟∙ 3 w x 6 * ∙¤┴┌▐ы╣э    ∙   їЎ■       эЄєЁў ўф└РЖ╞╞╩╘р╙Еа╕еЩеДqbm▄ │ ╛ р ╩ ┘ ▐ ╠ Ч ┌ ь ┘ ў Q > т ъ  ╖ W  ╠TA╫` ъ ё ╘ т ╤ └ я ╖ s Ь Х Н s ?     й Д Н A  2 R    ` я A я К  5 ╩ Б y ─ Є ░ д ї 2 х Ц Ч К @  ╒Ш0"ГМхнnВГ0MxУ1m=iс) ·ф3 G ] R Z 5 + 3 I ?  у╞Ыv√╡|gЪфXЁНаКе0МСТЦЭр $ A \ e O f Z F )   .    Є  , '  ¤      №щёўў  ёеПЫСт╢сїы╓з├ы┐┬д╢йМO┘ х ь ы ╔ ╬ ┼ Ч Н  х ¤ " F 2    я И 9 Ї ЧХ W ё  ё ■ ы ─ ╩ ╛ ╖ ├ ╡ а Л б z Z b ─  ═ ╡ E  / А 8 V O > m И ╡ З ░ M ═ Н Э m X Ф ╨  ¤ ┼ ─ ╤ ╥ ж u a 2 ЇН ВЙ!║оф+Ё 3╬∙^Я B  ї╗╧     ї▀лЖ\▄╟Ў╪ IУАл├щLЯьEpp}У┬▄ < R S u ╤ ╩ ^ 6 (  +     6 % ¤ * _ P      №╙├▐   ┌y░Ьs▄╥· █═║ф¤▀╝В╟╒вМЮ ╥ Ї █ └ ┴ ╣ П j ╖ ╞  I F # 2 &  ▄ е 3 э У╢ $ С ┌ т ч ф я ┘ ┌ ╪ ▀ ▌ ╙ у ┌ Ф г } j о ╦ ╫ y ` 4 ~ Б ц ╤ [ ^ Х z ^ И ╠ Ъ ╫ ї у Є  ! ю ┌ | | е Ц О F G D - ч Vv='╙0?м.╝╨(╖$ q : ) 1  ╜Хэ ф╘╘└ЯеOщ┤тЕ╘к■╦%4tЬГ╜EФ╟33YФ╫Є 7 L \ Т ╤ Я ' / 1 .     3 3 - 7 I [ \ 9    їш▓═° - 1    /  эъ∙  ёьў Ў█╥╨▐╣}UH w а ┼ ╙ ═ ╗ ж x Г ч  э э > ? · я ╨ к   5 ╙■K  ( Т ╕ ╬ р  ъ р щ   Ё  ╘ В z E Ж о ╕ м Р К R { h г ┴ Б @ б Ц e Q ╢ ╓ г ╒   ■ Ў ш ─ ╗ Я Ь ж Y J  4 )  ╜~Kг$ўЖ░о$ А d ` 0 9  ─Г J  █ГB#h╕5LюHaNЪ■a░=hЦcБ┴▀5жщ ( 2 I n o k n Д s [ T !    ' > T n k _ H 0      юОX╔4 H / $      ▌Ї   Ї∙ЎЄэ▌╪кХВz P q Ю ╖ ├ ▓ Х ~ Х   ╤   ю ╖ ┐ ╬ К Ї& Z #  m 8  ; Т ╞ т █ р ▌   7 6 &  в н Л [ и ▌ ─ { И п ╠ ┐ t Х с ╒ C s ╛ Н 6 [  f ╕ у ╤ х ь ╒ ┤ и Й Ш б a l ' Ў√▐╞═╢{┌н2|─ ■A╬B╙ляA g  ¤Ф л цоМН▒╟З╧рQт─nзМ├H▒+ЦgШ╘·(Wв▄■  7 4 E v С x Z 9  √сш∙ . : B Y Y l O 7 1   $  у╦ўI d . ё■¤ Ўц°   эЁ·Ёяъ▀╚fЛlo F w Н Ы о й г Ч м с Ё ¤ Є ╔ п й а г ? їc a (  v Y  a ┐ ▄ ╒ █ с  8 D S A Ч ╔ ┐ Щ  ▄ и ╨  └ ▀ ъ д ╟ Щ L c ж А ] С М Р ┌ ╒ ╠ ф ▐ ╘ б С } t  n а o B ┌N hЦ╕a╥,):!АїЧЙF}а▓ o  ╕p.│(╣╬k╞с╧ГЎBh8,╦╒╨╞4с╛k╠A▓а yўQbP╝црцЄ √2 g { Е N "       - @ 0 6 ; Q M : <    8 - * + > С ┬ k %        ╤э ЇЄ╥╡╕ЧгfЯ W Ц е о д ╢ ╖ ╦ ы ═ ч  ╜ В w Ч к V с^ б s 1 ( u l < > i е ╗ х ў  ; , p e  М х J  ╧ G  √  Х ╪ ы Ё  @ б [ V r ~ В в б ╡ Ї т ╘ ╤ о Ъ ┴ У N u ─ │ В m ╘s%RИ`ь]G╙-LjT Щв┬т1 U 0 Н]сY 9b9з└gЬcъLА╕- &щшТp;н▌4Ыn▀NZu■Є╠╧█ё╔ 4 - H 9 ? ? 3 7 / & ' 3 8 2 [ o h j З { P K @ ; 6 : e Ы щ  О  ! , %  № - "  ■  ─┤╚З7dD j Р й ╢ Ч е ╕ ▄ ▌ т ╦ ├ г w О └ ж юЕ Ъ Ж 8 < В Ь з { c m п ш є  O Ж w ц м 5 , Ё я " 4 % ( . H щ D c С K c o А Ч Ь Х ╛   у ┘ ё ─ С ╩ ╫ ╥ С ╡ ╩  { N 2 їбКT` Ф▀№┤№[ц р╔    + НюW{Й-╘a 4, ┴=:╙█/▐ Iё.C┘1й∙.К)"Г.  ╚ОdЗЁ  ! , O ; 0 . 5 З Ж a [ * c Н } f z 9  Q F 6 z ╧ ╧ ╠ з Ш ] яЇ їЄ ( Ўї·    ўп╖еzf; o ┤ ╛ Ю Ф в Ц ж з ╥ д З ╢ ь є ▐ З уюЩ ┼ y 5 V Ф ╠ ч б }  У ═ ї х  [ Z M s X j 8 с є  0 T L ? ?  э   ~ H J _ ^ д ▓ ┤ ┘   Ў  ! ў н ┌ █ щ ╣ Л ═ Н F , K d 2 ыХ╩j∙ u У ╒ и R   G , ·я╤(wЬ ┬<$Zr ;ПC╚l═;Ш╕╖▀S▌kAp┘C=?Ф  яЦ╖│╕* 3   ёC Г M Z b Я ├ М L O 0 G p Й 8 )   4 h ▐   ╜ ] )    ш▐└э■  ўїЄ· "  ∙Х╪ш╟ЩЩ9 o ╗ ╬ Ш У й Л ~ о ╦ Ц П ╥ с ] ╨ ╣ ╤ e J | п м ў х └ ▒ Я с   ! Z W t ╬ ╬ м g : ; < @ g Q E ? 3 ¤ ( ║ =  / i ╧ я  ¤ Ё Ў °   ё р ф ═ ╔ ╙ b А Е T Y И └ й i √╪l,Фщn ╧ ы ┘ ╩ в Ц ( ў ╣лё9aШ╗пsi│}╟─ёвp=▒ eA┌ывAаУй+mCIУ ┌╪A %  4 /   7 ь : s ` = < й ╔ О ║ v w ~ В W } M , ! h ▒ ╗ т \ 1   1 ю∙ ∙ ╦╬ы°·   ╚р╤▓╚╩K g ▒ ┴ д Л  И Э п х ╒ ├ ╪  √ Ё Ш 7 E │ и Д И М Н К ш  ╘ ╠ ╙ Є  " * & N Н ╤ ├ └ ╖ м x F N D R - + 4  3 т В - 6 s ░ ╫ ф °  > · т └ ╜ ┴ ╚ ┤ ╕ ╙ w p е П Е ┤ ф х Н 8  ф░O ╩ █ ; E ∙  * ╜  бнв░╧&|·Ъ▐▀°╤П║?┐`╘?TBЫ1U7tИ ┴┘·#|ї ¤ Z C P a i ` s ∙ є У d r D 8 М П Ш ═ ╕ { W Z z z Й о c @ Д в Ё q л╠   т   ц█╢╔ъ 0    ╟┬Ч├Й- @ Н Ч ~ c p Л Ю ц  ш Є ╥ я ў ╓ Д K k y Т Щ и Э { Ю ┬ ч ╒ є √  ; < ^ G { Р и н ╞ ▓ о Т 7 L B 6 - & ╤   ┌ ╥ z \ s Ч   o М ) · ╞ ╬ ┘ ╙ х   ║ ╛ ╔ е н ═ ╢ ┤ Ц ╪ └ а ═ " Ё %  7 z  l  ю  # ╞└hї╪) В z  { ш╟█q"цб_V┐k#,ў┤ %┘жEихъ}ы' 5 2 9 < З Д O R c Э л Ц В t G = @ C [ └ п k X D b P ж ╘ Т X d ╧ т K ╪  ¤█°   ъe░┘▐Є o V ' " $  ▀▒╦RG p Ы М Э t G } Х ╔ ╬ ┘ ў ╞ ╟ █ ╟ ` P j n ▓ ╨ ▒  l ж т ш ! W W G < 9 Z j И Ч { { ╝ ╛ Щ G " . R D $ № ¤ ╨ ы  ч т щ ╟  N # ╓  T k g "  ╨ ы A [ . Ї є ╦ л ╕ · (   │ · ї ╫ ╡ ч  ї Ь Е Ф ■  д е y W I Р ? Г║d '   п 4 ╗xbz─V ┴ФUK ЛN3▐`УЗb_П u╫ M V U W \ Й x C s p К ╨ в a l Е Z J I В Ч Д { - 8 B c Л и Ц Х ╤ ╜ Й М N  √¤  - ЇЕЕ╣у√ 0   , & ┌ЗЧИT З ░ Ш ╓ k > d } М └ Є   ╓ ┌ █ ╚ з ж Щ й ╦ ═ й ^ > Ж ■  3 7 @   1 1 [ z r Q b Ф ╠ │ R 6  P L  я #  ¤ > C 0 C ; C n К @ D $  Н 4   Ц p -  ┘ и й ╥ N >  к С З Ж v ╕ е # ║йщХ ▌ q ╥ ~ T e Ш Щ _ О  G N . ╟ S фщ b Е|й тт│ВЫ]к╖бO[4╩nr4А╖э# P < y л ╡ p 4 U u  у ╒ p { { q k T [ А m > " * - E r Ь ж ╞ ╧ └ Щ # ─╧╠·  !  ╔z╒ь  ў   ╧Е9^ G U k Й e / ` d m и █ ╠ ф щ ╨ ╚ ┌ Щ О м ╚ Ь D  r ё ш Ё є  ї ё   F K S V } Ц ╟ ╙ Ъ k 7 ; + ы р )   B w П з Q ' ` \ t Е ╪ / x z n > z _  ь ╣ к ╡ ■ 0 √ ╙ ┐ y  · G ╟SA IYp╞ . Ъ L @ O   р  T 8 д N L I 1 _ тВ9н┐Рч&(╠║K│─еСФМх  D | ■  г y | \ } Г Р Ы Ы  p z z Ж Р З \ J E : @ O _ z t Х Ф А r ▀^ая    чЙ╓  чнрюЇ   " √═╧U d М д y ?  n ~ w ╝ ф │ ╙ д ▌ ▐ ╠ ╥ Т ` Ш █ ╕ a 5 \ Ф а ╔ ─ ▀  ў ▀   D I q m ~ б ▒ ▒ w F d ` ' р ▌ №  P Ь ъ Ю Y e g > p Я d (  О x ╫ Ш Н Г `  Ё П в ═ щ 4  Р ╒ л R  rX√УД;с╔╡"│Дb ▀ ╓ л {  u У m Н ! " ўЎ Х230┐zОкмФВЪ^╕([╙ R Л Ь n S o Ж Є ╖ ╞ ┬ б Ш Р m e К t | М б Ч Л Г П И t Z g Г q к З l g k Ч ? ╠fиы   Єм╛ю* L ▌N─▐цЎ   ё╤╜їt ▓ Т f "  r Ф и ╟ с ╢ а О ╢ н п ж f d ├ ы ╚ Е Й { U Б ╦ ╦ ё  ц  @ B r Э ┤ ╦ Ы R & 7 2 $ √ є   6 Q З Я { i Х К | s ї └ Х Т l Ж Я Е c ╜ М  М Н l Г ╥ э ■ ф Р { А д 3 ЭmЁЕte▐╕/pC ║ к у   1 } V E ╓ o [ V # │fA9>! 0сР╚! K i a Р Ї  у л ╞ ъ Ё Ї ▄ Ю Ч ╤ й ~ Y p { ] j Ш О x Л ▓ ╦ ─ Н g В ╢ л ▒ ▓ v L ] q 0 b▐   ▀y╝∙% Y ЁЮ╫▀фцуъ█╬▌ьўP Ь А R  - Ф ╧ ╩ ╜ ░ У Й p |  Т Н 0 ^ ┴ с   ° б T t Я р = 6 № Ї   Ї L u  ^  ° K 8 ° √ є ф < f 1 W \ e Ы ╖ б } s к t F в · Ь M  1 м , Ж , D {  З ═ ў ├ Щ Е e О * сР▒rj$ 4Эc , Q  + ■ ї "  ∙ Є у _ WЮzBHWnАЕKIigЫб╘0  m П ╥  ъ & )  P 1     ╣ Н д ╒ ┴ о Ц Л М ` z ┘ т ╫ ч · т ╧ ╘ Ъ ╢ │ } n Ъ ╗ i v < ╟е╧   █ВtОу- X     ч┌╙┘┼╘щь N с ╢ ?   S д ┐ ю ┼ ┐ ╪ Г X / U o . \ ▓  = ┘ з m ( L я < %  ■ ╡ Н П ┼     ы э ! % с  Ї ў C 1 + J L O y й ═ w [ & 2 i r к Т ' ф g k ╞ л i Ъ Ю Ж l ╣ с ▄ в Й О r * )  ╗|)№╕╢MK╖уйР ╙ ╧  $ 4 % %  ╒ ╦ с Ч ^uнTф╙)г╗КСО▀ ? s R q В ╤ + х   7 p w i > B % ═ Ъ ╝ ▄ в Э Й } И К Ы т ш ═ ╥ ╤ ╒ ъ ю ▐ ╣ к ┤ ╟ є d ;  ' ш·  КXgj╦ .  - +  ╔]зХЭ╩█╩{ Ъ ├ ▌ j   V ▒ р  ╧ й ─ л Г / + ` 8 b ╗   ╩ ╟ м Е T J ═ . !  ▄ й ▓ с    № ╩ ╤ ∙ " )   Ї ( 0 &  : !  F r И I z % I Е y E  ь  щ л s Y [  Z Г И ▀ ▌ ╧ ▓ t О { Z X P a ▌═ ╧Эа>a╣\ ц B " ; Н ~ I 9 х  м 1 ╤Єи@└ЗАI ч■х H @ E p n ╠   є M k s : k В ^ { :  ╙ ╣ ╖ Ы q r p К ╢ ─ ▌ ▄ ┌ ╩ ╘ ё  ╪ │ о ╝  а 9 ( 7 '  ў° °lб╜█ % (  / Q N z┌ШNn┼┤╡e n ┬ ╓ w A З ╢ ·   п o | Л h 3 / g e л ▌ ╘ ┘ р ╫ ▓ Ю А w ═ Ў ╫ у Ё ┐ ╓ ' K G ▐ √ % 1 M  ' O ] C *   є = А S , &  < ; <  ь ▌ Ч ╟╢ к ░ Е ╢ ▒ п и W h { h ; P  I-Z═щ╫ь> ╪ ю c Ф Е ╟ ┼ g W ¤ ╨ ч П єп°иUш╬<°3 S H Ы ╖ q Б ж ┴ ▀ +  ц  V o H c L ) A 9 ї  ┴ ╟ и З З К h О ┌ ▐ E x O @ % ё ы щ Т v Ц П е  6 л ] < ╘Т╫╧∙   ? \ 4  G В  sVfС╧Ё╠п Й ж ╨ Р Ъ ь ■ + W ┬ Г h I   < ^ p ▄ ё ╔ ▒ ▄   ┤ Я k Ъ х ╞ ▒ П Й ╗ ╦  8 2  * 2 .    B * № ▐ х % C   7 j ? +  A ▐ ▌ ч ц ╧   ░ - шU К ╟ у Р В ░ к Д o 9 > [  ╧чЎtcъя< | ╓ ' 3 r ╙ √ ╡ л ` ) є т ┴ Э  ЛW-¤mъ)Аэ? g л й ┴ Є  ▀  ┐ ╗ ┤ Ю °  % X H 5 1  ╟ т & ╠ № ═ Э Ф  └ ■  ' S s U *  ╥ } Ц │ o l  N ы А D: .  ) / I { Ж A  1 ` L ╝H╧╘р ў═ ╠ ╣ ╩ ╔ ╩ ╤ # a F % ┼  b - ╙ C U L │ ║ ┴ ╣ # ┌ ╗ Ч ┼ ч й q v r н █   / ■ (  ц ї т ё  ъ к q б Ў         ш ╠ ┌   Щ Р │ Ф Ц │ ч п Ю └ ╜ П а _ J №╠чЛmёд┌Рм н H q У Ш й c c T ;   ╬ g `7рЄ▒JuгЄ6 q ╧ Ї ╠ я ф ║ ╖ Ж q Н о є  ' / 4 B   ╙ ч т N с╧x ╕ └     '  ° ╞ х м к г u В    є K uЭm╗1 d K - 2 I e { ^ - ; K 7 , ° !  ( 0  С ╖ ░ Г ┴ ┌ ╡   ! ы  ▓ g O ' ╚ P P , Д ░ ╬ з у щ ъ ╞ Ы щ ( Ъ X И С ░ ╘ ╓      $   ф ▓ ╥ ═ Л g D s ╫  № ю ¤ у ї ° ¤ х Ў ·  6  ═ б i z ъ ° ╔ ╟ х ▀ щ э √ ╓ Ў и . ╗LЕ─╡в'ЇУyМ■` 1 Х й R L B J t d C   O N ТC Ё<Й╫║╝ u У в ╢ ╪ ┐ ╡ л к д б ╨ э Ї   ╧ ╖ └ ├ ╣ и ├ ю  ; -  ў м q ╞ ░ И ╕  ъ │ ж п В ╙  ▌ _ █  * J Y C * : / J q r B ? M C E ║ " " ( . ' F ` и ж ╥ q ^ ┬ ч ╢ █ └ r N  ┼ Z c I Й ▓ └ У п ╔ у ═ б  9 н Н ╘ э н о л Б Ь ╚ ┘  E / ¤ ╙ ╖ j 8  2 а ч  ї ∙ √   Ў   ╓ ╧ ї : $  ╥ ╥ █ ж ╗ ┐ ╗ Ё   р █  є &  K ▓ЄM╥╒╝jXh*8u┤ % 8 : K Г Р ═ Ю G  п Г  cєСИщ╢ф╧ q ┼ ─ з ╟ ┼ ╣ Я ┴ ц ╜ е е е ╨ ╙ ° ╧ ┤ ╕ Ы В ╜ т Щ  3 ╖ 4 t f ( $ ы Н Ю ╡ d I ║ ╣ ╞ ╬ m A : C н ф ╦ [ 4 + ( B V I L ; 1  ) ? < 9 W P [ Л 8  0 ' ! E h Ю  ш 7 . ^ Й Н ╚ ▒ { М ┬ f s 1 @ О ╡ ╖ ░ ╨ ╪ ╠ ▄ "  √  ф ▐ ▐  ┬ z P l б  "     ╢ Q Є6 п ф   + 1   $  Ў ┬ ╘   % K  ф ╖ ╜ ┤ о ╛ ї A  к Э   $ ╒ g  <Oве▀Чe{Vо¤Птo ╒ N k з Ы в Д &  ├ И  ФV▄jз:П V Л Р й ╣ г ╜ н Л д Н g _ U c Ю ъ C  т ж Щ Э ╔ √ ║ з х № F С h  ч є ╙ └ е Х ╚ ╒ ▓ ▐ ╢ I / 6 L в ╖ } > , 1 4 ; G @ 9 - +     , E g N # , 5 %   В t У ¤ ┤   X з ┬ х ╝ ж З ▐, Z 2 > 6 В г д е ░ ┤ ║ ╤  3 " я ю ╦ ╦ ы ╚ ╗ o н ! )   % ё Ю L  9 С └  < ` a O  + 7 ё ╡ З └ э    № ╔ н ╟ ▓ │ ▐ / U ф ╩ 6 ш ╓ ╤ Т } \ЦЎ╗R¤y:╦ф~U R Д Э ╣ б г Я Л ~ \  в Q " Й╖НM|·Л ю ╥ е Я Ш Р Г Ы i @ V t x У ╚  0 , 8  ▌ ▓ Я ├ ╫ ш   P y c  ь ╒ ░ ┐ █ ╞   ° ╩ y 7 ; 1 4 u ` , ( / 8 < 3 N G 3  '  3 < 2 : 0 #  4 3     Щ f ╤ ╝ З @ = y о ╔ я щ к j "  b S ,  ) t Ы е ╖ ▒ ╕ о ╓    ▀ ╧ о ║ ▌ ╟ ─ } Я ▀ ╧ с  , Є д : + в ▌ ш a d K H ( & ) ц н ╛ █ ї · ▌   ш ▌ ы ╒ Ё  ц  b  ╚ ╙ Е Й В < ыyы┐Yъx~]█╝4b К ┼ ┼ ╠ ╝  ═ ж r R ї e 5 ЁKeMtЮ─: Щ Ю Z К в Ж Й л i + v и ╝ и √   : (   й Е н х  C V  - ц ь  %  8 ╘ б н Л T 4 6 B %  2 0 '   4 5 - P [ )  #  ! 2 . T \ 1 /  C > '   └ Г  ц б U t s Ю с я є г H % 8 i b K # ( C Е о о о ж Ю ╡ ╓ Ў с ╞ ╞ ╙ █ с Ю e ^ Ъ ж Э к ь  ┐ Й > K ┐ ш ш  ? J D 9 ) # (  с щ ю ф ┌  ц Ї № ∙   a О  ╬ л m Д Ъ b  ·d┴cqEЁ$╟и( 8 Ю ▒ ┐ р ▄ ┤ ┬ З * █ ~  ▀▌╨╔АЯТ╤¤ * ; i { ~ м ╡ л v п ╫ ╒ у + # @ 7 ° ╖  · ▌  W v [ d + э  └ щ M В p + щ u ^ c F 4 \ X - 1 ( ! #   . 4 F c ] 7  3 "  ( ) O D 7 '    [ D J K  б У э & ╦ а ╩ ╡ ф .  ╧ { ` p Б S : + ? b F k Н ж ┤ Д x Ю ╠ ф ┬ ▓ ╞ я ┴ а Е i З ╣ ╚ ╜ ╢ ╠ Щ 8 J a К з ё * 2 O C ! A > +  э ё э ╚ ▒ ╡ █   Є ╢ ═  щ : y j ) √ ╠ С ┬ ╨ Ы C - ╪А+у╪р`я;IE╗╡И j з ▌ ╚ Ч У X  ╥ в X фк5Zqu─  . > 3 C ^ Ю в в Ф к   с  %  ш ▀ щ ┌ 6 _ ] ╡ ╝ q a a N  ш г ■ ] P 1 э ╨ А p j _ s f I 6 0 $  # + # * J l z m Q + "   . M d ; 2 ' Ї L n Г q o З ▓ √ Ў  ч Є ф ┬ У ▒ К ╡ А n Щ V ] В Н Т ░ ╛ М Т р   ф ═ ё ═ Ф Э ╢ н ┼ ▌ ╔ Б A ' 0 К ╜ ╜ Э )  5 6     ь ю ╒ ╡ У ╜ щ   3  ▀ ё ▀ ╙ ╨ / X M  у ╖ Щ ╠ Ї Ъ # ┌бe4:╡xЯOг|╝Ї R е ▓ О П s Y  я ╥ ▓ . 0ў+_m│∙! H R M [ S ╣ и У ╠ ╤ ╩ √   ╧ м ╗ Y ` б К ├ М T ' 1  ╩ ▄ Ш ╦ ° ё Ї ═ ╣ v q a N Ф ] 3 6 2 3 1 $ & + , K q Й П U C Y d F L t a D N 1 ¤ч· 5 A ,  О │ ╔ ╚ °  ю ┬ ┴ с ╝ Р Ч f │ И f П Б В ▓ т ч ╞ л С ░  1  █ ├ ╪ ╤ Х Ю ┤ э т ъ ╠ a  Q ├ ╫ ╕ ╓ ы   ▌ ╥      " % ╔ ╩ ╦ ░ ж ╩  9 9  № °  ь  @ T V  ╕ к э ! ю ┐ ? ёв@% ╒кNкСє5 В о г t t m y Q 5  ° Н т┤{lЯГ┼ъ D ; X L Z ┼ ┘ ╗ Ё   F  ┼ ┘   B Y n Б K Б ;  ╪ √ !  $  ▀ х ╥ ╘ л ╡ Н a b ] ^ G C @ > < 4 ! * A D [ q Е д Z l С Й a n  C [ G ўтчў     ¤ Ї ф ╚ ї я ▐ №  ╘ м Й М г а Ь { c m Т г ╞   ▄ п ╛ ╢ щ   ш ╚ ╨ Ч Ш ╩ Ў ╥ ю  ┘ q  + Х с √ ╫ ╛ ■   ┴ ж % * ( , я ┌ ▌ ╟ ╣ й з з б ╪   ╥ ╘ █ ─ ▄ є 8  ' ▌ | s ═ ║ c Z 1 ╒СR<>╕Лa╞╪╪ї ╛ щ ╤ y v e Z \ P  ┴ Z ,  їш╚ў  5 > C F p г ъ  *    ╧ Ф с   ' ? \ c O l ? Q щ @ D Q d Q є ╦  ё ╚ у ╩ о u V M E C 4 ) & " * + F s Я г Щ д Ф } В Е y n < K B  Їш·   №     ъ ш    ▀ ╒ ░ ╓ ╘ В Ш е к г ┘ т ▐ щ ы ╖ ╚ ┴ ч ▄ ∙  ▀ А Т ╝ ╟ ╘ ∙ ў Щ @ : & М ш & 5 / . ▀ т G >  № ╧ ┐ ▀ ┬ Э П Ц г ▒ ╘ щ ┼ и └ ╓ ╖ ║ р  ╤ ╩ X   @  7 ╙├┼пЭ|s\^╓6ўлbмgо8 S ў ▐ v V ч Ў   я ╥ Й P 3 D -   5 . Y ;  N ` М у  ╫ ┌ └ ├ ╜ с   ! [ Ж s } { Г ' Z ] . ` П s G ▐  в █  ╙ k б Н = 4 3 4 . . )  2 U Р ╗ Ц ▓ а П  О { Q 9 ; 0  √√ ·¤ я¤  ў ∙   ) 0   ъ ╣ ╤ ▀ ╣ Г и О │ з ╠ р ╠ ╪ я ╦ ▄ ╛ ╦ З ╚  ═ М з ╢ ╔    ╦ v v Р v ╗ ц  F P : I  у ¤ * ! ,  ╘ ▄ ш ╡ ░ ╕ Я Ь м ║ з З p П и В n ` | u d ∙ь> n u E я═▐╗є7 W №▒ ┼\╕1Лвv+? ъ г { 6 ├ X%  я █ ╕ Е { > 6 3 o e I \ Z / + g Р с ╫ Ь ├ ї  ╖ ┤ х   @ B ^ С │ Х M   I Б h R m q m l + ) ╙ Ч ┬ е В Ч Э u L 7 @ ? 5 7 6 % $ > Ж ░ Ч v i Э Е t g J < 6   №їЎЎьс   Ё ■  * D t x 9 ╚ Щ ╗ ┴ Й ╢ К └ п ▐ 1   ш ╒ ї с Ю n А Щ О } ├ э ю  х ╢ н ╣ ▓ ¤  ' 7 $   ╙ х  є  #  ц ╔ ╥ ╞ ─ к Э ╢ г n K X N A S 7 4 J A х°U Б j | > + a Е Ч ╝ ┐ K фyv1IВx Ъ& ╬ ¤ E 1  [ ЬGї ( Ў ▌ ║ Ц м z Y R L * - [ B ? c н ▓ ╧ г л ° '  г й ║ ▌ Ў % > f н ╩ ╘ t   f u { } x > 5 6 B х П Z f V а ─ С п v E B S = 9 6 / 6 : Г и Б P @ s Н o R K O F F     №ёър 4 I $ я °  Г c  Ш П ў р е  └ Р ж   Ў ┘ ╕ ┘ ╗ В ▒ Н а К ~ ┤ ї Є ъ р л в ├ ╫ н п ╥ ▀ т ╘ ▒ ═ ╞ ╗ ╦ ═ ─ ▀  +  °  ╚ е Ц ╫ ╕ З c W G Z l c h  o 8 ` ╕ ╩ ╨ р ┬ ╥ э ╠ ╦  ┬ В : ∙# ╙+■Э═▀Ъ х х ╪ ╢ Х aК_З Є у ╓ Ц | Е М z ~ N   Q X Z Я     ╕  < T ° Г h У ╘ х   B Н Я О j C h А И Ч Ы e  °  ф k -  ¤Q Д q а о w Y K J A D _ U U V М Т k N O е ж Y c v v Q k C & . 7 + ,  √Є " 6 < ∙ ё т ф  √ ╜ Г Ъ ╨ ╩ ╘ T - √ ·  ь Ї р ░ М п Д T е б p А а ┤ ╛ Я Х С Б П Э ┐ ╞ ╤ л П ~ } q Ж Т м ┼ ╠ ╠ ╧    * . )  ╞ Ъ ╔ ╚ Ч | Ы а п Э Е { З П Н м ∙  . , F ! е } Б р ╖ Л ╬ ╠ ° М ═н┬ O w Й К q  ▓С+їZ з ╡ К Х ╟ ┬ В j Z 4 0 e а н ° : C  ╘  2  ╧ Х J Д ∙ Ї Ї  ! И М Й Б B G p а ┴ ж N ! ) Ў k   a { V Z T L W P M U Я └ R X s б Х m c Г ▓ ╝ С f C 1  F c ' ! , 0 ( 6 ? / ў  $ = '  ю ╝ ├ ж Ы Г Х ╜ ╒ ╨ Ў  ч  : % =  ╕ Ы ╡ Я Ц } w V h ┤ т ё ж Л Э Щ d f ] v ▒ Э Ъ y Д k l М ╕ ┌ щ √ Ї  7 P 0 C 8  ▌ ░ О └ ═ д Ю ╦ ▀ ╚ Й s z л к в х Z c ] 7 3 ъ 9 R Д ╞ Ь Н √ 8 3 Ї m j $ └╞ Ж ┼ з  ╫П▄2# g u У й ╖ ╥ ╒ й ^ / a ╢ ю Ї ∙ @ R A $ с ш  я │ Б M { ╡ ▀ ▄ ы 9 п С г а W 1 H Б г Ж N ? , A  s ;  8 R Z К u T R [ ^ Z n ║ ╖ i ` y В S L T o И н V   ў° #    (  ! K [ э D X J  ├ л Э ╛ м ║ Ї ф ╤ ╓ ї ╟ ╠ ? Q  ╨ └ ш ┤ Ж X  С r П ╠ @ ╦ А Т Р X Z Щ Б U Б г д и Р o л с т ц   ( N { ^ S   ╚ Й h к б В К ┼ ╫ ┘ д И У ч ¤ Щ ▀ к Х 4 ┘ а J н Е З j N Ы ц  є m б ╘x┬ёl > ╦ }  q╗А д ж ─  !   √ ╠ Х а   , 1 Y W -  ═ ╞ ╢ ╖ п Р r л ╞ ╙ у ° $ } Н Ч ▓ л ж К б З | c  ў т ┤ f  & n t з ▓ П q d b S Q w ~ z _ Ы | H J E \ К { %     ¤     є№  ; Y О Л ]  ю ╣ н ╢ ├ ╒ ■ э ░ Ь ╘  ё · э ┘ ╙ е Ц │ Й d U m ╗ Я а и ╩ А k л x d 0 , [ T V { ╜ ╣ А o е ╒ ┐ █ ■ # # . f ] G # ы и t Q Т Ы ^ x ┴ ╦ ╫ ╡ ╖ ░ ъ / u я " ) ╝ O   П Щ ▒ и ╗ ║ ▒ з ю B █ ╛ ╫s│Kо╝  ъ ┼ F бu  ╫ E j x S H 7 щ э № ; -  ) #  ш ╗ ┴ н п к н ╕ ╟    + ■ ч > Й Ж ╦ ╓ о Э к Ж ` Q  и П q x z r O m  Р Ъ г Ы З g I ` ^ [ b r █ ж t S k q Л ┼ S 4 " - 8  9  l C  ■ I < Л Э п Г ; я ┤ й ╬ ▐ ∙ є ╪ ╕ Ч ╠   4 A т Х У У к Э С  ] u R p А Y ^ b О x b  ° S  Й м Я И Д м ┴ ╩ ║ ╦ 9  ¤ ў ╩ ╫ ═ Я Х Ф i y Х m Г ╡ ╗ ╖ п ╠  H O Т № $ ┤ s T ! ╤ ┬ ў ╠ ╗ █ ▀ ¤ m p K ╝t = | Q ╩ f T $ ■ O Ф * ,  ┌  *    ∙ ш є с Щ а Ю Э Й l п є 2 C  с ] = h ─ ╖ Ж j c = ъ  в ? E N S j o U I ] v К В А Ж ` @ Z Z = 3 ┐ э н Ы u ╗ ┴ ╜ ╦ f Y 4 5 < 0 .  Ю b  ? y A Ф а о А 6 Ё ╔ ╟ ч ъ  !  в  y Ч ·  р 0  ╢ З ╖ ░ з ╢ к Ф z l 7 J w Д Е i ╡ Я Q    % Q О ╝ У Щ └ ╫ р ╬ ╖ ╝ ∙ ¤  ╪ ╔ ╥ ╢ Ъ а З { z v Ф ╞ ╛ Я ╢ √  А Г П ╥ т е Э │ б >  № ╞ р  2 [ Б U   ╛▓f└T> u Y Ы).  * i   g А / ! ' ¤ ·  ▀ ц Ї · ╙ н л Ь О Ь Г К └  ∙  Ў  ( A M g Ф Н i & ╧ Ъ д t 4 ; j s Е Ж Ц [ P Л Х v s Г e H U P W _ Ъ Л ` s  ~ а ╫ ╣ w _ B v W N ^ , ; > / R 9 T D Д б Й Ш U  э ф ы ╙ ш   ░ M R в ▌ ° ╔ ▐ └ Р В о ▒ ▓ п Л Й а Щ v а Ж { x k з ▒ П t \ >   V r t Ю ├ ═ ╠ ├ └ ╬ ь ■   ф ╙ ц ╓ а  ~ └ н К Д ╜ Щ Щ ° X O К п Щ А y a й Ё у S E < у ╢ ў & d z М E ╙ ўю<Я╟ЬД ╗ b ТЮH ┼  !  + @ $ Є щ '  ы ╙ ╤ ├ № Є   ▌ ╩ ▒ ╕ н Ь } p { │ №  % я Н Ы ╧ . w Т ╕ М ! ║ Ь y F 4 < X k P V У ^ H Е ▒ Ж | l S O N _ ж Б N Z Z c Ф o } ╝ ╠ л Й К Ч R   " # $ " $ % \ $ г Ъ Т Л j )   · └ ╫ ю ∙ ╦ @ I а ╠ ─ █ ╘ ╖ Ы ├ Ш p o К Г  ╕ ╧ ╜ в l f з ▒ ц ъ ┬ Б M _ И Б o Ч й и а д ▒ ╠ Ї   ї ╒ у ъ ╨ е Ц М ╒ ├ ь ы щ ┼ ╜ 3 B Р ╚ ╟ { / O Й П А & , M  ╛ т 5 X  1  Y ╚jor л} ъ ═ R = ╣ э  ∙ √   т   ° ╫ ╫ ╙ ю   2 Ї ┬ ╡ ├ ┴ м б Ж Ч у  ў ° ╖ x О ▓  C ; 4 ■ й } q 9 . E R T ; Y ` < A X q u p ` H L R > , , Y P V в Ф К о ╦ Ж q P = ) " 2 = 3 √ M B ┐й Т Ж Б Д S Y O ! с ц я ё └ V ` б ▌ т Ў ё ╪ ╖ № k w 2 ш ╔ ╡ л Н в ╛ ╞ з Ь К И Т └ √ ▌ ь ░ w Е ╚ ╛ й ╜ ░ б г Ь в и ч э ╧ ╬ ъ № ┘ ╝ и Э ▓ м ┴ х ф ┬ ═ # ! * Ъ ╛ l <  M Р l = 9 % A 3 ш █ · Ё ┤ м Ь _  ЬЕО]L ═ є  ї - T & щ  0 " ° ╞ щ т ╘ ╬ ╤ ╧  ¤ Ў ▀ Є щ ─ д Ь л Ю Ю Я ~ Ц ┤ И } ┐ є ┼ ╣ О ┼ 2 | \   ─ н Й q T C E @ Y i a @ Q Y e d b G 9 ? /  Ёё: O ^ Е ╗ Э ] C g Z ^ a >  ( 9 '  їсю  ╥╟ │ Я ░ е А y Y / √  -  ╪ k p У ╡ ▐   я ▀ ├  > - N 1 # я ┴ ╡ ▄ у п є  я █ н с х Ц а Д v к ╥ ц  ў ╕ Ю о Э е Ъ │ з Я ╤ ф ╬ │ Ч Х Ю С Ъ б ┬ ъ ■ & [ A . ? J Q 5 e П c G    р т ─ Ж X c f ;  ╙ФО▄yьс ▒ є    █ ┌  % й Я ╛ л ╛ р ─ с  т ╟ ю  № й o U h _ a ┐ ╓ Ъ { a W Ч ╓ ° ╛ ш  t U  ъ Ч  W + $ 3 2 L c q j c h P [ Y > +   ┌─·> G R [ b f Y ? a P C Q 9         : : ▄ ┐ └ ╪ о в н t - Ў  ,  Ю < K Х ┴ ╤ ╙ ╛ ╥ ¤ i m   Z J Є ╞ ╠ ╥ ° ё /  ь ╓ ╟ ▀ ╤ Д Д ┤ С в я ▌   ў т ь ╘ ─ и Ю й ╔ ╟ ╩ ╖ ╚ ┐ п Ю д ░ и ▐ : % D -  ( # Z Ъ Й Н У | Д 7 ■ █ ш   Ч - эч ў  ╛Жо]ИХ t ╧ ╦ з ╨ ╖ г ь  ╖ ╤ ╧ ┤ т ш ▄ ї э ╙ ц ш Ц d A ; - , X Ф i П Ы l d Ф ▒ ц █ ╫  ; ■ ╪ v S ;    & ? \ R k e m G T c K /  ╙н╬! C B A @ O f h k ^  ·ъшєїє¤  ·є  ё ╘ ╕ ╓ └ ╢ й Ш m 0  х е [ L Э  · Ё 4 X 3 $ ? R u . ╘ с · ы  ╞ ╫ ╒ █ ╘ ╥  $ х ё ╬ Т Ъ г е ▀ ╫ █ є  , ц ╕ б ╣ ь · у ╤ ╩ ╩ ╙ ┘ ┼ ╙ █ ч ( ) > J N B g Б а ▒ Ч Ж Ж p v D  ═ ╗ ь  a ра<c─ух╔╕1мJ 4 q ╢ а Ь Й Л Ў 1  я щ ╓ ё ї ё   ,   ┌ ╚ ▒ й Э l L S c  Ъ b \ I A Q h И Ф ┐ + L b k  Э e O 8   ' A ; 0 O \  t X j Q / я╩╛Ў6 A ; 7 H Z w d G ў█╞╜╞кМ╡├┼╤╫щ┼яъ ╓ ╪ ╞ ╡ █ ┼ й n L ( # · ┘ й } ╩ 0 8 Ў Є G $ 0 x w З  ╠ ш ш ∙  х ч х ╨ ╖     с я ╛ │ л М ╣   $ ї  т ╔ ┤ ╙  с ╨ ╟ ╞ ° ° ш ь   $  Ї  # B z О y h S h S 0 #  ° Т ^ v ▌О]ё3Э╢┴этCМYD } ┼ т ~ ж Я ╨ ! 2 = '  ▌ Ў ¤ ц    · ° █ ╩ ╖ ╓ ╙ ╕ y Ц Б А д V @ A D G ? b i Г ¤ ▐ Ї ∙ ╢ { ^ m L    9 O @ ,  ! F ^ O K . ё╓шє 6 : / 0 X O + / >  швУЧ7<nНв│Р\Ц┐ ┬ ╒ ║ ╢ ╠ ▒ Т *  C W E 2 ∙ ─ ┌ ¤   ё   & 3 _ m `  Є э ¤ ■ э ъ ╫ └ ╖ ю ╬ В П ╚ √ ╤ ╢ О ╖  9 9 G "  т х ь    ▀ ╒ █   ╫ Є *  '  ╓ ∙   ч  3 / 7 D #    У 5  ▒Uя╚СЪ║р╝Єhюїg ¤ ь ╧ ■   ' F Y Q 3  & є ф ¤  ў с ╩ ╕ ▄ ▌ ┼ Р н Щ Ю Ф R : Q j X @ B G c ╕ ╣ ж В { i V V J -  - F g P  ют 8 , #  ┘╛▄№ & *  & Y П 9 % N D аuXыcПчGuП~'9ж л ╞ б Я ж Т h ( * V V S .  у ╢ ╙   ё  " 3 > b J / 0 ¤ ╪ ▐ р ╔ ╣ Щ У к │ ╣ З ╪  № П Ч ▒ ╠ ; К j B  (  ¤ Ё ■ ¤ ъ с ю ў " ё є  "  ∙  ╒ ┬ ╒ Ў   ў   T ` D 4 . D   P  ╤╖╦ЩКЗ╞▐=&=█Й Ў   E q l i p h h g g F . Ё ╨ Q G  ═ ╒ ┘ ч ь █ П z Э Д U J W c x w H C U q П Ц u О m b r h S ?  8 5 &   ╠ш    ╚┤ц     Q ┘ U H z  │ЗАIЩT═)J4цз╕Sш ╧ ├ ▒ й ┤ Н e F R U 1  у ╗ р  <  ╙ є ! D G o j ] @  ф ъ ш ═ ▐ ┼ О М У а ╗ ╚ П z Ъ ═ ┬ % i G 4 G C 9 ■ ц   ·  №  +    /  D  ░ ║  g )  ' п ф d Б x d c J ш Я Й H ><c╝евц УЛШ П   4 p О e H ` Z b Ж П 9 Ї  I ^ B  ╒   )   ┤ Ц | ` M C ^ А а П ^ g _ W В З ~ k T D e z k K , S J   цў  ┼к╫√ +  ■ў, P N O c L ў_"╓oWЭ╩╨ЫЧ√│└ ╠ ╝ ╚ ├ ┼ И J : D T K 5   ■ щ  √ ъ ╙ ╠ ∙ N Z y к С R $ ∙  ї ╠ ▄ ц ┐ ░ й Ъ │ ╨ С Й й ┤ ╗ ╪  >  @ d 8 l S ( S K  √  J 5 4 (  " C 7    d 4   ─ ┤ Є В c M F 3  ╥ ┌ ╖ z  ╘КЮ┤└ХNИ▌┌╚╧& Х 5 p и m A O V \ Г В s K 2 7 ; c Y ^ q G ч   ╠ ║ ╡ М b V o b X ] О Б d u O L d z o ^ I ? X F T U 3 9 ?     # '   ·╝Ю╣╙  ё╒▌   Є 2 ·YЁЦPLf╥G╗│°CДО ┤ ╗ ┌ █ ╧ ╗ Р w  П x X D . M N J < ¤ ╤ ╨ ╓  Y  P o w = & C 4 ь ─ ┤ ╜ ┼ ╣ А | Я Р Д Ь ╖ ┌ · &  т Ё M 5  В G 8 Q Y W %  ¤ * A    є ! 8 B c d Ў  ─  П н 4  0 ■ у ў  ╞ a "  ТБ├Ъ$у] X . 2 g ┤ \ в Ю U Z a i Р Х Г О { t l [ ╟ и f c u .  с ж Ф Ч ^ P m Б Д d _ ` a c [ 6 Q n d Y M 4 D л Ж 8 2 2     # B   5 !  ╩▒й▓╥╓╠╠▀яў    ЭDч╖Бjм7oI·э \Ф| м ╕ ╨ ┌ ▀ ▌ ╣ ╜ ╜ │ З { e v й Ч О t 8   ё & E X g d j O > L >  ╘ ▓ ж ═  ╤ Я Б } j С ▄ A ^ ь ╬ ю L ( ё  °  ъ < j u ;    2  ! Ї ┬  Ї  K ' K j Z G q ╗ б o n b ( , 2  ╘ I █Эе╦зH>╤e Ч c X z ╥ " p д Ц d Y G m ║ С М | m x [ Z Е i - 5 c D 0 ё о а Г j \ X [ y А t g ` a R > Z b T H 8 ' @ f i A  ¤тї  ё     √Ў╧╕а╢п╠╤ч√є .  ╡нwЇр√║┐rВm17m─r У й ┴ ╜ ╤ т ┤ ╨ ╘ ╛ Я Ю Л й ╖ м ╜ Ц \ / √  @ X Д m l ^ Z ] T  э ╩ й Ё s 4 ╙ Ч ч є ь 0 y [ & °   ═ ▒ ╓ ■  Т л z k   6   3 ё   ш Ў { k f l k i f Х p @ O    ц Т L H ∙┼╠┘╛П╖S ╕ ╕ { p д \ О ╗ С Г y { Ш ▓ б Я О Л r H ; , @ #  я ═ ╠ л И к █ е q Ц в ~ h a d P @ I H : /    ? a  ёыщє у═сЄ  ф┘╚╛жФж╠уфт∙  х╚ЪЮ╞эсgЦЮЕ^]yк─` К Ф С ▓ ╖ ║ к ─ ▀ ╥ Р Е Й в Х о ╕ Ъ i R _ ? ? J X k V \ j z ` L  ▀ ╠ ┐  Е  с ё Z { О ` e T    ' " № ■  . G s ╝ Ь Ф J G B · я ы р   И ▓ z _ D C B U T H 1  ё ї ў ° ╞ Х I °лмчёфс, К ╗ ╠ ╪ н ▌ C Й м в Ъ А w z е ╟ ░ x I q \ .   ¤ ╘ ┘ ┴ ╖ ▓ Ш r n Е | s y ~ w u a a V K ? D = 1    / ` !    ь°╘╜┤═  ▐═╝йЦРл┬┬ є h  ─╨╜Г╡cеРЎZЦеиНm[}`e Г d p Х Ц к ╡ └ ╞ п Д p Б О [ [ Й x v b W a = ( : W W X H s { B Є ┘ ╬ ╠ ъ @ %  P И О П M 8 @ # " M !   ¤   B ? 1 о ╒ й Р H № ╒ т ъ є + D z Ш d > = " /   ( L L 2   Є ╫ ┼ p хЩ╔ъ 5 8 h Э ┬ √ B  √ 8 | М h y d V t з │ О $ 1  Ё   є · ╛ Ы │ У  h В | ] X ` s q Р Ц Ч w j ^ X W f d J &  ' / '  ющ│ЪШ╖тя╥╘╩┤оФаХж  , v ╠┘бFЧJАГ╓;о╗иАtbhC5Hd╚d╚ (}HDF5 JPEG-LS filter X;d╚(TREE                @ЬаId╚N { X } n ; 5 ╩ ■ ▄ п ы  ╪ ║ о к Ь А q P 7 3 (     V К r Е S :    M H ^ :  # (     э─д╙   р  ыИЗДЮ╞┼м/и╠∙╩Эо-K{Э├╦╙╩▄хщрс╓ью   ц╚єу╚ч╠pЧЮУ▌Є∙√Ї  √юяц┘▐╓ $ ) ,  эДН╜й│╪єлxЗыB╨┌ЭАpдjСБ1г╩║╗┐ЮJМ┼─╛ноЪ│ЯвmyЪЬqRшSsR(AЄeЬ|ШУУТsТ╩}ФИв▓l Х R I \ / ( ┤ ■ ╔ ╔ ╜ ╨ Ї ╒ ╨ Я s Z W < ! , &   d y Б { M @   Y Z 8  ц ¤╟╝╓∙╡H│х$ ' 8 ? - °вll╖Дй╥ў■П=$1т╕чmп╚▀ёц╓шє√Ўьчш°√ъ╚┬Ёёю№╪TДс▄хя¤∙¤ ўЬ╘ой╘ш  ! , &  с  тt║яє┴пx▓╜ФЦZТ┐║├ЖТ╗┤┐ж`жВc░dm│ЗdU`d^J~б╗YC┤ЭНЪ▒УNq║∙юЭ%█C 4 4 - 7 9 2 y С г ╖ М Ю ┤ к в q P P Q E E /  #    K m a b F 2 = *  3 6  ш█└y@?vБ=x╔№2 C M ; $ ў╣К╢╪╤ш % ╙╚ф╚ЮыЯ─Ыю7<Apвлся╪╦°∙їЁЁы▀яЎ▄щЁьэ∙·уъ°ё▓е·  ьЭ╞О╣ё· уц     ї ¤╪╩юї¤Ўъ╠╢┤▓░╧└─┬╟╦Эsб╙ТЖиnЦ│ЩжЦiПП 'Ю╕─┐А-жнxT)Ш╕Я╚╔ТХдл╩№тЩ$94 E 5 ' L [ A : A u s K G n X U X W d Q : Г Й L 0 d A  B J 5 / 9 4 * (    8 ¤╘╡m(=1 %CО╤ 9 :  Ё  гжу   1  їю╧Ефс▒▌(JMj╢╥яє╘├¤√Єэыц┌▄р▄чьт▐Є╬uЯ▄·▄╠Ї  № °юЇЄЁЎ╨╪ ї°ч╨ь═я  х╨╞р·ў ю┐Тзе┴╟█┘┬╢╗С═╫╝╘░ЫзГкvи░VGPАh_в╟─и}GйЙqеxC╣╤╒иСНХ┤▌ё╞а(6M2 A A . O w Z . < p x s O    = а К _ a Ф П 8 c Q : A & 4 ) ) *     ю╨ЗЖЁ'$;PzЦ╓  % /   рyТ█  ў  №ъ▐Щ/¤ыё+?qо┴╒▐эю· ўъф█▓зхчфшуэто┬чЇўєфЄ√ Ўё║  тцЇыэ№∙┌ио╡░sдр┌█tX╞ы  ё░mИб░╞Тб╧о┤ўт┌▀╟kf{ЮqЩz╩5Р.╓└пЪХИФРв┤Ю}╞┘╧ЭНЩЬ╗╚▀╖o└Ш3 9 B C : m e - ' W _ x 0  % їёC А u W C И и Ч И e ] e P 9 8 ; -   ■√ю╩Хb ╣┐ЇqПЬ─т√  + ' )    ч▐╘ф■  < 7  ъ╛ЖD6'5ANsd_╕р° √  ъ█юр└▒сф╙╢╡█ээ▀Ёяфя№°∙т┼пЙ ■ цn┼Ўф┬ЬЭ GВi╥├г╫∙ ∙╥┴й|╢╨║╡╤▀э °т┴╫╒ЖD~╨оvЗЙ?Хe·9РФдо╝зnБm_Л║╠╗WПЭЮНLЕв┼Ш┤╙9 G _ S + D 8   n `  №чс k Ы б O R ▒ ┴ Ъ Ц | d t ^ 9 ! ▄ш╕Эв╠е.р║┼ЎJY|Ю╚╟┌   " % & 4    ъ┼╘ -  % ! ■у║ИU3apT;t`GР╬у■∙  ьС╓ъьычу╥┘хцЛЯт╞┘рсЄўї№Ьа╓╥фь  % │йС╢пu"qПkПЙ│ №фЁ  ╡н╩▀с┌╟БЪу■ є╪╟╒║hз╫═Ow╗├пРLA=деWsslЙtkм═А╖▓ycА*aЧ▓i@л╟╔Ф; ; a h 3 F > < Р R ( ? - (  U Y | p ; ] ╜ У m г ~ Y l l E Ў╚РD/Da-╪╪Rбп▓╥─▐    2 * + 0 9 )   Ї╨Ё     єх▐╞УВбоЦtnБЧ╝╛ч    ╧Вц│┬Р╛╡$Q╖э┘▌╧╣╬чўўЎ▐ф╞╦чЩСю ю,  Y№фfW1С╝▒Ы * ЬЫсрю ( ┬г╠р╠u{П│ъїЁч▐т╚┬╚╔╬╝xп═▒йЛh║╜┬Б\^,vm\BИ`яZBuд╖оД3И╓╩J\ C c v 3 M { q Л К 7 ) R N ~ e С k d P N f С { k Б З j n ` < ВzJ&√ыуз└,bqся  °¤  7 E 3 F N I G 7   яЄ ъєюїёя█╗║▓з}54д█╔F█) ( * ,  є▄╖ovё.ъu┘╥ш▀╓Ўъхє·  чЇ ў╖шї▀┌&  кЙыD▐щўёк¤k @ ╞╫ъшэь▐ЗpМ╨╔Б╢╥рьу▐▐╘╒╤╬╩╒╙╞╒┘└╔╦╩╖╒ШаtыbL┐#Дcхт0ї╝Qг&1a~ап╗УВ╗▓9l I : W 4 R o : a `  ї, t  \ Щ б С В B 6 i Ц ж v J = 4 ? A ─jўш╫ОБo╚.Ий# ' $ / '  % 3 Q O F G > ; 9 ' $    $  ▄ №ї ·ъ▄╬╪ч░Neёчя█ 5 2 : 4  х╤┼A<xЭшЇШ╬▒{╣э╤Ї    ўф      ¤Ф█rrДг√ ∙ 3 * ўьЁєє}╠¤╬╧┴╖▌▄▐ц▌█▀╒╛╬╢╕╓╕╨щч╔┐╟╫р╪Ьйа+УгВNC¤B├*╚?Ш╢╗MЖЭ┤╣╕▌╚Аn Q 7 < g a ^ : m b 0 / p Й k Z О Ы Щ d % ; d Л Ж Ч \ 3 1 √о:╡╢╩╨йЪё3О─   2     ; K R 9 / D ; ; 6 - - ' % ' 1 # ь·  ■ь╪р ╬ c▀█  . 7 3 D D ц(Е вУЦЇ6l№▌  Ёш╓ЗT═   ▐╢  $ ) , 5  ]з╞"│╘° @ w ; їя°° лs  ш╤▌╫шу▌▄╘╫▄═╣╟╖└╒┴╪ч█▒гТ╦█╥╗╧┤к┐л┬ЗДC┬гШ п+gOўд╖`xЦЩ╕█ЇЁj ^ m E П п з Б ▓ ^ J Ш Ч W В Д Ч В t = 8 ` f В в Ч j = $ █Ч%Е:аЎы╩х!@`У╦   ! & 6 Q J A 7 7 C ? 1 + * / $  7 ) й░   ў╬╬┘╟ьаг∙ "   , 5 [ E Э│К_ь╜|╩ЩЯ╨°э   ! ╧up▌) -      $ 0 = J y  Uhыяў·∙ . ∙   °жx °ц▐цч╒╓╘╓╧╥╩вв▒╦╦╛В╕ы┌╕еЧ╘╬Ц?░д╡╟╟╗Т╣]?ЦpUкЫ дёцўV|uОнфЎq Z t П ж ┼ П ▓ ─ П a Х } r k a s b ; % 7 { Г е ╦ Ы } T #  ш╗О.╔ ;NсЖ╛╓╜█Z┴Є  # J Y Q = 2 6 - .   + #    ║╘  ╥Ж╢яы Ї╦   ·< j N ∙ 1 * 1   ┌а╬║╨ 0 + %  " 4 J = $   ює " $  b Ё Н ·ъЎ°    .    № █╛▀·ыя╒╓у╤р▀╓╠╠Тmп├╤аиЕ═юёфРx┼ЮМЪyi▒ФУ┘╚║rU°▄О\D$█VAyъ4iI,{╨К d Й Ч ╕ ╤ Ы в ╛ П д ╜ е Б } Е { V K @ q д й Ц ╩ ┬ С @ . $  ╔░╕pz╒╧G╩oП┴Я∙Вш     5 ^ X L C ( ' ! їЎ !    / √ьШЭ█BR(Жы■╨ шю S e ` f U @ 9  ў   ╛я   / = % ╒ ) A 6 : /     ╟┼ ' % C : ; !    % 2 $  їыЦь6 &    щфчь╫┴╫╘└П┐─╬╪│║╓чюх╫╠ЧЬЬп─ЩЫ▒╝╒ыгЮЖJ1`Y╖b╤╚RH;рЦ╩КI╜ИI U ~ З У м ▓ д ж v к Ч s Ш л ┤ ╨ З ` j ╟ ▐ ╗ У |  G №э▐йtGMХ R 5 ─nEE7 :Ъь    2 D 8 F ; 3  ∙щ  &  ) їч  й╧┌╘юN}╜  ╣╟╓ H X Z W W a O C    2 H *  % )  бч      ў ╤┘4 -  ь6 s . · Єё2 2 !   ╓╪* V .    ЁэЁЎ╞з┴▌║Д╩╥╤╩Ев▀тш▄╓╛rо╓╬АЦ╛╝╒┌┌ЦБVюч[oPdUб╠ImЬєо┘╣5< M м ╡ Ц К p | Ч Х Н Т Ц ╜ ┴ ╨ ю ╨ Я ж ╥ ┌ о П ~ `  эц░qык,▒" i h  П├╙sMЗ╙Ё   °< * 5 9 = # ю + (  3 *  №B 2   №▓ _ M =  л√О } ~ a 3 8 N O !     ( H E  & . *  Їх▀цхё█╧ш  @ # °╞ :  ▌╩Ё∙·  тЄ¤фЇ/ 2   )  ёю є▌╤╦▌╟л╙╦Ф+ж╓╘сч╔╖пШ╡╠╣uи╣┬ф╘Ф H┬$&тKЙLєЎВEk· Bd o М З з Й ~ В С ╢ о Э е ф ╩ ╟ т ї ╛ ▌   ┘ ╦ Ф W    Эн╒2WщR ▒ Ы  °┌ПА╜ш     ; 1 (    4 X    3 9 1 3 Y  - w ч! Ї╓╕ л┘ `V9 И ( c ╝ y ? 6 7 !    · 5     ўу╒╔╛╡лдДL]Я╒¤ Ё─э■ ї└╫є·№  √·  "     ■∙ ▐│╩╓╜Г╢▐╒г]╣┼┘чц╙├╚╞╤╫╨╩─┬╤▌пykВDO> ■AБГ[2hB(╤╧Zzа╠ е Ч p О c t { k Я ┼ ├ Ь е ф Ї ├ ╬ б ╗ ° я ж  R T 2 R чz9LMGж Д ╬ │ P  ┘н╝▀ў  "  ' k t .  ; `    + B S U 9 +  ° R   &  Ї МЛлm-▀\ / Z ▄ р ч | > #  ■∙ #    √∙у╥оШКГj+т╓╧6Э▐у╤з┤╦тшууЇ  Ў·      Ї∙ √є∙ё█║├а▒в╤▐К░▌┌▐ыхфщчэ  ■ц╬╙╘╔У}qЪ|S"`i?nЦТОЙ{ZяЦ╕Я╟ ч Ю ░ Р > A E 4 В ╔ ╣ └ б └ · Ю б М  Х b , ' l Г < , ╦ж╞█ЦЧ2 } Ь Ф С | ` 1   Ў  ' #  $ c h      . ! % R x r И ~ _ 0    ; W Н M Б  ∙tн c`┬ 2 У ┬ ы ? э e   Ёё    №ы╘┐ЧhTF1№аNHН┬-Л┤ЩЖzХ▓╡щЄ╥э■∙╨у єё¤ █╧Ў№ №ьЎфо┐╓█жТш▐~╜тэєшфцшщє  ўт┘▌╬мFЕииЧШ2L8x?ИЕй┤йt∙7Ь░О╠ш ╚ М А l R Q ^ ; Q Л ▒ ° Х e e c Щ л t _ L - х] И m N  < N , ▒╙f И и И %   * < O % + F f K I , J P   7 !   3 ╗ щ ▐ ▄ ╞ К h = * . [ { ╝ а │ ║ d ¤╦51ь D Ю П ╘  Ї м E  ╙▀  °ч▄╚пo5 ·унЗD$m┴∙L^a~Ылп┤ўъ°∙їЎїЇ°∙Ў ╫╘°   ¤їЁ▌═┌═╤┤зыЁюъэ   єЁ▐┌рцъ╞╬╘╩╨┼├╫╙╘╞Е-lЎUPKazй╠╣kVё1d<╞┬ | i Q K E a x d P А ╕ ▄ К А M Q z Б c L S ╙h! Ы ▓ з Ц В Д w 4 > А Ч ╞ i ¤■ ь ! ( ; C Y B I : < 9  ∙·    ; я Є  ╟ е я х t  ¤4 n ╡ ь ╣ ]  *` Rя B Ы ▌ ▌ ц M  ╒ <   ╕╨чу▌╬└╕u╒▓░ЫНШк┤ц,KeЖЛХм╛╞уўя▄їЎЇЇюшт╟ш ■єЇ∙  ¤∙∙╬▄с█он┐═ЄьээЄ   ·я╔╣╦╫╧╣═╟Ы╙▀р┐╥╚┐hA|IЪ│├Ц║у▄з0A1OАи Ъ x i e < 8 S Д z Т в о ╫ ║ Ш d n  ~ B <  Xц└Е │ Н x В Я б Ь [ R Г ┤ e Ї їф∙  ф╓ю    №ў°  `  √ │ Н ╬ B > ╚ _ k p e н р О  █F4kЎ s ╔ ╞ ╟ ╩ 8 / ∙ N * ╚а┼иР~СН:єйC[о╤Ў .PwЫ╗╔┐┼╔╔╤ушэьў√я┤л▌ж┘ёч╫ц   №Ёє╓фяь╢░╙сёя√ЎЁ %  ц─╠╓╥╟╪╬й▐шус╜пЛМЧоРоф╧йе╧ту╝╕┐ЦSТ√ №№ ╘ п x 1 - 0 3 ] Х ┤ ┤ ╗  P h Ц └ И ё╠╫>C О ║ Ж | Д ╛ ╪ н 5 ц [  ├т ць  ї╘╦р№   ¤Ї·   B З ╚ Ю и ▄ B _ ё х ∙ ╙ ╢ ╢ j 5   ╨э- g : J ╤ ё ╫ ъ ▓ █ @ ┘ > 2 Й ∙а╟Ь:B^k4№║Ie─<WnВЦи▓┐╞═╬╩╜╞╫▌хю ·ьх╣╛█С█ё№    █у╒╓Єў╤ЖюЄє■ў°  4  ф┼╙▄╨╫╫╩█щярЧз╧У]Р{С╠UW4AЭ╔▓[╝т╦К└ь ▐/  ╗ О d L B 9 9 ^ y u k 5 $ z z Д w  ╬В(НK И ┴ ╕ Ц ─ р э ш Т ·лаТs╔ь└¤Q ?  ¤Єў   №ЎЄэЎ  / ~ o Й ┤ є 5 # ц   ╛ ╫ ▄ юY Q 8 X K T 7 B ╗ я ╞ ъ ╠ м ┘ ╥ ^ 7 x  ░з╝ЫЕnrK,Є╛╦Ё&JБЬ┐Ўэ┐┴╘Єєъ├щх▌у   √э╫ыяЪЮц    ▀ф╕╣ё  √ющ ¤є    ■Ё┘╟╤▄═╔╣╢▐цьщ└р ▄│╚░е╜9P{о^g│Щ╩хеKМъ ┼$ ) ─  v w А k = f w b С m h O ? n $ ъ┘xM╥q ж є ╦ А ╔  ▄ ╘ │ h ╤И┤БкD F ? u a ; %     ¤ЎёЎ   1 5 ~ ├ ж е щ ° ╖ м м г Л ж Ы  S j E ^ Ю p 8 8 * И ┌ Н ─ ц Ц C t A ыE ё~АыыаТ║йa ╟╒·'Wт)  ьш█Є Ё▓тух┬ё  ■· * к╕ў  ╤Щ┬∙   ЎьЎ ¤    ц┘╬╙╧╫╨╩╟█ц╒╙▄ь     я╨╓ц╙╨╔~Т╚╒┘▐Л_w┌є╛ ю й ~ n e b \ M М ╢ Р У ┴ ё д Y L  ╫лE_/ Ч ╔  ╦ к ╘ ъ ъ ═ ~  █╬╔╣Q з z q К j ? 8 2 *      L f U Ъ х ░ | L ) N А 3 / ? o и h У ^  B¤( $  ┘ ¤ Щ ┌ ь ▒ R  х╧└54}╤у╘╤╬╢ZэЕХ┤═▓fм^╬╠Юз║╤тЄ яь  √  -  ╔Ї¤     ├┴щ▀ ╔├ц·№    ф╦╓сср▄╤┼╟╓╥╬╨у   ▀Єьч█лVVqНз╒фщ┘╝Иo╔╪└╧ ┼ а М v [ D X k п  ▐ ╔ ┤ С c a 3 ╚ЦBИR l п ╝ м ж ▓ ╚ ° ю ▀ Х Q   ь7 С u F  \ F O 8 0     &  J я ° ╢ ╪ х Ц G  Ў' o ' # L m y K 6 √ц№╛U = d ╣ е ` и ╣ н Б  ╟ШS`ц █УB╙sЁ! ▄╝E╨/ZAeЭг▓ъ■їЇ =  ящ▀ї·  ╥ў№єъ    √∙Ё√  №хЁєў      ┬ЙхєўхфаК╖╥╙╓╒▄ў √чЄ▀╓╙╞ЧА╚╒╦╤т┘Л/bМ╗Ч}е е Г Z P N M L c ж э ∙ ╪ З Z [ > ' ▀ж{!Ю , Т Р ╡ а З ╜ ╬ ╟ ┬ в g - ) ) & * \ S . = F , 1 .   ■ !   М ! 5  я ╛ Ф b F P ^ m ^ a 9 я ▒Б┤ r Е Ж z C x Й u / мCQT:KЧ % ╨Жv|~RА╖B∙=HPCsжЯ╛╓╤ё∙   ё┘уь )  ё▐┌╫▌  ┬╟ё▄°    ў╒ё  # !   ■╙zЬЎ сЪеРбр═█фЄ¤■ўэ╫Фr╟оЫ█▀▄╓┘╙К^м└┐КuЧ П h a Z u q v л ╘ ╕ ┬ ╛ а k " ыу┐}*ЇБ┬ё@ V Щ Ъ Ъ ╗ ═ ├ ~ A * 5 "   A 5   6  № ▐ё▀ф   P ▓  ╖ М С ~ W U н ║ o ^ *  3  С╝∙&█▓N Б N  ┐7 d ЇН№m~JOЦ√·╧╟Чc@|Цuf*у4ГО~^б┤┤╞┴╚╙ї     -  єп╔▓╛╢╬ щ┌╦   ∙  їр¤  ( 8 '  э│жи   ё╕nЩъшфё√∙їюЁ╚вУ╜р█╨▐уя▀╨╤╖░ЯБЩДг Й k a Г н ╣ Э ╢ ┴ п ╢ ╔ ╓ ╡ А 1 ┬ln┬╒ 2 Z Ж ╕ ┼ я ╣ ` K H b ( √∙ ¤▌│═ c G їа║Яч    + Д є ╨ Ю Ф г   L И И } y (   ▒▒kюky;ф8  Р Ф╙ГH■Я╘дuД╕ЄЁ╙▌╨┘ыъ╘Ї╫╕│┴╢ЮзЩ╜тЎу┼╥цч°    $ < D  ▀Н╢Н╢п╬ ¤  ё °   & J ^ R 3 щ∙  ь №ср¤∙юъЇЎЄє№ё│═╧┴╧┼╖╦ъїс╬╥аrЖбзq╡ в Е p ╖ ╞ ┌ л { y x б п ъ ▀ ╢ a ╞Н; l╠█ l { О ▒ ┴ ║ x 8 j m c ( ▐╦йЛ~Ч▀= А k 4 ю╜╣я " P L ` ш Z ┌ ╓ ╟ ═ ( ' v ┬ ╒ ▒ о C т─Cч+█Qвч╙kЗUЗ─LEЮ ╛╝╗р╔ї╟фїц¤№+ $  їь▀┤ж╘х·) .  ёсты   # + N P ' уY└▌°єў№           ) > C S =  " # ь▀▀  Ў  ¤уцэЎ∙°■█╞╝═█╖lwо╘щ▄┌╬╨╫нКШУдп ╤ ╚ Ч ╚ я х ┬ x h } Л А ╪ ═ Н 1 Ё┼F>б F Й ┼ ╨ ╓ ╤ ╠ Ч f d R ]  ▄└Ьбщ 0 ^ Z T a 4 ╧°  I Э ╧ ╣  2 э є Ё ╡ z a з э ┘ ╜ к 6 цР[Dw)G ╩хтЭЖ'рbх╚J╚ш, X U я  {3%А1ю ф¤   ∙фс ях L S  юыЄў     їтх▀▌ўЄ╙ш            # - & 7 0 ▀чъЎ ■■  ЎфыЄ  ·Є╨╟▒╘ф─е┴█▐╓╟└╟╫╓─Ш}ЛУж ╛ н ╡ ┼ р є Ї П н Ч | z ° ╚ П В n QїK│W ╙ o Б ╞   ═ н а s _ k T 5 ' є╚ёM 7 # - 2 % ■ + + * H _ Ю └ ╤ н и ┘ ╛ ╒ Р Л з ┘ ╚ ╡ Ц A   я═К$Fв╖ф |ь▐G╙Ш]Ки2 S } c 3 ╥═╣·$ШJУЎ * +       0 9 т O q ,  ∙  Їъ■ % ·╡ръюїЄэс■          4 & 0 ; Ў╕ЇЇ  °  їъя  ■щ▐°┼k╨▐▄хщт╪┐┴н═┌╩╝Хs]}│ г б ╟ ╛ °   в Я Р _ m  " м ╖ с X ╞t╟▀ г └ ╧ ▐     ╢ ~ d m C 7  < D 0 A A B f ╜╜ C O ; f n О ╛ б l X  _ Ш Ж l г · й К Л M ^ u ( ·у╟й╙╦╦╡Vй>w= К O G 3 U m G  щ О░ў3Xд▐! *   ·    ·  ! D x N ( . 4 4 √° - ∙┤░╣к╤┘яЁ            D d J $ ; 1  ∙¤ ■ў   ·э■  ·Ь╩√ ёЁштяч╥─Цб╛╨╨╖╗na\г ┴ │ р   ° ° к s к О r Ы ┘ ф Ю Ш , вAxмл^ ╗ ї ь ╒ ╒  + ═ z O ; . K 0 # > : % G ` ? к╧  6 C + U h b W W Z A t Ч щ К U Й Э Е , I N i Ъ C  ▌·═°єє▐ЧS╞` Д ┤ в i ) є №∙ў■╝уP)фR"Ю╙№    Ї┐╣╠  $ C [ I X Z Z S 3  я ▐ФЗ╨лыЯщыс ї·   &    ў■# " 8 V 7  8 > -    ■   ў  "  Ё╦ё   юч┘шт═г╡┬╞╧╔┐║|йП;О л т ы Є ▐ ┴ ╟ е y ┤ ╢ А a V М x l  вJ4lQыu Й Я з ┴ ╧ Є ╛ p G 0 1 I ^ E F 1  W o  ═ % B R X 2 J H I 5 = L K Ы ь  ╘ Й h Z a 5 X 8 B N R Є1 6 ¤ P & ░┤Є■═i м Б - ╦╫▒═╪! ! ХюеЯИ╣1p╒   ╩zЖ A  #  * > = 2   ╘Ў(  ╠╠└К╠ю√ї Ў       √Ї   % + 3 - - &  Ї√       !      Їщух▐Я░▐╥╧╠╙▒rМh|Ж Э ╜ ╬ ╖ й ╦ с ═ ╟ ┤ ╝ г Й g x Л Ф g ёб<└кX% K _ u ▒ ╢ е Ь Ж Y 6 5 K z a C  єO \ B > 5 9 F [ g 6 O = 9 J Y P c и є  у м  п i b > J h h 4 [ о Д s h R  АФ8╘ ╔r / ═╡╕зДл╜█ 7 шШЕЧнйЯ█■ · & $ №Е╤╓>  ■■ч╨╞═┘╪╝д▐, H  укСуї·       ■■ щш╕¤+ - 5 ; +  ·ъ             Ёш▄хр▄▌═Я╛╪┌│ЙСfVЗ ╡ ╖ ┼ ┼ ╓ т · ч Ї ╦ Э p x О ╧ ╔ ╝ Ы  д-bo╒? l m Ю ┌ ╝ б Л Т { 8 k Х Е < &  ^ i ] [ @ & . E 8    ) J b H W И ┐ ∙ э ф ▓ ╫ U ╟ n м в А y s ╜ У Я ╣ X 0  в ъ/ЯД:$╧ФЙ╜ V ` # ¤  чэ 2 H 0 H ╪jт°ф╧Е@$IuЦЗ┴ АлцьПrї№    . #  "   ├оД h L J J .                   "  ё▄╓┘с╪╤╙╔└┼╤╤├нЪИж ┬ ╜ л ╪ ў  т ╔ у   ╣ Ч к ж п ┤ S # уQ╣Э ░ a М ╫   ─ а й ╛ Ц С  w l [ - u Ц Д Й Q 9 J # ьЁ   < ^ М Р ▒ т ╕ с э ч ├ &  Я ╓ │ Ч ─ s ┤ о │ Я S I "  ╢4 yОРы╚╢╠4;bVп·? T 2 1 C \ n   n Б P R = " !  ╙═╘╝ ▒┤▄хс+AIЛ═║┬ъ╟J^═ъ     $ = 9   ╙╛чЁ . B * 1 > "  №√       ∙ўў № Ўф╦╥▌╫╨з╣║┼├│╕вЯЙIА┴ Ю Я о ┼ ф √ ц ┌ ╬ ц Є ╤ ─ Ё ╞ Е p U e # ╜═"╫D Э ╤  , ї ╥ ╙ ╘ м м y _ r l h * = | Ш Т Y w 4  ¤■  % j ▐ ▌ ╧ │ ╨  ° ю · ╥ у ┌ и i ╜ ь v Б Ф м m B  ╒╙╩p└н┐дgc┐Xf∙  ? , , З ─ { h Г a S c B $  хвmLя$єHu┐┬╧╓н┬╝┼kMКйпї  H P + , - ) ж╦х╦╕ь     ї√            ■°ёЁ∙·°ў▀╔з├╒└┬└╔ОЯ╕ЭmpuryI┐ о ╡ ╔ й ╥ ▄ ╗ Ц л о ╢ ╘  4  ╞ У С Д = єl ╤W ╠ я ь ▄ ╞ █ ё ╝ h ~ p ^ H   ц█9 q P P D ) 9  ¤ ) л - Ў в ╡ ┘ х ∙ Ї  Ё ═ в х  ╘ К г ` ( ю┤j0x└Я┤,Ї@a5В╥Т╠щ.╬   + A u Б } Q j _ T b B  ьд@╬}яMk?0H{\k░688И╖аШбк╟∙ 3 w x 6 * ∙¤┴┌▐ы╣э    ∙   їЎ■       эЄєЁў ўф└РЖ╞╞╩╘р╙Еа╕еЩеДqbm▄ │ ╛ р ╩ ┘ ▐ ╠ Ч ┌ ь ┘ ў Q > т ъ  ╖ W  ╠TA╫` ъ ё ╘ т ╤ └ я ╖ s Ь Х Н s ?     й Д Н A  2 R    ` я A я К  5 ╩ Б y ─ Є ░ д ї 2 х Ц Ч К @  ╒Ш0"ГМхнnВГ0MxУ1m=iс) ·ф3 G ] R Z 5 + 3 I ?  у╞Ыv√╡|gЪфXЁНаКе0МСТЦЭр $ A \ e O f Z F )   .    Є  , '  ¤      №щёўў  ёеПЫСт╢сїы╓з├ы┐┬д╢йМO┘ х ь ы ╔ ╬ ┼ Ч Н  х ¤ " F 2    я И 9 Ї ЧХ W ё  ё ■ ы ─ ╩ ╛ ╖ ├ ╡ а Л б z Z b ─  ═ ╡ E  / А 8 V O > m И ╡ З ░ M ═ Н Э m X Ф ╨  ¤ ┼ ─ ╤ ╥ ж u a 2 ЇН ВЙ!║оф+Ё 3╬∙^Я B  ї╗╧     ї▀лЖ\▄╟Ў╪ IУАл├щLЯьEpp}У┬▄ < R S u ╤ ╩ ^ 6 (  +     6 % ¤ * _ P      №╙├▐   ┌y░Ьs▄╥· █═║ф¤▀╝В╟╒вМЮ ╥ Ї █ └ ┴ ╣ П j ╖ ╞  I F # 2 &  ▄ е 3 э У╢ $ С ┌ т ч ф я ┘ ┌ ╪ ▀ ▌ ╙ у ┌ Ф г } j о ╦ ╫ y ` 4 ~ Б ц ╤ [ ^ Х z ^ И ╠ Ъ ╫ ї у Є  ! ю ┌ | | е Ц О F G D - ч Vv='╙0?м.╝╨(╖$ q : ) 1  ╜Хэ ф╘╘└ЯеOщ┤тЕ╘к■╦%4tЬГ╜EФ╟33YФ╫Є 7 L \ Т ╤ Я ' / 1 .     3 3 - 7 I [ \ 9    їш▓═° - 1    /  эъ∙  ёьў Ў█╥╨▐╣}UH w а ┼ ╙ ═ ╗ ж x Г ч  э э > ? · я ╨ к   5 ╙■K  ( Т ╕ ╬ р  ъ р щ   Ё  ╘ В z E Ж о ╕ м Р К R { h г ┴ Б @ б Ц e Q ╢ ╓ г ╒   ■ Ў ш ─ ╗ Я Ь ж Y J  4 )  ╜~Kг$ўЖ░о$ А d ` 0 9  ─Г J  █ГB#h╕5LюHaNЪ■a░=hЦcБ┴▀5жщ ( 2 I n o k n Д s [ T !    ' > T n k _ H 0      юОX╔4 H / $      ▌Ї   Ї∙ЎЄэ▌╪кХВz P q Ю ╖ ├ ▓ Х ~ Х   ╤   ю ╖ ┐ ╬ К Ї& Z #  m 8  ; Т ╞ т █ р ▌   7 6 &  в н Л [ и ▌ ─ { И п ╠ ┐ t Х с ╒ C s ╛ Н 6 [  f ╕ у ╤ х ь ╒ ┤ и Й Ш б a l ' Ў√▐╞═╢{┌н2|─ ■A╬B╙ляA g  ¤Ф л цоМН▒╟З╧рQт─nзМ├H▒+ЦgШ╘·(Wв▄■  7 4 E v С x Z 9  √сш∙ . : B Y Y l O 7 1   $  у╦ўI d . ё■¤ Ўц°   эЁ·Ёяъ▀╚fЛlo F w Н Ы о й г Ч м с Ё ¤ Є ╔ п й а г ? їc a (  v Y  a ┐ ▄ ╒ █ с  8 D S A Ч ╔ ┐ Щ  ▄ и ╨  └ ▀ ъ д ╟ Щ L c ж А ] С М Р ┌ ╒ ╠ ф ▐ ╘ б С } t  n а o B ┌N hЦ╕a╥,):!АїЧЙF}а▓ o  ╕p.│(╣╬k╞с╧ГЎBh8,╦╒╨╞4с╛k╠A▓а yўQbP╝црцЄ √2 g { Е N "       - @ 0 6 ; Q M : <    8 - * + > С ┬ k %        ╤э ЇЄ╥╡╕ЧгfЯ W Ц е о д ╢ ╖ ╦ ы ═ ч  ╜ В w Ч к V с^ б s 1 ( u l < > i е ╗ х ў  ; , p e  М х J  ╧ G  √  Х ╪ ы Ё  @ б [ V r ~ В в б ╡ Ї т ╘ ╤ о Ъ ┴ У N u ─ │ В m ╘s%RИ`ь]G╙-LjT Щв┬т1 U 0 Н]сY 9b9з└gЬcъLА╕- &щшТp;н▌4Ыn▀NZu■Є╠╧█ё╔ 4 - H 9 ? ? 3 7 / & ' 3 8 2 [ o h j З { P K @ ; 6 : e Ы щ  О  ! , %  № - "  ■  ─┤╚З7dD j Р й ╢ Ч е ╕ ▄ ▌ т ╦ ├ г w О └ ж юЕ Ъ Ж 8 < В Ь з { c m п ш є  O Ж w ц м 5 , Ё я " 4 % ( . H щ D c С K c o А Ч Ь Х ╛   у ┘ ё ─ С ╩ ╫ ╥ С ╡ ╩  { N 2 їбКT` Ф▀№┤№[ц р╔    + НюW{Й-╘a 4, ┴=:╙█/▐ Iё.C┘1й∙.К)"Г.  ╚ОdЗЁ  ! , O ; 0 . 5 З Ж a [ * c Н } f z 9  Q F 6 z ╧ ╧ ╠ з Ш ] яЇ їЄ ( Ўї·    ўп╖еzf; o ┤ ╛ Ю Ф в Ц ж з ╥ д З ╢ ь є ▐ З уюЩ ┼ y 5 V Ф ╠ ч б }  У ═ ї х  [ Z M s X j 8 с є  0 T L ? ?  э   ~ H J _ ^ д ▓ ┤ ┘   Ў  ! ў н ┌ █ щ ╣ Л ═ Н F , K d 2 ыХ╩j∙ u У ╒ и R   G , ·я╤(wЬ ┬<$Zr ;ПC╚l═;Ш╕╖▀S▌kAp┘C=?Ф  яЦ╖│╕* 3   ёC Г M Z b Я ├ М L O 0 G p Й 8 )   4 h ▐   ╜ ] )    ш▐└э■  ўїЄ· "  ∙Х╪ш╟ЩЩ9 o ╗ ╬ Ш У й Л ~ о ╦ Ц П ╥ с ] ╨ ╣ ╤ e J | п м ў х └ ▒ Я с   ! Z W t ╬ ╬ м g : ; < @ g Q E ? 3 ¤ ( ║ =  / i ╧ я  ¤ Ё Ў °   ё р ф ═ ╔ ╙ b А Е T Y И └ й i √╪l,Фщn ╧ ы ┘ ╩ в Ц ( ў ╣лё9aШ╗пsi│}╟─ёвp=▒ eA┌ывAаУй+mCIУ ┌╪A %  4 /   7 ь : s ` = < й ╔ О ║ v w ~ В W } M , ! h ▒ ╗ т \ 1   1 ю∙ ∙ ╦╬ы°·   ╚р╤▓╚╩K g ▒ ┴ д Л  И Э п х ╒ ├ ╪  √ Ё Ш 7 E │ и Д И М Н К ш  ╘ ╠ ╙ Є  " * & N Н ╤ ├ └ ╖ м x F N D R - + 4  3 т В - 6 s ░ ╫ ф °  > · т └ ╜ ┴ ╚ ┤ ╕ ╙ w p е П Е ┤ ф х Н 8  ф░O ╩ █ ; E ∙  * ╜  бнв░╧&|·Ъ▐▀°╤П║?┐`╘?TBЫ1U7tИ ┴┘·#|ї ¤ Z C P a i ` s ∙ є У d r D 8 М П Ш ═ ╕ { W Z z z Й о c @ Д в Ё q л╠   т   ц█╢╔ъ 0    ╟┬Ч├Й- @ Н Ч ~ c p Л Ю ц  ш Є ╥ я ў ╓ Д K k y Т Щ и Э { Ю ┬ ч ╒ є √  ; < ^ G { Р и н ╞ ▓ о Т 7 L B 6 - & ╤   ┌ ╥ z \ s Ч   o М ) · ╞ ╬ ┘ ╙ х   ║ ╛ ╔ е н ═ ╢ ┤ Ц ╪ └ а ═ " Ё %  7 z  l  ю  # ╞└hї╪) В z  { ш╟█q"цб_V┐k#,ў┤ %┘жEихъ}ы' 5 2 9 < З Д O R c Э л Ц В t G = @ C [ └ п k X D b P ж ╘ Т X d ╧ т K ╪  ¤█°   ъe░┘▐Є o V ' " $  ▀▒╦RG p Ы М Э t G } Х ╔ ╬ ┘ ў ╞ ╟ █ ╟ ` P j n ▓ ╨ ▒  l ж т ш ! W W G < 9 Z j И Ч { { ╝ ╛ Щ G " . R D $ № ¤ ╨ ы  ч т щ ╟  N # ╓  T k g "  ╨ ы A [ . Ї є ╦ л ╕ · (   │ · ї ╫ ╡ ч  ї Ь Е Ф ■  д е y W I Р ? Г║d '   п 4 ╗xbz─V ┴ФUK ЛN3▐`УЗb_П u╫ M V U W \ Й x C s p К ╨ в a l Е Z J I В Ч Д { - 8 B c Л и Ц Х ╤ ╜ Й М N  √¤  - ЇЕЕ╣у√ 0   , & ┌ЗЧИT З ░ Ш ╓ k > d } М └ Є   ╓ ┌ █ ╚ з ж Щ й ╦ ═ й ^ > Ж ■  3 7 @   1 1 [ z r Q b Ф ╠ │ R 6  P L  я #  ¤ > C 0 C ; C n К @ D $  Н 4   Ц p -  ┘ и й ╥ N >  к С З Ж v ╕ е # ║йщХ ▌ q ╥ ~ T e Ш Щ _ О  G N . ╟ S фщ b Е|й тт│ВЫ]к╖бO[4╩nr4А╖э# P < y л ╡ p 4 U u  у ╒ p { { q k T [ А m > " * - E r Ь ж ╞ ╧ └ Щ # ─╧╠·  !  ╔z╒ь  ў   ╧Е9^ G U k Й e / ` d m и █ ╠ ф щ ╨ ╚ ┌ Щ О м ╚ Ь D  r ё ш Ё є  ї ё   F K S V } Ц ╟ ╙ Ъ k 7 ; + ы р )   B w П з Q ' ` \ t Е ╪ / x z n > z _  ь ╣ к ╡ ■ 0 √ ╙ ┐ y  · G ╟SA IYp╞ . Ъ L @ O   р  T 8 д N L I 1 _ тВ9н┐Рч&(╠║K│─еСФМх  D | ■  г y | \ } Г Р Ы Ы  p z z Ж Р З \ J E : @ O _ z t Х Ф А r ▀^ая    чЙ╓  чнрюЇ   " √═╧U d М д y ?  n ~ w ╝ ф │ ╙ д ▌ ▐ ╠ ╥ Т ` Ш █ ╕ a 5 \ Ф а ╔ ─ ▀  ў ▀   D I q m ~ б ▒ ▒ w F d ` ' р ▌ №  P Ь ъ Ю Y e g > p Я d (  О x ╫ Ш Н Г `  Ё П в ═ щ 4  Р ╒ л R  rX√УД;с╔╡"│Дb ▀ ╓ л {  u У m Н ! " ўЎ Х230┐zОкмФВЪ^╕([╙ R Л Ь n S o Ж Є ╖ ╞ ┬ б Ш Р m e К t | М б Ч Л Г П И t Z g Г q к З l g k Ч ? ╠fиы   Єм╛ю* L ▌N─▐цЎ   ё╤╜їt ▓ Т f "  r Ф и ╟ с ╢ а О ╢ н п ж f d ├ ы ╚ Е Й { U Б ╦ ╦ ё  ц  @ B r Э ┤ ╦ Ы R & 7 2 $ √ є   6 Q З Я { i Х К | s ї └ Х Т l Ж Я Е c ╜ М  М Н l Г ╥ э ■ ф Р { А д 3 ЭmЁЕte▐╕/pC ║ к у   1 } V E ╓ o [ V # │fA9>! 0сР╚! K i a Р Ї  у л ╞ ъ Ё Ї ▄ Ю Ч ╤ й ~ Y p { ] j Ш О x Л ▓ ╦ ─ Н g В ╢ л ▒ ▓ v L ] q 0 b▐   ▀y╝∙% Y ЁЮ╫▀фцуъ█╬▌ьўP Ь А R  - Ф ╧ ╩ ╜ ░ У Й p |  Т Н 0 ^ ┴ с   ° б T t Я р = 6 № Ї   Ї L u  ^  ° K 8 ° √ є ф < f 1 W \ e Ы ╖ б } s к t F в · Ь M  1 м , Ж , D {  З ═ ў ├ Щ Е e О * сР▒rj$ 4Эc , Q  + ■ ї "  ∙ Є у _ WЮzBHWnАЕKIigЫб╘0  m П ╥  ъ & )  P 1     ╣ Н д ╒ ┴ о Ц Л М ` z ┘ т ╫ ч · т ╧ ╘ Ъ ╢ │ } n Ъ ╗ i v < ╟е╧   █ВtОу- X     ч┌╙┘┼╘щь N с ╢ ?   S д ┐ ю ┼ ┐ ╪ Г X / U o . \ ▓  = ┘ з m ( L я < %  ■ ╡ Н П ┼     ы э ! % с  Ї ў C 1 + J L O y й ═ w [ & 2 i r к Т ' ф g k ╞ л i Ъ Ю Ж l ╣ с ▄ в Й О r * )  ╗|)№╕╢MK╖уйР ╙ ╧  $ 4 % %  ╒ ╦ с Ч ^uнTф╙)г╗КСО▀ ? s R q В ╤ + х   7 p w i > B % ═ Ъ ╝ ▄ в Э Й } И К Ы т ш ═ ╥ ╤ ╒ ъ ю ▐ ╣ к ┤ ╟ є d ;  ' ш·  КXgj╦ .  - +  ╔]зХЭ╩█╩{ Ъ ├ ▌ j   V ▒ р  ╧ й ─ л Г / + ` 8 b ╗   ╩ ╟ м Е T J ═ . !  ▄ й ▓ с    № ╩ ╤ ∙ " )   Ї ( 0 &  : !  F r И I z % I Е y E  ь  щ л s Y [  Z Г И ▀ ▌ ╧ ▓ t О { Z X P a ▌═ ╧Эа>a╣\ ц B " ; Н ~ I 9 х  м 1 ╤Єи@└ЗАI ч■х H @ E p n ╠   є M k s : k В ^ { :  ╙ ╣ ╖ Ы q r p К ╢ ─ ▌ ▄ ┌ ╩ ╘ ё  ╪ │ о ╝  а 9 ( 7 '  ў° °lб╜█ % (  / Q N z┌ШNn┼┤╡e n ┬ ╓ w A З ╢ ·   п o | Л h 3 / g e л ▌ ╘ ┘ р ╫ ▓ Ю А w ═ Ў ╫ у Ё ┐ ╓ ' K G ▐ √ % 1 M  ' O ] C *   є = А S , &  < ; <  ь ▌ Ч ╟╢ к ░ Е ╢ ▒ п и W h { h ; P  I-Z═щ╫ь> ╪ ю c Ф Е ╟ ┼ g W ¤ ╨ ч П єп°иUш╬<°3 S H Ы ╖ q Б ж ┴ ▀ +  ц  V o H c L ) A 9 ї  ┴ ╟ и З З К h О ┌ ▐ E x O @ % ё ы щ Т v Ц П е  6 л ] < ╘Т╫╧∙   ? \ 4  G В  sVfС╧Ё╠п Й ж ╨ Р Ъ ь ■ + W ┬ Г h I   < ^ p ▄ ё ╔ ▒ ▄   ┤ Я k Ъ х ╞ ▒ П Й ╗ ╦  8 2  * 2 .    B * № ▐ х % C   7 j ? +  A ▐ ▌ ч ц ╧   ░ - шU К ╟ у Р В ░ к Д o 9 > [  ╧чЎtcъя< | ╓ ' 3 r ╙ √ ╡ л ` ) є т ┴ Э  ЛW-¤mъ)Аэ? g л й ┴ Є  ▀  ┐ ╗ ┤ Ю °  % X H 5 1  ╟ т & ╠ № ═ Э Ф  └ ■  ' S s U *  ╥ } Ц │ o l  N ы А D: .  ) / I { Ж A  1 ` L ╝H╧╘р ў═ ╠ ╣ ╩ ╔ ╩ ╤ # a F % ┼  b - ╙ C U L │ ║ ┴ ╣ # ┌ ╗ Ч ┼ ч й q v r н █   / ■ (  ц ї т ё  ъ к q б Ў         ш ╠ ┌   Щ Р │ Ф Ц │ ч п Ю └ ╜ П а _ J №╠чЛmёд┌Рм н H q У Ш й c c T ;   ╬ g `7рЄ▒JuгЄ6 q ╧ Ї ╠ я ф ║ ╖ Ж q Н о є  ' / 4 B   ╙ ч т N с╧x ╕ └     '  ° ╞ х м к г u В    є K uЭm╗1 d K - 2 I e { ^ - ; K 7 , ° !  ( 0  С ╖ ░ Г ┴ ┌ ╡   ! ы  ▓ g O ' ╚ P P , Д ░ ╬ з у щ ъ ╞ Ы щ ( Ъ X И С ░ ╘ ╓      $   ф ▓ ╥ ═ Л g D s ╫  № ю ¤ у ї ° ¤ х Ў ·  6  ═ б i z ъ ° ╔ ╟ х ▀ щ э √ ╓ Ў и . ╗LЕ─╡в'ЇУyМ■` 1 Х й R L B J t d C   O N ТC Ё<Й╫║╝ u У в ╢ ╪ ┐ ╡ л к д б ╨ э Ї   ╧ ╖ └ ├ ╣ и ├ ю  ; -  ў м q ╞ ░ И ╕  ъ │ ж п В ╙  ▌ _ █  * J Y C * : / J q r B ? M C E ║ " " ( . ' F ` и ж ╥ q ^ ┬ ч ╢ █ └ r N  ┼ Z c I Й ▓ └ У п ╔ у ═ б  9 н Н ╘ э н о л Б Ь ╚ ┘  E / ¤ ╙ ╖ j 8  2 а ч  ї ∙ √   Ў   ╓ ╧ ї : $  ╥ ╥ █ ж ╗ ┐ ╗ Ё   р █  є &  K ▓ЄM╥╒╝jXh*8u┤ % 8 : K Г Р ═ Ю G  п Г  cєСИщ╢ф╧ q ┼ ─ з ╟ ┼ ╣ Я ┴ ц ╜ е е е ╨ ╙ ° ╧ ┤ ╕ Ы В ╜ т Щ  3 ╖ 4 t f ( $ ы Н Ю ╡ d I ║ ╣ ╞ ╬ m A : C н ф ╦ [ 4 + ( B V I L ; 1  ) ? < 9 W P [ Л 8  0 ' ! E h Ю  ш 7 . ^ Й Н ╚ ▒ { М ┬ f s 1 @ О ╡ ╖ ░ ╨ ╪ ╠ ▄ "  √  ф ▐ ▐  ┬ z P l б  "     ╢ Q Є6 п ф   + 1   $  Ў ┬ ╘   % K  ф ╖ ╜ ┤ о ╛ ї A  к Э   $ ╒ g  <Oве▀Чe{Vо¤Птo ╒ N k з Ы в Д &  ├ И  ФV▄jз:П V Л Р й ╣ г ╜ н Л д Н g _ U c Ю ъ C  т ж Щ Э ╔ √ ║ з х № F С h  ч є ╙ └ е Х ╚ ╒ ▓ ▐ ╢ I / 6 L в ╖ } > , 1 4 ; G @ 9 - +     , E g N # , 5 %   В t У ¤ ┤   X з ┬ х ╝ ж З ▐, Z 2 > 6 В г д е ░ ┤ ║ ╤  3 " я ю ╦ ╦ ы ╚ ╗ o н ! )   % ё Ю L  9 С └  < ` a O  + 7 ё ╡ З └ э    № ╔ н ╟ ▓ │ ▐ / U ф ╩ 6 ш ╓ ╤ Т } \ЦЎ╗R¤y:╦ф~U R Д Э ╣ б г Я Л ~ \  в Q " Й╖НM|·Л ю ╥ е Я Ш Р Г Ы i @ V t x У ╚  0 , 8  ▌ ▓ Я ├ ╫ ш   P y c  ь ╒ ░ ┐ █ ╞   ° ╩ y 7 ; 1 4 u ` , ( / 8 < 3 N G 3  '  3 < 2 : 0 #  4 3     Щ f ╤ ╝ З @ = y о ╔ я щ к j "  b S ,  ) t Ы е ╖ ▒ ╕ о ╓    ▀ ╧ о ║ ▌ ╟ ─ } Я ▀ ╧ с  , Є д : + в ▌ ш a d K H ( & ) ц н ╛ █ ї · ▌   ш ▌ ы ╒ Ё  ц  b  ╚ ╙ Е Й В < ыyы┐Yъx~]█╝4b К ┼ ┼ ╠ ╝  ═ ж r R ї e 5 ЁKeMtЮ─: Щ Ю Z К в Ж Й л i + v и ╝ и √   : (   й Е н х  C V  - ц ь  %  8 ╘ б н Л T 4 6 B %  2 0 '   4 5 - P [ )  #  ! 2 . T \ 1 /  C > '   └ Г  ц б U t s Ю с я є г H % 8 i b K # ( C Е о о о ж Ю ╡ ╓ Ў с ╞ ╞ ╙ █ с Ю e ^ Ъ ж Э к ь  ┐ Й > K ┐ ш ш  ? J D 9 ) # (  с щ ю ф ┌  ц Ї № ∙   a О  ╬ л m Д Ъ b  ·d┴cqEЁ$╟и( 8 Ю ▒ ┐ р ▄ ┤ ┬ З * █ ~  ▀▌╨╔АЯТ╤¤ * ; i { ~ м ╡ л v п ╫ ╒ у + # @ 7 ° ╖  · ▌  W v [ d + э  └ щ M В p + щ u ^ c F 4 \ X - 1 ( ! #   . 4 F c ] 7  3 "  ( ) O D 7 '    [ D J K  б У э & ╦ а ╩ ╡ ф .  ╧ { ` p Б S : + ? b F k Н ж ┤ Д x Ю ╠ ф ┬ ▓ ╞ я ┴ а Е i З ╣ ╚ ╜ ╢ ╠ Щ 8 J a К з ё * 2 O C ! A > +  э ё э ╚ ▒ ╡ █   Є ╢ ═  щ : y j ) √ ╠ С ┬ ╨ Ы C - ╪А+у╪р`я;IE╗╡И j з ▌ ╚ Ч У X  ╥ в X фк5Zqu─  . > 3 C ^ Ю в в Ф к   с  %  ш ▀ щ ┌ 6 _ ] ╡ ╝ q a a N  ш г ■ ] P 1 э ╨ А p j _ s f I 6 0 $  # + # * J l z m Q + "   . M d ; 2 ' Ї L n Г q o З ▓ √ Ў  ч Є ф ┬ У ▒ К ╡ А n Щ V ] В Н Т ░ ╛ М Т р   ф ═ ё ═ Ф Э ╢ н ┼ ▌ ╔ Б A ' 0 К ╜ ╜ Э )  5 6     ь ю ╒ ╡ У ╜ щ   3  ▀ ё ▀ ╙ ╨ / X M  у ╖ Щ ╠ Ї Ъ # ┌бe4:╡xЯOг|╝Ї R е ▓ О П s Y  я ╥ ▓ . 0ў+_m│∙! H R M [ S ╣ и У ╠ ╤ ╩ √   ╧ м ╗ Y ` б К ├ М T ' 1  ╩ ▄ Ш ╦ ° ё Ї ═ ╣ v q a N Ф ] 3 6 2 3 1 $ & + , K q Й П U C Y d F L t a D N 1 ¤ч· 5 A ,  О │ ╔ ╚ °  ю ┬ ┴ с ╝ Р Ч f │ И f П Б В ▓ т ч ╞ л С ░  1  █ ├ ╪ ╤ Х Ю ┤ э т ъ ╠ a  Q ├ ╫ ╕ ╓ ы   ▌ ╥      " % ╔ ╩ ╦ ░ ж ╩  9 9  № °  ь  @ T V  ╕ к э ! ю ┐ ? ёв@% ╒кNкСє5 В о г t t m y Q 5  ° Н т┤{lЯГ┼ъ D ; X L Z ┼ ┘ ╗ Ё   F  ┼ ┘   B Y n Б K Б ;  ╪ √ !  $  ▀ х ╥ ╘ л ╡ Н a b ] ^ G C @ > < 4 ! * A D [ q Е д Z l С Й a n  C [ G ўтчў     ¤ Ї ф ╚ ї я ▐ №  ╘ м Й М г а Ь { c m Т г ╞   ▄ п ╛ ╢ щ   ш ╚ ╨ Ч Ш ╩ Ў ╥ ю  ┘ q  + Х с √ ╫ ╛ ■   ┴ ж % * ( , я ┌ ▌ ╟ ╣ й з з б ╪   ╥ ╘ █ ─ ▄ є 8  ' ▌ | s ═ ║ c Z 1 ╒СR<>╕Лa╞╪╪ї ╛ щ ╤ y v e Z \ P  ┴ Z ,  їш╚ў  5 > C F p г ъ  *    ╧ Ф с   ' ? \ c O l ? Q щ @ D Q d Q є ╦  ё ╚ у ╩ о u V M E C 4 ) & " * + F s Я г Щ д Ф } В Е y n < K B  Їш·   №     ъ ш    ▀ ╒ ░ ╓ ╘ В Ш е к г ┘ т ▐ щ ы ╖ ╚ ┴ ч ▄ ∙  ▀ А Т ╝ ╟ ╘ ∙ ў Щ @ : & М ш & 5 / . ▀ т G >  № ╧ ┐ ▀ ┬ Э П Ц г ▒ ╘ щ ┼ и └ ╓ ╖ ║ р  ╤ ╩ X   @  7 ╙├┼пЭ|s\^╓6ўлbмgо8 S ў ▐ v V ч Ў   я ╥ Й P 3 D -   5 . Y ;  N ` М у  ╫ ┌ └ ├ ╜ с   ! [ Ж s } { Г ' Z ] . ` П s G ▐  в █  ╙ k б Н = 4 3 4 . . )  2 U Р ╗ Ц ▓ а П  О { Q 9 ; 0  √√ ·¤ я¤  ў ∙   ) 0   ъ ╣ ╤ ▀ ╣ Г и О │ з ╠ р ╠ ╪ я ╦ ▄ ╛ ╦ З ╚  ═ М з ╢ ╔    ╦ v v Р v ╗ ц  F P : I  у ¤ * ! ,  ╘ ▄ ш ╡ ░ ╕ Я Ь м ║ з З p П и В n ` | u d ∙ь> n u E я═▐╗є7 W №▒ ┼\╕1Лвv+? ъ г { 6 ├ X%  я █ ╕ Е { > 6 3 o e I \ Z / + g Р с ╫ Ь ├ ї  ╖ ┤ х   @ B ^ С │ Х M   I Б h R m q m l + ) ╙ Ч ┬ е В Ч Э u L 7 @ ? 5 7 6 % $ > Ж ░ Ч v i Э Е t g J < 6   №їЎЎьс   Ё ■  * D t x 9 ╚ Щ ╗ ┴ Й ╢ К └ п ▐ 1   ш ╒ ї с Ю n А Щ О } ├ э ю  х ╢ н ╣ ▓ ¤  ' 7 $   ╙ х  є  #  ц ╔ ╥ ╞ ─ к Э ╢ г n K X N A S 7 4 J A х°U Б j | > + a Е Ч ╝ ┐ K фyv1IВx Ъ& ╬ ¤ E 1  [ ЬGї ( Ў ▌ ║ Ц м z Y R L * - [ B ? c н ▓ ╧ г л ° '  г й ║ ▌ Ў % > f н ╩ ╘ t   f u { } x > 5 6 B х П Z f V а ─ С п v E B S = 9 6 / 6 : Г и Б P @ s Н o R K O F F     №ёър 4 I $ я °  Г c  Ш П ў р е  └ Р ж   Ў ┘ ╕ ┘ ╗ В ▒ Н а К ~ ┤ ї Є ъ р л в ├ ╫ н п ╥ ▀ т ╘ ▒ ═ ╞ ╗ ╦ ═ ─ ▀  +  °  ╚ е Ц ╫ ╕ З c W G Z l c h  o 8 ` ╕ ╩ ╨ р ┬ ╥ э ╠ ╦  ┬ В : ∙# ╙+■Э═▀Ъ х х ╪ ╢ Х aК_З Є у ╓ Ц | Е М z ~ N   Q X Z Я     ╕  < T ° Г h У ╘ х   B Н Я О j C h А И Ч Ы e  °  ф k -  ¤Q Д q а о w Y K J A D _ U U V М Т k N O е ж Y c v v Q k C & . 7 + ,  √Є " 6 < ∙ ё т ф  √ ╜ Г Ъ ╨ ╩ ╘ T - √ ·  ь Ї р ░ М п Д T е б p А а ┤ ╛ Я Х С Б П Э ┐ ╞ ╤ л П ~ } q Ж Т м ┼ ╠ ╠ ╧    * . )  ╞ Ъ ╔ ╚ Ч | Ы а п Э Е { З П Н м ∙  . , F ! е } Б р ╖ Л ╬ ╠ ° М ═н┬ O w Й К q  ▓С+їZ з ╡ К Х ╟ ┬ В j Z 4 0 e а н ° : C  ╘  2  ╧ Х J Д ∙ Ї Ї  ! И М Й Б B G p а ┴ ж N ! ) Ў k   a { V Z T L W P M U Я └ R X s б Х m c Г ▓ ╝ С f C 1  F c ' ! , 0 ( 6 ? / ў  $ = '  ю ╝ ├ ж Ы Г Х ╜ ╒ ╨ Ў  ч  : % =  ╕ Ы ╡ Я Ц } w V h ┤ т ё ж Л Э Щ d f ] v ▒ Э Ъ y Д k l М ╕ ┌ щ √ Ї  7 P 0 C 8  ▌ ░ О └ ═ д Ю ╦ ▀ ╚ Й s z л к в х Z c ] 7 3 ъ 9 R Д ╞ Ь Н √ 8 3 Ї m j $ └╞ Ж ┼ з  ╫П▄2# g u У й ╖ ╥ ╒ й ^ / a ╢ ю Ї ∙ @ R A $ с ш  я │ Б M { ╡ ▀ ▄ ы 9 п С г а W 1 H Б г Ж N ? , A  s ;  8 R Z К u T R [ ^ Z n ║ ╖ i ` y В S L T o И н V   ў° #    (  ! K [ э D X J  ├ л Э ╛ м ║ Ї ф ╤ ╓ ї ╟ ╠ ? Q  ╨ └ ш ┤ Ж X  С r П ╠ @ ╦ А Т Р X Z Щ Б U Б г д и Р o л с т ц   ( N { ^ S   ╚ Й h к б В К ┼ ╫ ┘ д И У ч ¤ Щ ▀ к Х 4 ┘ а J н Е З j N Ы ц  є m б ╘x┬ёl > ╦ }  q╗А д ж ─  !   √ ╠ Х а   , 1 Y W -  ═ ╞ ╢ ╖ п Р r л ╞ ╙ у ° $ } Н Ч ▓ л ж К б З | c  ў т ┤ f  & n t з ▓ П q d b S Q w ~ z _ Ы | H J E \ К { %     ¤     є№  ; Y О Л ]  ю ╣ н ╢ ├ ╒ ■ э ░ Ь ╘  ё · э ┘ ╙ е Ц │ Й d U m ╗ Я а и ╩ А k л x d 0 , [ T V { ╜ ╣ А o е ╒ ┐ █ ■ # # . f ] G # ы и t Q Т Ы ^ x ┴ ╦ ╫ ╡ ╖ ░ ъ / u я " ) ╝ O   П Щ ▒ и ╗ ║ ▒ з ю B █ ╛ ╫s│Kо╝  ъ ┼ F бu  ╫ E j x S H 7 щ э № ; -  ) #  ш ╗ ┴ н п к н ╕ ╟    + ■ ч > Й Ж ╦ ╓ о Э к Ж ` Q  и П q x z r O m  Р Ъ г Ы З g I ` ^ [ b r █ ж t S k q Л ┼ S 4 " - 8  9  l C  ■ I < Л Э п Г ; я ┤ й ╬ ▐ ∙ є ╪ ╕ Ч ╠   4 A т Х У У к Э С  ] u R p А Y ^ b О x b  ° S  Й м Я И Д м ┴ ╩ ║ ╦ 9  ¤ ў ╩ ╫ ═ Я Х Ф i y Х m Г ╡ ╗ ╖ п ╠  H O Т № $ ┤ s T ! ╤ ┬ ў ╠ ╗ █ ▀ ¤ m p K ╝t = | Q ╩ f T $ ■ O Ф * ,  ┌  *    ∙ ш є с Щ а Ю Э Й l п є 2 C  с ] = h ─ ╖ Ж j c = ъ  в ? E N S j o U I ] v К В А Ж ` @ Z Z = 3 ┐ э н Ы u ╗ ┴ ╜ ╦ f Y 4 5 < 0 .  Ю b  ? y A Ф а о А 6 Ё ╔ ╟ ч ъ  !  в  y Ч ·  р 0  ╢ З ╖ ░ з ╢ к Ф z l 7 J w Д Е i ╡ Я Q    % Q О ╝ У Щ └ ╫ р ╬ ╖ ╝ ∙ ¤  ╪ ╔ ╥ ╢ Ъ а З { z v Ф ╞ ╛ Я ╢ √  А Г П ╥ т е Э │ б >  № ╞ р  2 [ Б U   ╛▓f└T> u Y Ы).  * i   g А / ! ' ¤ ·  ▀ ц Ї · ╙ н л Ь О Ь Г К └  ∙  Ў  ( A M g Ф Н i & ╧ Ъ д t 4 ; j s Е Ж Ц [ P Л Х v s Г e H U P W _ Ъ Л ` s  ~ а ╫ ╣ w _ B v W N ^ , ; > / R 9 T D Д б Й Ш U  э ф ы ╙ ш   ░ M R в ▌ ° ╔ ▐ └ Р В о ▒ ▓ п Л Й а Щ v а Ж { x k з ▒ П t \ >   V r t Ю ├ ═ ╠ ├ └ ╬ ь ■   ф ╙ ц ╓ а  ~ └ н К Д ╜ Щ Щ ° X O К п Щ А y a й Ё у S E < у ╢ ў & d z М E ╙ ўю<Я╟ЬД ╗ b ТЮH ┼  !  + @ $ Є щ '  ы ╙ ╤ ├ № Є   ▌ ╩ ▒ ╕ н Ь } p { │ №  % я Н Ы ╧ . w Т ╕ М ! ║ Ь y F 4 < X k P V У ^ H Е ▒ Ж | l S O N _ ж Б N Z Z c Ф o } ╝ ╠ л Й К Ч R   " # $ " $ % \ $ г Ъ Т Л j )   · └ ╫ ю ∙ ╦ @ I а ╠ ─ █ ╘ ╖ Ы ├ Ш p o К Г  ╕ ╧ ╜ в l f з ▒ ц ъ ┬ Б M _ И Б o Ч й и а д ▒ ╠ Ї   ї ╒ у ъ ╨ е Ц М ╒ ├ ь ы щ ┼ ╜ 3 B Р ╚ ╟ { / O Й П А & , M  ╛ т 5 X  1  Y ╚jor л} ъ ═ R = ╣ э  ∙ √   т   ° ╫ ╫ ╙ ю   2 Ї ┬ ╡ ├ ┴ м б Ж Ч у  ў ° ╖ x О ▓  C ; 4 ■ й } q 9 . E R T ; Y ` < A X q u p ` H L R > , , Y P V в Ф К о ╦ Ж q P = ) " 2 = 3 √ M B ┐й Т Ж Б Д S Y O ! с ц я ё └ V ` б ▌ т Ў ё ╪ ╖ № k w 2 ш ╔ ╡ л Н в ╛ ╞ з Ь К И Т └ √ ▌ ь ░ w Е ╚ ╛ й ╜ ░ б г Ь в и ч э ╧ ╬ ъ № ┘ ╝ и Э ▓ м ┴ х ф ┬ ═ # ! * Ъ ╛ l <  M Р l = 9 % A 3 ш █ · Ё ┤ м Ь _  ЬЕО]L ═ є  ї - T & щ  0 " ° ╞ щ т ╘ ╬ ╤ ╧  ¤ Ў ▀ Є щ ─ д Ь л Ю Ю Я ~ Ц ┤ И } ┐ є ┼ ╣ О ┼ 2 | \   ─ н Й q T C E @ Y i a @ Q Y e d b G 9 ? /  Ёё: O ^ Е ╗ Э ] C g Z ^ a >  ( 9 '  їсю  ╥╟ │ Я ░ е А y Y / √  -  ╪ k p У ╡ ▐   я ▀ ├  > - N 1 # я ┴ ╡ ▄ у п є  я █ н с х Ц а Д v к ╥ ц  ў ╕ Ю о Э е Ъ │ з Я ╤ ф ╬ │ Ч Х Ю С Ъ б ┬ ъ ■ & [ A . ? J Q 5 e П c G    р т ─ Ж X c f ;  ╙ФО▄yьс ▒ є    █ ┌  % й Я ╛ л ╛ р ─ с  т ╟ ю  № й o U h _ a ┐ ╓ Ъ { a W Ч ╓ ° ╛ ш  t U  ъ Ч  W + $ 3 2 L c q j c h P [ Y > +   ┌─·> G R [ b f Y ? a P C Q 9         : : ▄ ┐ └ ╪ о в н t - Ў  ,  Ю < K Х ┴ ╤ ╙ ╛ ╥ ¤ i m   Z J Є ╞ ╠ ╥ ° ё /  ь ╓ ╟ ▀ ╤ Д Д ┤ С в я ▌   ў т ь ╘ ─ и Ю й ╔ ╟ ╩ ╖ ╚ ┐ п Ю д ░ и ▐ : % D -  ( # Z Ъ Й Н У | Д 7 ■ █ ш   Ч - эч ў  ╛Жо]ИХ t ╧ ╦ з ╨ ╖ г ь  ╖ ╤ ╧ ┤ т ш ▄ ї э ╙ ц ш Ц d A ; - , X Ф i П Ы l d Ф ▒ ц █ ╫  ; ■ ╪ v S ;    & ? \ R k e m G T c K /  ╙н╬! C B A @ O f h k ^  ·ъшєїє¤  ·є  ё ╘ ╕ ╓ └ ╢ й Ш m 0  х е [ L Э  · Ё 4 X 3 $ ? R u . ╘ с · ы  ╞ ╫ ╒ █ ╘ ╥  $ х ё ╬ Т Ъ г е ▀ ╫ █ є  , ц ╕ б ╣ ь · у ╤ ╩ ╩ ╙ ┘ ┼ ╙ █ ч ( ) > J N B g Б а ▒ Ч Ж Ж p v D  ═ ╗ ь  a ра<c─ух╔╕1мJ 4 q ╢ а Ь Й Л Ў 1  я щ ╓ ё ї ё   ,   ┌ ╚ ▒ й Э l L S c  Ъ b \ I A Q h И Ф ┐ + L b k  Э e O 8   ' A ; 0 O \  t X j Q / я╩╛Ў6 A ; 7 H Z w d G ў█╞╜╞кМ╡├┼╤╫щ┼яъ ╓ ╪ ╞ ╡ █ ┼ й n L ( # · ┘ й } ╩ 0 8 Ў Є G $ 0 x w З  ╠ ш ш ∙  х ч х ╨ ╖     с я ╛ │ л М ╣   $ ї  т ╔ ┤ ╙  с ╨ ╟ ╞ ° ° ш ь   $  Ї  # B z О y h S h S 0 #  ° Т ^ v ▌О]ё3Э╢┴этCМYD } ┼ т ~ ж Я ╨ ! 2 = '  ▌ Ў ¤ ц    · ° █ ╩ ╖ ╓ ╙ ╕ y Ц Б А д V @ A D G ? b i Г ¤ ▐ Ї ∙ ╢ { ^ m L    9 O @ ,  ! F ^ O K . ё╓шє 6 : / 0 X O + / >  швУЧ7<nНв│Р\Ц┐ ┬ ╒ ║ ╢ ╠ ▒ Т *  C W E 2 ∙ ─ ┌ ¤   ё   & 3 _ m `  Є э ¤ ■ э ъ ╫ └ ╖ ю ╬ В П ╚ √ ╤ ╢ О ╖  9 9 G "  т х ь    ▀ ╒ █   ╫ Є *  '  ╓ ∙   ч  3 / 7 D #    У 5  ▒Uя╚СЪ║р╝Єhюїg ¤ ь ╧ ■   ' F Y Q 3  & є ф ¤  ў с ╩ ╕ ▄ ▌ ┼ Р н Щ Ю Ф R : Q j X @ B G c ╕ ╣ ж В { i V V J -  - F g P  ют 8 , #  ┘╛▄№ & *  & Y П 9 % N D аuXыcПчGuП~'9ж л ╞ б Я ж Т h ( * V V S .  у ╢ ╙   ё  " 3 > b J / 0 ¤ ╪ ▐ р ╔ ╣ Щ У к │ ╣ З ╪  № П Ч ▒ ╠ ; К j B  (  ¤ Ё ■ ¤ ъ с ю ў " ё є  "  ∙  ╒ ┬ ╒ Ў   ў   T ` D 4 . D   P  ╤╖╦ЩКЗ╞▐=&=█Й Ў   E q l i p h h g g F . Ё ╨ Q G  ═ ╒ ┘ ч ь █ П z Э Д U J W c x w H C U q П Ц u О m b r h S ?  8 5 &   ╠ш    ╚┤ц     Q ┘ U H z  │ЗАIЩT═)J4цз╕Sш ╧ ├ ▒ й ┤ Н e F R U 1  у ╗ р  <  ╙ є ! D G o j ] @  ф ъ ш ═ ▐ ┼ О М У а ╗ ╚ П z Ъ ═ ┬ % i G 4 G C 9 ■ ц   ·  №  +    /  D  ░ ║  g )  ' п ф d Б x d c J ш Я Й H ><c╝евц УЛШ П   4 p О e H ` Z b Ж П 9 Ї  I ^ B  ╒   )   ┤ Ц | ` M C ^ А а П ^ g _ W В З ~ k T D e z k K , S J   цў  ┼к╫√ +  ■ў, P N O c L ў_"╓oWЭ╩╨ЫЧ√│└ ╠ ╝ ╚ ├ ┼ И J : D T K 5   ■ щ  √ ъ ╙ ╠ ∙ N Z y к С R $ ∙  ї ╠ ▄ ц ┐ ░ й Ъ │ ╨ С Й й ┤ ╗ ╪  >  @ d 8 l S ( S K  √  J 5 4 (  " C 7    d 4   ─ ┤ Є В c M F 3  ╥ ┌ ╖ z  ╘КЮ┤└ХNИ▌┌╚╧& Х 5 p и m A O V \ Г В s K 2 7 ; c Y ^ q G ч   ╠ ║ ╡ М b V o b X ] О Б d u O L d z o ^ I ? X F T U 3 9 ?     # '   ·╝Ю╣╙  ё╒▌   Є 2 ·YЁЦPLf╥G╗│°CДО ┤ ╗ ┌ █ ╧ ╗ Р w  П x X D . M N J < ¤ ╤ ╨ ╓  Y  P o w = & C 4 ь ─ ┤ ╜ ┼ ╣ А | Я Р Д Ь ╖ ┌ · &  т Ё M 5  В G 8 Q Y W %  ¤ * A    є ! 8 B c d Ў  ─  П н 4  0 ■ у ў  ╞ a "  ТБ├Ъ$у] X . 2 g ┤ \ в Ю U Z a i Р Х Г О { t l [ ╟ и f c u .  с ж Ф Ч ^ P m Б Д d _ ` a c [ 6 Q n d Y M 4 D л Ж 8 2 2     # B   5 !  ╩▒й▓╥╓╠╠▀яў    ЭDч╖Бjм7oI·э \Ф| м ╕ ╨ ┌ ▀ ▌ ╣ ╜ ╜ │ З { e v й Ч О t 8   ё & E X g d j O > L >  ╘ ▓ ж ═  ╤ Я Б } j С ▄ A ^ ь ╬ ю L ( ё  °  ъ < j u ;    2  ! Ї ┬  Ї  K ' K j Z G q ╗ б o n b ( , 2  ╘ I █Эе╦зH>╤e Ч c X z ╥ " p д Ц d Y G m ║ С М | m x [ Z Е i - 5 c D 0 ё о а Г j \ X [ y А t g ` a R > Z b T H 8 ' @ f i A  ¤тї  ё     √Ў╧╕а╢п╠╤ч√є .  ╡нwЇр√║┐rВm17m─r У й ┴ ╜ ╤ т ┤ ╨ ╘ ╛ Я Ю Л й ╖ м ╜ Ц \ / √  @ X Д m l ^ Z ] T  э ╩ й Ё s 4 ╙ Ч ч є ь 0 y [ & °   ═ ▒ ╓ ■  Т л z k   6   3 ё   ш Ў { k f l k i f Х p @ O    ц Т L H ∙┼╠┘╛П╖S ╕ ╕ { p д \ О ╗ С Г y { Ш ▓ б Я О Л r H ; , @ #  я ═ ╠ л И к █ е q Ц в ~ h a d P @ I H : /    ? a  ёыщє у═сЄ  ф┘╚╛жФж╠уфт∙  х╚ЪЮ╞эсgЦЮЕ^]yк─` К Ф С ▓ ╖ ║ к ─ ▀ ╥ Р Е Й в Х о ╕ Ъ i R _ ? ? J X k V \ j z ` L  ▀ ╠ ┐  Е  с ё Z { О ` e T    ' " № ■  . G s ╝ Ь Ф J G B · я ы р   И ▓ z _ D C B U T H 1  ё ї ў ° ╞ Х I °лмчёфс, К ╗ ╠ ╪ н ▌ C Й м в Ъ А w z е ╟ ░ x I q \ .   ¤ ╘ ┘ ┴ ╖ ▓ Ш r n Е | s y ~ w u a a V K ? D = 1    / ` !    ь°╘╜┤═  ▐═╝йЦРл┬┬ є h  ─╨╜Г╡cеРЎZЦеиНm[}`e Г d p Х Ц к ╡ └ ╞ п Д p Б О [ [ Й x v b W a = ( : W W X H s { B Є ┘ ╬ ╠ ъ @ %  P И О П M 8 @ # " M !   ¤   B ? 1 о ╒ й Р H № ╒ т ъ є + D z Ш d > = " /   ( L L 2   Є ╫ ┼ p хЩ╔ъ 5 8 h Э ┬ √ B  √ 8 | М h y d V t з │ О $ 1  Ё   є · ╛ Ы │ У  h В | ] X ` s q Р Ц Ч w j ^ X W f d J &  ' / '  ющ│ЪШ╖тя╥╘╩┤оФаХж  , v ╠┘бFЧJАГ╓;о╗иАtbhC5( `} HDF5 JPEG-LS filterЁцTREE                (ёN { X } fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/src/000077500000000000000000000000001473255640600231775ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/src/H5Zjpegls_decode_nominal.c000066400000000000000000000077331473255640600302100ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "hdf5.h" #include "H5Zjpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" #define DATASET_NAME "image" // Nominal compression of a test image int H5ZjpeglsDecodeNominal(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != FCI_THREE) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName char * outFile = argv[FCI_TWO]; // ----------------------------------------------- // Read the HDF5 file compressed with JPEG-LS // ----------------------------------------------- // Open file and dataset using the default properties hid_t file = H5Fopen(inFile, H5F_ACC_RDONLY, H5P_DEFAULT); hid_t dset = H5Dopen(file, DATASET_NAME, H5P_DEFAULT); // Retrieve dataset creation property list hid_t dcpl = H5Dget_create_plist(dset); // Retrieve the filter id and the JPEG-LS compression parameters unsigned int flags = 0; size_t cd_nelmts = H5Z_FILTER_JPEGLS_NPARAMS; unsigned int cd_values[H5Z_FILTER_JPEGLS_NPARAMS] = { 0 }; unsigned int filter_config = 0; H5Z_filter_t filter_id = H5Pget_filter2(dcpl, 0, &flags, &cd_nelmts, cd_values, 0, NULL, &filter_config); if (filter_id != H5Z_FILTER_JPEGLS) { ERR_TEST(EXIT_FAILURE, UNEXPECTED_FILTER); } // Get the filter parameters jls_filter_parameters_t * params = (jls_filter_parameters_t *) cd_values; // Get the dataset dimensions unsigned int components = params->dims[0]; unsigned int lines = params->dims[FCI_ONE]; unsigned int samples = params->dims[FCI_TWO]; // Get the number of bytes per samples in the uncompressed dataset unsigned int dataBytes = params->dataBytes; // Set the default memory type for the dataset hid_t mem_type_id = H5T_NATIVE_UCHAR; // Change the memory type for short data type if (dataBytes == FCI_TWO) { mem_type_id = H5T_NATIVE_SHORT; } // Compute the size of the output buffer size_t outBufSize = components * lines * samples * dataBytes; // Allocate memory for the dataset void * outBuf = malloc(outBufSize); if (outBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Read the data using the default properties herr_t status = H5Dread(dset, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, outBuf); // Close and release resources status = H5Pclose(dcpl); status = H5Dclose(dset); status = H5Fclose(file); // ------------------------------------------ // Write the output buffer to file // ------------------------------------------ // Open the file in the write mode FILE * pFile = fopen(outFile, FCI_WRITE); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_W); } // Write the data into the file size_t result = fwrite(outBuf, 1, outBufSize, pFile); if (result != outBufSize) { ERR_TEST(EXIT_FAILURE, ERROR_WRITING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(outBuf); return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/src/H5Zjpegls_encode_cannot_apply.c000066400000000000000000000254521473255640600312520ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "hdf5.h" #include "fcicomp_jpegls.h" #include "H5Zjpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" // Define the names of the datasets #define UNSUPPORTED_DTYPE_DATASET "Unsupported data type dataset" #define UNSUPPORTED_DBYTE_DATASET "Unsupported data bytes dataset" #define INVALID_NUMBER_OF_COMPONENTS_DATASET "Invalid number of components dataset" #define INVALID_NUMBER_OF_DIMENSIONS_DATASET "Invalid number of dimensions dataset" #define TOO_SMALL_DATASET "Too small dataset" // Test the case where the can_apply function returns false int H5ZjpeglsEncodeCannotApply(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != FCI_SIX) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName char * outFile = argv[FCI_TWO]; // Parameters int samples = atoi(argv[FCI_THREE]); int lines = atoi(argv[FCI_FOUR]); int bpp = atoi(argv[FCI_FIVE]); // ------------------------------------------ // Read the input RAW file // ------------------------------------------ // Compute the size of one sample in bytes int nBytes = (bpp > 0) ? (((bpp - 1) / FCI_EIGHT) + 1) : 0; // Size of the input buffer size_t inSize = samples * lines * nBytes; // Allocate memory char *inBuf = (char *) malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Open the file FILE * pFile = fopen(inFile, FCI_READ); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Read the file size_t result = fread(inBuf, 1, inSize, pFile); if (result != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ----------------------------------------------- // Create the HDF5 file // ----------------------------------------------- // Create a new HDF5 file using the default properties hid_t file = H5Fcreate(outFile, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); // ---------------------------------------------------- // Create a dataset but with a data type not supported // ---------------------------------------------------- // Set the HDF5 dataset dimensions hsize_t dims[FCI_THREE] = { 1, lines, samples }; // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space1 = H5Screate_simple(FCI_THREE, dims, NULL); // Create the dataset creation property list hid_t dcpl1 = H5Pcreate(H5P_DATASET_CREATE); // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl1, 0); // Add the JPEG-LS compression filter H5Pset_filter(dcpl1, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, 0, NULL); // Check that filter is registered with the library if (H5Zfilter_avail(H5Z_FILTER_JPEGLS)) { // If it is registered, retrieve filter's configuration unsigned int filter_config = 0; H5Zget_filter_info(H5Z_FILTER_JPEGLS, &filter_config); // Check that the encoder is available if ((filter_config & H5Z_FILTER_CONFIG_ENCODE_ENABLED) != 1) { ERR_TEST(EXIT_FAILURE, JPEG_LS_FILTER_UNVAILABLE); } } else { // If the filter is not registered, print an error ERR_TEST(EXIT_FAILURE, JPEG_LS_FILTER_UNVAILABLE); } // Define the chunked layout since filters can only be used with chunked layout hsize_t chunk[FCI_THREE] = { 1, lines, samples }; H5Pset_chunk(dcpl1, FCI_THREE, chunk); // Set a wrong data type for JPEG-LS filter hid_t type_id = H5T_IEEE_F32LE; // Create the dataset using the dataset creation property list we have created hid_t dset1 = H5Dcreate(file, UNSUPPORTED_DTYPE_DATASET, type_id, space1, H5P_DEFAULT, dcpl1, H5P_DEFAULT); // Write the data to the dataset we have created hid_t mem_type_id = H5T_NATIVE_SHORT; H5Dwrite(dset1, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list H5Pclose(dcpl1); // Close the dataspace H5Sclose(space1); // Close the dataset H5Dclose(dset1); // ----------------------------------------------------------- // Create a dataset but with an invalid number of components // ----------------------------------------------------------- // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space2 = H5Screate_simple(FCI_THREE, dims, NULL); // Create the dataset creation property list hid_t dcpl2 = H5Pcreate(H5P_DATASET_CREATE); // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl2, 0); // Add the JPEG-LS compression filter H5Pset_filter(dcpl2, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, 0, NULL); // Define the chunked layout since filters can only be used with chunked layout H5Pset_chunk(dcpl2, FCI_THREE, chunk); // Set a wrong data type for JPEG-LS filter type_id = H5T_STD_I32LE; // Create the dataset using the dataset creation property list we have created hid_t dset2 = H5Dcreate(file, UNSUPPORTED_DBYTE_DATASET, type_id, space2, H5P_DEFAULT, dcpl2, H5P_DEFAULT); // Write the data to the dataset we have created mem_type_id = H5T_NATIVE_SHORT; H5Dwrite(dset2, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list H5Pclose(dcpl2); // Close the dataspace H5Sclose(space2); // Close the dataset H5Dclose(dset2); // ------------------------------------------------------ // Create a dataset but with a wrong number of components // ------------------------------------------------------ // Set the HDF5 dataset dimensions hsize_t invalidDims[FCI_THREE] = {FCI_FIVE, lines/FCI_FIVE, samples }; // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space3 = H5Screate_simple(FCI_THREE, invalidDims, NULL); // Create the dataset creation property list hid_t dcpl3 = H5Pcreate(H5P_DATASET_CREATE); // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl3, 0); // Add the JPEG-LS compression filter H5Pset_filter(dcpl3, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, 0, NULL); // Define the chunked layout since filters can only be used with chunked layout H5Pset_chunk(dcpl3, FCI_THREE, invalidDims); // Create the dataset using the dataset creation property list we have created type_id = H5T_STD_I16LE; hid_t dset3 = H5Dcreate(file, INVALID_NUMBER_OF_COMPONENTS_DATASET, type_id, space3, H5P_DEFAULT, dcpl3, H5P_DEFAULT); // Write the data to the dataset we have created mem_type_id = H5T_NATIVE_SHORT; H5Dwrite(dset3, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list H5Pclose(dcpl3); // Close the dataspace H5Sclose(space3); // Close the dataset H5Dclose(dset3); // ---------------------------------------------------- // Create a dataset but with too many dimensions // ---------------------------------------------------- // Set the HDF5 dataset dimensions hsize_t invalidRankDims[FCI_FOUR] = { 1, 1, lines, samples }; // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space4 = H5Screate_simple(FCI_FOUR, invalidRankDims, NULL); // Create the dataset creation property list hid_t dcpl4 = H5Pcreate(H5P_DATASET_CREATE); // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl4, 0); // Add the JPEG-LS compression filter H5Pset_filter(dcpl4, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, 0, NULL); // Define the chunked layout since filters can only be used with chunked layout H5Pset_chunk(dcpl4, FCI_FOUR, invalidRankDims); // Create the dataset using the dataset creation property list we have created type_id = H5T_STD_I16LE; hid_t dset4 = H5Dcreate(file, INVALID_NUMBER_OF_DIMENSIONS_DATASET, type_id, space4, H5P_DEFAULT, dcpl4, H5P_DEFAULT); // Write the data to the dataset we have created mem_type_id = H5T_NATIVE_SHORT; H5Dwrite(dset4, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list H5Pclose(dcpl4); // Close the dataspace H5Sclose(space4); // Close the dataset H5Dclose(dset4); // ----------------------------------------------------------- // Create a dataset too small // ----------------------------------------------------------- // Set the HDF5 dataset dimensions hsize_t smallDims[FCI_TWO] = { FCI_TWO, FCI_TWO }; // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space5 = H5Screate_simple(FCI_TWO, smallDims, NULL); // Create the dataset creation property list hid_t dcpl5 = H5Pcreate(H5P_DATASET_CREATE); // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl5, 0); // Add the JPEG-LS compression filter H5Pset_filter(dcpl5, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, 0, NULL); // Define the chunked layout since filters can only be used with chunked layout H5Pset_chunk(dcpl5, FCI_TWO, smallDims); // Create the dataset using the dataset creation property list we have created type_id = H5T_STD_I16LE; hid_t dset5 = H5Dcreate(file, TOO_SMALL_DATASET, type_id, space5, H5P_DEFAULT, dcpl5, H5P_DEFAULT); // Write the data to the dataset we have created mem_type_id = H5T_NATIVE_SHORT; H5Dwrite(dset5, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list H5Pclose(dcpl5); // Close the dataspace H5Sclose(space5); // Close the dataset H5Dclose(dset5); // ------------------------------------------ // Cleanup // ------------------------------------------ // Close the HDF5 file H5Fclose(file); // Release resources H5close(); // Free memory free(inBuf); return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/src/H5Zjpegls_encode_nominal.c000066400000000000000000000127131473255640600302140ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "hdf5.h" #include "H5Zjpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" #define FALSE 0 #define TRUE 1 #define DATASET_NAME "image" // Error message #define ERROR_JLS_NOT_AVAILABLE_MSG "JPEG-LS filter not available!\n" // Nominal compression of a test image int H5ZjpeglsEncodeNominal(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != FCI_SIX) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName char * outFile = argv[FCI_TWO]; // Parameters int samples = atoi(argv[FCI_THREE]); int lines = atoi(argv[FCI_FOUR]); int bpp = atoi(argv[FCI_FIVE]); // ------------------------------------------ // Read the input RAW file // ------------------------------------------ // Compute the size of one sample in bytes int nBytes = (bpp > 0) ? (((bpp - 1) / FCI_EIGHT) + 1) : 0; // Size of the input buffer size_t inSize = samples * lines * nBytes; // Allocate memory char *inBuf = (char *) malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Open the file FILE * pFile = fopen(inFile, FCI_READ); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Read the file size_t result = fread(inBuf, 1, inSize, pFile); if (result != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Set the JPEG-LS parameters // ------------------------------------------ // Define the JPEG-LS coding parameters jls_parameters_t jlsParams = { 0, 0, 0, 0,{ 0, 0, 0, 0, 0}}; // ----------------------------------------------- // Create the HDF5 file compressed with JPEG-LS // ----------------------------------------------- // Set the HDF5 dataset dimensions hsize_t dims[FCI_TWO] = { lines, samples }; // Create a new HDF5 file using the default properties hid_t file = H5Fcreate(outFile, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space = H5Screate_simple(FCI_TWO, dims, NULL); // Create the dataset creation property list hid_t dcpl = H5Pcreate(H5P_DATASET_CREATE); // Add the JPEG-LS compression filter and provide the JPEG-LS parameters herr_t status = H5Pset_filter(dcpl, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, H5Z_FILTER_JPEGLS_USER_NPARAMS, (const unsigned int *) &jlsParams); // // Also works with default JPEG-LS parameters if 0, NULL is provided instead // herr_t status = H5Pset_filter(dcpl, H5Z_FILTER_JPEGLS, // H5Z_FLAG_OPTIONAL, 0, NULL); // Check that filter is registered with the library if (H5Zfilter_avail(H5Z_FILTER_JPEGLS)) { // If it is registered, retrieve filter's configuration unsigned int filter_config = 0; status = H5Zget_filter_info(H5Z_FILTER_JPEGLS, &filter_config); // Check that the encoder is available if ((filter_config & H5Z_FILTER_CONFIG_ENCODE_ENABLED) != 1) { ERR_TEST(EXIT_FAILURE, JPEG_LS_FILTER_UNVAILABLE); } } else { // If the filter is not registered, print an error ERR_TEST(EXIT_FAILURE, ERROR_JLS_NOT_AVAILABLE_MSG); } // Define the chunked layout since filters can only be used with chunked layout hsize_t chunk[FCI_TWO] = { lines, samples }; status = H5Pset_chunk(dcpl, FCI_TWO, chunk); // Set the default memory type for the dataset hid_t type_id = H5T_STD_U8LE; hid_t mem_type_id = H5T_NATIVE_UCHAR; // Change the memory type for short data type if (nBytes == FCI_TWO) { type_id = H5T_STD_I16LE; mem_type_id = H5T_NATIVE_SHORT; } // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl, FALSE); // Create the dataset using the dataset creation property list we have created hid_t dset = H5Dcreate(file, DATASET_NAME, type_id, space, H5P_DEFAULT, dcpl, H5P_DEFAULT); // Write the data to the dataset we have created status = H5Dwrite(dset, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list status = H5Pclose(dcpl); // Close the dataspace status = H5Sclose(space); // Close the dataset status = H5Dclose(dset); // Close the HDF5 file status = H5Fclose(file); // Release resources status = H5close(); // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(inBuf); return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/src/H5Zjpegls_encode_rgba_nominal.c000066400000000000000000000116511473255640600312070ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "hdf5.h" #include "H5Zjpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" #define DATASET_NAME "image" // Nominal compression of a test image int H5ZjpeglsEncodeRGBANominal(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != FCI_SEVEN) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName char * outFile = argv[FCI_TWO]; // Parameters int samples = atoi(argv[FCI_THREE]); int lines = atoi(argv[FCI_FOUR]); int components = atoi(argv[FCI_FIVE]); int bpp = atoi(argv[FCI_SIX]); // ------------------------------------------ // Read the input RAW files // ------------------------------------------ // Compute the size of one sample in bytes int nBytes = (bpp > 0) ? (((bpp - 1) / FCI_EIGHT) + 1) : 0; // Size of the input buffer size_t inSize = samples * lines * components * nBytes; // Allocate memory char *inBuf = (char *) malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Open the file FILE * pFile = fopen(inFile, FCI_READ); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Read the file size_t result = fread(inBuf, 1, inSize, pFile); if (result != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ----------------------------------------------- // Create the HDF5 file compressed with JPEG-LS // ----------------------------------------------- // Set the HDF5 dataset dimensions hsize_t dims[FCI_THREE] = { components, lines, samples }; // Create a new HDF5 file using the default properties hid_t file = H5Fcreate(outFile, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT); // Create a dataspace // Setting maximum size to NULL sets the maximum size to be the current size hid_t space = H5Screate_simple(FCI_THREE, dims, NULL); // Create the dataset creation property list hid_t dcpl = H5Pcreate(H5P_DATASET_CREATE); // Turn off the create/modify/access time tracking for objects created // so that everything is bit-for-bit reproducible H5Pset_obj_track_times(dcpl, 0); // Add the JPEG-LS compression filter herr_t status = H5Pset_filter(dcpl, H5Z_FILTER_JPEGLS, H5Z_FLAG_OPTIONAL, 0, NULL); // Check that filter is registered with the library if (H5Zfilter_avail(H5Z_FILTER_JPEGLS)) { // If it is registered, retrieve filter's configuration unsigned int filter_config = 0; status = H5Zget_filter_info(H5Z_FILTER_JPEGLS, &filter_config); // Check that the encoder is available if ((filter_config & H5Z_FILTER_CONFIG_ENCODE_ENABLED) != 1) { ERR_TEST(EXIT_FAILURE, JPEG_LS_FILTER_UNVAILABLE); } } else { // If the filter is not registered, print an error ERR_TEST(EXIT_FAILURE, JPEG_LS_FILTER_UNVAILABLE); } // Define the chunked layout since filters can only be used with chunked layout hsize_t chunk[FCI_THREE] = { components, lines, samples }; status = H5Pset_chunk(dcpl, FCI_THREE, chunk); // Set the default memory type for the dataset hid_t type_id = H5T_STD_U8LE; hid_t mem_type_id = H5T_NATIVE_UCHAR; // Change the memory type for short data type if (nBytes == FCI_TWO) { type_id = H5T_STD_I16LE; mem_type_id = H5T_NATIVE_SHORT; } // Create the dataset using the dataset creation property list we have created hid_t dset = H5Dcreate(file, DATASET_NAME, type_id, space, H5P_DEFAULT, dcpl, H5P_DEFAULT); // Write the data to the dataset we have created status = H5Dwrite(dset, mem_type_id, H5S_ALL, H5S_ALL, H5P_DEFAULT, inBuf); // Close the dataset creation property list status = H5Pclose(dcpl); // Close the dataspace status = H5Sclose(space); // Close the dataset status = H5Dclose(dset); // Close the HDF5 file status = H5Fclose(file); // Release resources status = H5close(); // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(inBuf); return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-H5Zjpegls/test/src/H5Zjpegls_test.c000066400000000000000000000063721473255640600262250ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include #include "fcicomp_options.h" static const char* H5_ZJPEGLS_DECODE_INEFFECTIVE = "H5ZjpeglsDecodeIneffective"; static const char* H5_ZJPEGLS_DECODE_RGBA_NOMINAL = "H5ZjpeglsDecodeRGBANominal"; static const char* H5_ZJPEGLS_DECODE_NOMINAL = "H5ZjpeglsDecodeNominal"; static const char* H5_ZJPEGLS_ENCODE_CANNOT_APPLY = "H5ZjpeglsEncodeCannotApply"; static const char* H5_ZJPEGLS_ENCODE_INEFFECTIVE = "H5ZjpeglsEncodeIneffective"; static const char* H5_ZJPEGLS_ENCODE_RGBA_NOMINAL = "H5ZjpeglsEncodeRGBANominal"; static const char* H5_ZJPEGLS_ENCODE_NOMINAL = "H5ZjpeglsEncodeNominal"; // Declare the tests // Encode nominal int H5ZjpeglsEncodeNominal(int argc, char* argv[]); // Encode RGBA int H5ZjpeglsEncodeRGBANominal(int argc, char* argv[]); // Encode cannot be applied int H5ZjpeglsEncodeCannotApply(int argc, char* argv[]); // Decode nominal int H5ZjpeglsDecodeNominal(int argc, char* argv[]); // Main test function int main(int argc, char* argv[]) { int testResult = EXIT_FAILURE; // Get the test name char * testName = argv[FCI_ONE]; // Call the test functions if (strcmp(testName, H5_ZJPEGLS_ENCODE_NOMINAL) == 0) { // launch the test testResult = H5ZjpeglsEncodeNominal(argc-1, argv+1); } if (strcmp(testName, H5_ZJPEGLS_ENCODE_RGBA_NOMINAL) == 0) { // launch the test testResult = H5ZjpeglsEncodeRGBANominal(argc-1, argv+1); } if (strcmp(testName, H5_ZJPEGLS_ENCODE_INEFFECTIVE) == 0) { // launch the test // use the same encoding program as for the H5ZjpeglsEncodeNominal test testResult = H5ZjpeglsEncodeNominal(argc-1, argv+1); } if (strcmp(testName, H5_ZJPEGLS_ENCODE_CANNOT_APPLY) == 0) { // launch the test testResult = H5ZjpeglsEncodeCannotApply(argc-1, argv+1); } if (strcmp(testName, H5_ZJPEGLS_DECODE_NOMINAL) == 0) { // launch the test testResult = H5ZjpeglsDecodeNominal(argc-1, argv+1); } if (strcmp(testName, H5_ZJPEGLS_DECODE_RGBA_NOMINAL) == 0) { // launch the test // use the same decoding program for the RGBA image as for the gray scale image testResult = H5ZjpeglsDecodeNominal(argc-1, argv+1); } if (strcmp(testName, H5_ZJPEGLS_DECODE_INEFFECTIVE) == 0) { // launch the test // use the same decoding program for the noise image as for the gray scale image testResult = H5ZjpeglsDecodeNominal(argc-1, argv+1); } return testResult; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/000077500000000000000000000000001473255640600211065ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/include/000077500000000000000000000000001473255640600225315ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/include/fcicomp_errors.h000066400000000000000000000043001473255640600257130ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services /*! \file This file define the errors message of fcicomp. */ #ifndef FCICOMP_ERRORS #define FCICOMP_ERRORS static int ERR_TEST(int e, char * msg) {fputs((msg), stderr); return (e);} //#define ERR_TEST(e, msg) {fputs((msg), stderr); return (e);} #define INVALID_NUMBER_ARGUMENTS "Invalid number of arguments !\n" #define TOO_MANY_ARGUMENTS "Too many input arguments.\n" #define MISSING_INPUT_ARGUMENTS "Missing input arguments.\n" #define UNKNOWN_ARGUMENT "Unknown argument %s.\n" #define UNEXPECTED_FILTER "Unexpected filter!\n" #define MEMORY_ALLOCATION_ERROR "Memory allocation error!\n" #define CANNOT_OPEN_FILE_W "Cannot open file for writing!\n" #define ERROR_WRITING_FILE "Error writing file!\n" #define ERROR_DURING_COMPRESSION "Error during the compression!\n" #define ERROR_DURING_DECOMPRESSION "Error during the decompression!\n" #define CANNOT_OPEN_FILE_R "Cannot open file for reading!\n" #define ERROR_READING_FILE "Error reading file!\n" #define JPEG_LS_FILTER_UNVAILABLE "JPEG-LS encoding filter not available!\n" #define ERROR_READING_JPEGLS_HEADER "Error reading the JPEG-LS header!\n" #define TRANSPARENT_FILTER_UNVAILABLE "Transparent filter not available!\n" #define TEST_NOT_DEFINED "Test %s is not defined.\n" #define CANNOT_READ_DATA "Cannot read the image data file %s\n" #endif fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/include/fcicomp_log.h000066400000000000000000000043361473255640600251710ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services /*! \file This file define the logging function of fcicomp. */ #ifndef FCICOMP_LOG_H_ #define FCICOMP_LOG_H_ /**@{*/ /** Define logging message severity by decreasing order of severity.*/ typedef enum { ERROR_SEVERITY = 0, WARNING_SEVERITY, NORMAL_SEVERITY, DEBUG_SEVERITY } msg_severity_t; /**@}*/ #ifdef LOGGING /** Define the default logging level */ #define DEFAULT_LOGGING_LEVEL ERROR_SEVERITY /* Set the logging level to the default value if it has not been defined at * building time */ #ifndef LOGGING_LEVEL /** Define the logging level */ #define LOGGING_LEVEL DEFAULT_LOGGING_LEVEL #endif /* LOGGING_LEVEL */ ///** // * @brief Print a logging message. // * // * Normal message are printed on the stdout. Warning and error message are // * printed on the stderr. // * // * This function is heavily based on the function nc_log in netCDF-4 file error4.c. // */ void fcicomp_log(msg_severity_t severity, const char *fmt, ...); #define LOG(s, ...) (fcicomp_log ((s), __VA_ARGS__)) #else /* LOGGING */ /* This definition will be used unless LOGGING is defined. */ // #define LOG(s, ...) static void LOG (msg_severity_t s, ...) #endif /* LOGGING */ /* Handle errors by printing an error message and exiting with a non-zero status. */ // #define ERR(e, msg) {LOG(ERROR_SEVERITY, (msg)); return (e);} static int ERR(int e, char * msg) {LOG(ERROR_SEVERITY, (msg)); return (e);} #endif /* FCICOMP_LOG_H_ */ fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/include/fcicomp_options.h000066400000000000000000000044751473255640600261070ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services /*! \file This file define the options and separators for fcicomp. */ #ifndef FCICOMP_OPTIONS #define FCICOMP_OPTIONS //SEPARATOR #define FCI_SEPARATOR "/" #define FCI_UNDERSCORE "_" #define FCI_SHARP '#' #define FCI_COMMA "," #define FCI_POINT "." #define FCI_PLUS "+" #define FCI_EQUAL "=" #define FCI_DOT_CHAR '.' #define FCI_SLASH_CHAR '/' //COMMAND OPTIONS #define FCI_HELP "-h" #define FCI_HELP_FULL "--help" #define FCI_HELP_U "-u" #define FCI_INPUT "-i" #define FCI_OUTPUT "-o" #define FCI_PREFIX "-p" #define FCI_NETCDF_CONFIG_FILE "-r" #define FCI_JPEGLS_CONFIG_FILE "-j" #define FCI_WIDTH "-w" #define FCI_HEIGHT "-h" //EXTENSIONS #define FCI_RAW_EXT ".raw" #define FCI_HDR_EXT ".hdr" #define FCI_NC_EXT ".nc" //FILE OPTIONS #define FCI_WRITE "wb" #define FCI_READ "rb" #define FCI_READ_ONLY "r" //OTHERS #define FCI_QF "_qf" #define FCI_BSQ "bsq" #define FCI_SKIP_LINE " \t\r\n" //NETCDF #define FCI_0 '\0' //NUMBER #define FCI_ONE 1 #define FCI_TWO 2 #define FCI_THREE 3 #define FCI_FOUR 4 #define FCI_FIVE 5 #define FCI_SIX 6 #define FCI_SEVEN 7 #define FCI_EIGHT 8 #define FCI_NINE 9 #define FCI_12 12 #define FCI_13 13 #define FCI_14 14 #define FCI_15 15 #define FCI_16 16 #define FCI_19 19 #define FCI_22 22 #define FCI_32 32 #define FCI_64 64 #define FCI_BYTE 8 #endif fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/src/000077500000000000000000000000001473255640600216755ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-common/src/fcicomp_log.c000066400000000000000000000045341473255640600243300ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "fcicomp_log.h" #ifdef LOGGING // Define constants #define FCI_ERROR_PREFIX "ERROR: " #define FCI_WARNING_PREFIX "WARNING: " #define FCI_TAB "\t" #define FCI_LINEFEED "\n" ///* Print a logging message */ void fcicomp_log(msg_severity_t severity, const char *fmt, ...) { /* If the severity is greater than the LOGGING_LEVEL, * do not print the message. */ if (severity <= LOGGING_LEVEL) { /* Define the stream where the message is printed */ struct _IO_FILE * stream = stdout; /* Select the stderr stream for errors, * and stdout for other messages */ if (severity == ERROR_SEVERITY) { stream = stderr; } /* Select the stderr stream for errors and warnings */ unsigned int t = 0; switch(severity) { case ERROR_SEVERITY: /* Insert ERROR before the message */ fprintf(stream, FCI_ERROR_PREFIX); break; case WARNING_SEVERITY: /* Insert WARNING before the message */ fprintf(stream, FCI_WARNING_PREFIX); break; default: /* Insert many tabs before the message */ for (t = WARNING_SEVERITY; t < severity; t++) fprintf(stream, FCI_TAB); break; } va_list argp; /* Print out the variable list of args with vprintf. */ va_start(argp, fmt); vfprintf(stream, fmt, argp); va_end(argp); /* Put on a final linefeed. */ fprintf(stream, FCI_LINEFEED); fflush(stream); } } #endif /* LOGGING */ /* Avoid the warning message "ISO C forbids an empty translation unit" by * defining something */ typedef int make_iso_compilers_happy; fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/000077500000000000000000000000001473255640600211025ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/CMakeLists.txt000066400000000000000000000462561473255640600236570ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl # Build the facade between CharLS software and the FCICOMP software. # # This CMake script makes use of the FindCHARLS.cmake script to find # where CharLS library is installed on the system. This FindCHARLS.cmake # script should be located at ${FCICOMP_ROOT}/cmake/modules. You # can set the FCICOMP_ROOT environment variable. # # # To provide the module with a hint about where to find your CharLS # installation, you can set the environment variable CHARLS_ROOT. The # Find module will then look in this path when searching for CharLS # paths, and libraries. # # The facade is build with compiler settings in # ${FCICOMP_RESOURCES_DIR}/compilerFlags.cmake. # # Unit test settings are in # ${FCICOMP_RESOURCES_DIR}/unitTestSettings.cmake. # cmake_minimum_required (VERSION 2.8.12) PROJECT (FCICOMP_JPEGLS C) INCLUDE (${CMAKE_CURRENT_SOURCE_DIR}/Version.cmake) MESSAGE ("") MESSAGE("**************************") MESSAGE (" ${PROJECT_NAME}") MESSAGE("**************************") MESSAGE ("") # FCICOMP_ROOT should be set IF (NOT FCICOMP_ROOT) # Otherwise try to set the FCICOMP_ROOT to a default value SET (FCICOMP_ROOT ${FCICOMP_JPEGLS_SOURCE_DIR}/..) ENDIF (NOT FCICOMP_ROOT) #--------------------------------------------------------------------------- # Optional Settings #--------------------------------------------------------------------------- # Build with shared libraries instead of static? OPTION(BUILD_SHARED_LIBS "Build with shared libraries." ON) # Build with logging enable? OPTION(LOGGING "Enable logging" ON) # Build the unit tests? OPTION(BUILD_TESTING "Build unit tests" ON) OPTION(MEMORY_CHECK "Enable memory check" OFF) OPTION(COVERAGE_TESTING "Enable coverage testing" OFF) #----------------------------------------------------------------------------- # Define some CMake variables for use later in the project #----------------------------------------------------------------------------- SET (FCICOMP_CMAKE_MODULE_PATH ${FCICOMP_ROOT}/cmake/modules) SET (FCICOMP_RESOURCES_DIR ${FCICOMP_ROOT}/cmake/config) #----------------------------------------------------------------------------- # Set the path for external cmake modules # FindCHARLS.cmake is used to find CHARLS at the call of FIND_PACKAGE (CHARLS) #----------------------------------------------------------------------------- SET (CMAKE_MODULE_PATH ${FCICOMP_CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH}) #----------------------------------------------------------------------------- # CHARLS Library Settings # Users can set the CHARLS_ROOT variable which is copied to ENV{CHARLS_ROOT} # ENV{CHARLS_ROOT} is used in by FindCHARLS.cmake at the call of FIND_PACKAGE(CHARLS) option (CHARLS_BUILT_DLL "CharLS was built with shared libraries." 1) if (WIN32) if (CHARLS_BUILT_DLL) add_definitions(-D CHARLS_DLL) else() add_definitions(-D CHARLS_STATIC) endif() endif() #----------------------------------------------------------------------------- # Copy the CHARLS_ROOT variable retrieved from the cmake command line option # -DCHARLS_ROOT into the ENV{CHARLS_ROOT} variable used by the FIND_PACKAGE(CHARLS_ROOT) command. SET (ENV{CHARLS_ROOT} ${CHARLS_ROOT}) # Find CHARLS includes and library FIND_PACKAGE (CHARLS REQUIRED) INCLUDE_DIRECTORIES (${CHARLS_INCLUDE_DIR}) #----------------------------------------------------------------------------- # Set the compiler specific flags #----------------------------------------------------------------------------- INCLUDE (${FCICOMP_RESOURCES_DIR}/compilerFlags.cmake) #----------------------------------------------------------------------------- # Set the unit test settings #----------------------------------------------------------------------------- INCLUDE (${FCICOMP_RESOURCES_DIR}/unitTestSettings.cmake) #----------------------------------------------------------------------------- # System inspection #----------------------------------------------------------------------------- INCLUDE (CheckIncludeFiles) CHECK_INCLUDE_FILES("stdlib.h" HAVE_STDLIB_H) CHECK_INCLUDE_FILES("stdio.h" HAVE_STDIO_H) CHECK_INCLUDE_FILES("stdarg.h" HAVE_STDARG_H) CHECK_INCLUDE_FILES("strings.h" HAVE_STRINGS_H) CHECK_INCLUDE_FILES("signal.h" HAVE_SIGNAL_H) CHECK_INCLUDE_FILES("setjmp.h" HAVE_SETJMP_H) #----------------------------------------------------------------------------- # Define the rpath settings for the fcicomp_jpegls library #----------------------------------------------------------------------------- # add the automatically determined parts of the RPATH # which point to directories outside the build tree to the install RPATH SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # the RPATH to be used when installing, but only if it's not a system directory LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) IF("${isSystemDir}" STREQUAL "-1") SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") ENDIF("${isSystemDir}" STREQUAL "-1") #----------------------------------------------------------------------------- # Define fcicomp_jpegls library #----------------------------------------------------------------------------- # Define the name of the library SET (TARGET_LIBRARY_NAME fcicomp_jpegls) # Define where to find the FCICOMP_COMMON source code SET (FCICOMP_COMMON_SOURCE_DIR ${FCICOMP_ROOT}/fcicomp-common) # Create the list of source code files SET (FCICOMP_JPEGLS_SRCS ${FCICOMP_JPEGLS_SOURCE_DIR}/src/fcicomp_jpegls.c ${FCICOMP_COMMON_SOURCE_DIR}/src/fcicomp_log.c ) # Include the directories INCLUDE_DIRECTORIES (${FCICOMP_JPEGLS_SOURCE_DIR}/include ${FCICOMP_COMMON_SOURCE_DIR}/include) # Create the fcicomp_jpegls library ADD_LIBRARY (${TARGET_LIBRARY_NAME} ${FCICOMP_JPEGLS_SRCS}) TARGET_LINK_LIBRARIES (${TARGET_LIBRARY_NAME} PRIVATE ${CHARLS_LIBRARIES}) # Set the version and soversion of the library # this creates the dynamic links SET_TARGET_PROPERTIES (${TARGET_LIBRARY_NAME} PROPERTIES VERSION ${FCICOMP_JPEGLS_VERSION} SOVERSION ${FCICOMP_JPEGLS_SOVERSION}) #----------------------------------------------------------------------------- # Logging settings #----------------------------------------------------------------------------- # Define the default logging level SET (DEFAULT_LOGGING_LEVEL "ERROR_SEVERITY") # Define the default logging level depending on the debug mode IF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") SET (DEFAULT_LOGGING_LEVEL "DEBUG_SEVERITY") ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") # Enable logging IF (LOGGING OR LOGGING_LEVEL) SET (EXTRA_COMPILER_FLAGS "-DLOGGING ${EXTRA_COMPILER_FLAGS}") # Set the logging level IF (NOT LOGGING_LEVEL) # Set the default logging level SET (LOGGING_LEVEL ${DEFAULT_LOGGING_LEVEL}) ENDIF (NOT LOGGING_LEVEL) # Set the logging level SET (EXTRA_COMPILER_FLAGS "-DLOGGING_LEVEL=${DEFAULT_LOGGING_LEVEL} ${EXTRA_COMPILER_FLAGS}") ENDIF (LOGGING OR LOGGING_LEVEL) #----------------------------------------------------------------------------- # Set extra compiler flags #----------------------------------------------------------------------------- # Test Coverage Settings IF (COVERAGE_TESTING) SET (EXTRA_COMPILER_FLAGS "-fprofile-arcs -ftest-coverage ${EXTRA_COMPILER_FLAGS}") SET (EXTRA_LINK_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage ${EXTRA_LINK_FLAGS_DEBUG} ") ENDIF (COVERAGE_TESTING) # Add extra compiler flags if any IF (EXTRA_COMPILER_FLAGS) SET_TARGET_PROPERTIES(${TARGET_LIBRARY_NAME} PROPERTIES COMPILE_FLAGS ${EXTRA_COMPILER_FLAGS}) ENDIF (EXTRA_COMPILER_FLAGS) # Add extra link flags if any IF (EXTRA_LINK_FLAGS_DEBUG) SET_TARGET_PROPERTIES(${TARGET_LIBRARY_NAME} PROPERTIES LINK_FLAGS_DEBUG ${EXTRA_LINK_FLAGS_DEBUG}) ENDIF (EXTRA_LINK_FLAGS_DEBUG) #----------------------------------------------------------------------------- # Define the installed components for the fcicomp_jpegls library #----------------------------------------------------------------------------- # Define the PROJECT_NAME_LOWER variable STRING (TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER) # Define the include and lib install dir SET (INCLUDE_INSTALL_DIR include/) SET (LIBRARY_INSTALL_DIR lib/) # Install the library INSTALL (TARGETS ${TARGET_LIBRARY_NAME} EXPORT "${PROJECT_NAME_LOWER}-targets" LIBRARY DESTINATION ${LIBRARY_INSTALL_DIR} INCLUDES DESTINATION ${INCLUDE_INSTALL_DIR} ) # Install include headers INSTALL (FILES ${FCICOMP_JPEGLS_SOURCE_DIR}/include/fcicomp_jpegls.h DESTINATION ${INCLUDE_INSTALL_DIR}) #----------------------------------------------------------------------------- # Create the package #----------------------------------------------------------------------------- SET (PROJECT_VERSION ${FCICOMP_JPEGLS_VERSION}) INCLUDE (${FCICOMP_RESOURCES_DIR}/packageConfig.cmake) #----------------------------------------------------------------------------- # Unit tests #----------------------------------------------------------------------------- IF (BUILD_TESTING) # Define the unit tests directory SET (TEST_DIR ${FCICOMP_JPEGLS_SOURCE_DIR}/test) # Define where the source codes of the unit test are located SET (TEST_SOURCE_DIR ${TEST_DIR}/src) # Define the directory where are located the test data SET (TEST_DATA_DIR ${TEST_DIR}/data) #------------------------------------------------------------------------- # Define the executables test programs #------------------------------------------------------------------------- # jpegls_test ADD_EXECUTABLE (jpegls_test ${TEST_SOURCE_DIR}/jpegls_test.c ${TEST_SOURCE_DIR}/jpegls_compress_nominal.c ${TEST_SOURCE_DIR}/jpegls_decompress_nominal.c # ${TEST_SOURCE_DIR}/jpegls_compress_error_case.c ${TEST_SOURCE_DIR}/jpegls_read_header_error_case.c ${TEST_SOURCE_DIR}/jpegls_decompress_error_case.c ) TARGET_LINK_LIBRARIES (jpegls_test ${TARGET_LIBRARY_NAME}) SET_TARGET_PROPERTIES(jpegls_test PROPERTIES COMPILE_FLAGS "-DLOGGING") #------------------------------------------------------------------------- # Define the test image #------------------------------------------------------------------------- # sample # ------ # Define the test image name, size and bpp SET (TEST_SAMPLE_IMAGE_NAME "sample") SET (TEST_SAMPLE_IMAGE_SIZE "200;100") SET (TEST_SAMPLE_IMAGE_BPP "16") # Define the reference uncompressed image file SET (REF_SAMPLE_RAW_FILE "${TEST_DATA_DIR}/${TEST_SAMPLE_IMAGE_NAME}_ref.raw") # Define the reference compressed image file SET (REF_SAMPLE_JLS_FILE "${TEST_DATA_DIR}/${TEST_SAMPLE_IMAGE_NAME}_ref.jls") # noise_sample # ----------- # Define the test RGBA image name, size and bpp SET (TEST_NOISE_SAMPLE_IMAGE_NAME "noise_sample") SET (TEST_NOISE_SAMPLE_IMAGE_SIZE "32;32") SET (TEST_NOISE_SAMPLE_IMAGE_BPP "16") # Define the reference uncompressed image file SET (REF_NOISE_SAMPLE_RAW_FILE "${TEST_DATA_DIR}/${TEST_NOISE_SAMPLE_IMAGE_NAME}_ref.raw") # Define the reference compressed image file SET (REF_NOISE_SAMPLE_JLS_FILE "${TEST_DATA_DIR}/${TEST_NOISE_SAMPLE_IMAGE_NAME}_ref.jls") #------------------------------------------------------------------------- # Define the unit test macros for this module #------------------------------------------------------------------------- # ------------------------------------------------------------------------ # This macro run a unit test and perform a comparison of the stderr # and stdout to expected results MACRO (ADD_FCICOMP_JPEGLS_UNIT_TEST testname) IF (MEMORY_CHECK) # If memory check is enable, do not run the tests using cmake # Run the test directly ADD_TEST ( NAME ${testname} COMMAND jpegls_test ${testname} ${ARGN} WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) ELSE (MEMORY_CHECK) # If memory check is disable, also run file comparisons # If LOGGING is not enable, do not compare the stderr IF (LOGGING) SET(TEST_REF_ERR ${TEST_DATA_DIR}/${testname}_ref.err) ENDIF(LOGGING) ADD_TEST ( NAME ${testname} COMMAND "${CMAKE_COMMAND}" -D "TEST_NAME=${testname}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=${testname};${ARGN}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" -D "TEST_REF_ERR=${TEST_REF_ERR}" -P "${FCICOMP_RESOURCES_DIR}/runTestCompare.cmake" ) ENDIF (MEMORY_CHECK) ENDMACRO (ADD_FCICOMP_JPEGLS_UNIT_TEST) # ------------------------------------------------------------------------ # This marco run a unit test and perform a comparison of the output # file with a reference file MACRO (ADD_FCICOMP_JPEGLS_CMP_UNIT_TEST testname input_file output_file reference_file) IF (MEMORY_CHECK) # If memory check is enable, do not run the tests using cmake # Run the test directly ADD_TEST ( NAME ${testname} COMMAND jpegls_test ${testname} ${input_file} ${output_file} ${ARGN} WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) ELSE (MEMORY_CHECK) # If memory check is disable, also run file comparisons ADD_TEST ( NAME ${testname} COMMAND "${CMAKE_COMMAND}" -D "TEST_NAME=${testname}" -D "TEST_PROGRAM=$" -D "TEST_ARGS:STRING=${testname};${input_file};${output_file};${ARGN}" -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" -D "TEST_EXPECT=0" -D "TEST_OUTPUT_FILE=${output_file}" -D "TEST_REF_OUTPUT_FILE=${reference_file}" -P "${FCICOMP_RESOURCES_DIR}/runTestCompare.cmake" ) ENDIF (MEMORY_CHECK) ENDMACRO (ADD_FCICOMP_JPEGLS_CMP_UNIT_TEST) #------------------------------------------------------------------------- # Define the unit tests #------------------------------------------------------------------------- # -------------------------- # Test jpeglsCompressNominal # Define the name of the compressed file at the output of the # nominal compression test SET (TEST_OUTPUT_FILE "${TEST_SAMPLE_IMAGE_NAME}.jls") # Add the unit test: run jpegls_test with the jpeglsCompressNominal # test and the raw image at the input, and compare the compressed # output file with the reference jls file ADD_FCICOMP_JPEGLS_CMP_UNIT_TEST (jpeglsCompressNominal ${REF_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${REF_SAMPLE_JLS_FILE} ${TEST_SAMPLE_IMAGE_SIZE} ${TEST_SAMPLE_IMAGE_BPP}) # -------------------------- # Test jpeglsDecompressNominal # Define the name of the decompressed file at the output of the # nominal decompression test SET (TEST_OUTPUT_FILE "${TEST_SAMPLE_IMAGE_NAME}.jls.raw") # Add the unit test: run jpegls_test with the # jpeglsDecompressNominal test and the jls image at the input, and # compare the decompressed output file with the reference raw file ADD_FCICOMP_JPEGLS_CMP_UNIT_TEST (jpeglsDecompressNominal ${REF_SAMPLE_JLS_FILE} ${TEST_OUTPUT_FILE} ${REF_SAMPLE_RAW_FILE}) # -------------------------- # Test jpeglsCompressNoise # Define the name of the compressed file at the output of the test SET (TEST_OUTPUT_FILE "${TEST_NOISE_SAMPLE_IMAGE_NAME}.jls") # Add the unit test: run jpegls_test with the jpeglsCompressNoise ADD_FCICOMP_JPEGLS_CMP_UNIT_TEST (jpeglsCompressNoise ${REF_NOISE_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${REF_NOISE_SAMPLE_JLS_FILE} ${TEST_NOISE_SAMPLE_IMAGE_SIZE} ${TEST_NOISE_SAMPLE_IMAGE_BPP}) # -------------------------- # Test jpeglsDecompressNoise # Define the name of the compressed file at the output of the test SET (TEST_OUTPUT_FILE "${TEST_NOISE_SAMPLE_IMAGE_NAME}.jls.raw") # Add the unit test: run jpegls_test with the jpeglsDecompressNoise ADD_FCICOMP_JPEGLS_CMP_UNIT_TEST (jpeglsDecompressNoise ${REF_NOISE_SAMPLE_JLS_FILE} ${TEST_OUTPUT_FILE} ${REF_NOISE_SAMPLE_RAW_FILE}) # ----------------------------- # Test jpeglsCompressErrorCase # Define the name of the compressed file at the output of the test # SET (TEST_OUTPUT_FILE "${TEST_SAMPLE_IMAGE_NAME}.jls") # Add the unit test: run jpegls_test with the jpeglsCompressErrorCase # ADD_FCICOMP_JPEGLS_UNIT_TEST (jpeglsCompressErrorCase # ${REF_SAMPLE_RAW_FILE} ${TEST_OUTPUT_FILE} ${TEST_SAMPLE_IMAGE_SIZE} ${TEST_SAMPLE_IMAGE_BPP}) # -------------------------- # Test jpeglsReadHeaderErrorCase # Add the unit test: run jpegls_test with the jpeglsReadHeaderErrorCase # ADD_FCICOMP_JPEGLS_UNIT_TEST (jpeglsReadHeaderErrorCase) # -------------------------- # Test jpeglsDecompressErrorCase # Add the unit test: run jpegls_test with the jpeglsDecompressErrorCase ADD_FCICOMP_JPEGLS_UNIT_TEST (jpeglsDecompressErrorCase ${REF_SAMPLE_JLS_FILE}) ENDIF (BUILD_TESTING) #----------------------------------------------------------------------------- # Print the configuration summary #----------------------------------------------------------------------------- MESSAGE("") MESSAGE("-----------------------------------------------------------------") MESSAGE("Configuration Summary of ${PROJECT_NAME}:") MESSAGE("") MESSAGE(STATUS "Building Shared Libraries: ${BUILD_SHARED_LIBS}") IF(CMAKE_PREFIX_PATH) MESSAGE(STATUS "CMake Prefix Path: ${CMAKE_PREFIX_PATH}") ENDIF() IF(CMAKE_INSTALL_PREFIX) MESSAGE(STATUS "CMake Install Prefix: ${CMAKE_INSTALL_PREFIX}") ENDIF() MESSAGE("") MESSAGE("Options:") MESSAGE(STATUS "Logging: ${LOGGING}") IF(LOGGING) MESSAGE(STATUS "Logging level: ${LOGGING_LEVEL}") ENDIF() MESSAGE("") MESSAGE("Compiler:") MESSAGE(STATUS "Build Type: ${CMAKE_BUILD_TYPE}") MESSAGE(STATUS "CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}") MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}") IF("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG") MESSAGE(STATUS "CMAKE_C_FLAGS_DEBUG: ${CMAKE_C_FLAGS_DEBUG}") ENDIF() IF("${CMAKE_BUILD_TYPE}" STREQUAL "RELEASE") MESSAGE(STATUS "CMAKE_C_FLAGS_RELEASE: ${CMAKE_C_FLAGS_RELEASE}") ENDIF() IF(EXTRA_COMPILER_FLAGS) MESSAGE(STATUS "EXTRA_COMPILER_FLAGS: ${EXTRA_COMPILER_FLAGS}") ENDIF() MESSAGE(STATUS "Linking against: ${CHARLS_LIBRARIES}") MESSAGE("") MESSAGE("Tests:") MESSAGE(STATUS "Tests Enabled: ${BUILD_TESTING}") MESSAGE(STATUS "Coverage testing: ${COVERAGE_TESTING}") MESSAGE(STATUS "Memory check: ${MEMORY_CHECK}") MESSAGE("-----------------------------------------------------------------") MESSAGE("") fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/Version.cmake000066400000000000000000000022411473255640600235300ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl # Set the version of the module SET(FCICOMP_JPEGLS_MAJOR_VERSION 1) SET(FCICOMP_JPEGLS_MINOR_VERSION 0) SET(FCICOMP_JPEGLS_PATCH_VERSION 1) SET(FCICOMP_JPEGLS_VERSION ${FCICOMP_JPEGLS_MAJOR_VERSION}.${FCICOMP_JPEGLS_MINOR_VERSION}.${FCICOMP_JPEGLS_PATCH_VERSION}) # Set the version of the external API SET(FCICOMP_JPEGLS_SOVERSION 1) fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/fcicomp_jpegls-config.cmake.in000066400000000000000000000026061473255640600267440ustar00rootroot00000000000000# ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl # - Config file for the FCICOMP_JPEGLS package # It defines the following variables # FCICOMP_JPEGLS_INCLUDE_DIR - include directories for fcicomp_jpegls # FCICOMP_JPEGLS_LIBRARIES - libraries to link against # The following line is for used by configure_package_config_file() @PACKAGE_INIT@ SET (FCICOMP_JPEGLS_VERSION "@FCICOMP_JPEGLS_VERSION@") INCLUDE ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME_LOWER@-targets.cmake") SET_AND_CHECK (FCICOMP_JPEGLS_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@") SET (FCICOMP_JPEGLS_LIBRARIES "fcicomp::@TARGET_LIBRARY_NAME@") fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/include/000077500000000000000000000000001473255640600225255ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/include/fcicomp_jpegls.h000066400000000000000000000136221473255640600256660ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services //// // \file // // Header file for the C API of the JPEG-LS facade. // // This includes the definition of the jls_parameters_t structure type // and the facade to the CharLS software library. // #ifndef _FCICOMP_JPEGLS_H_ #define _FCICOMP_JPEGLS_H_ //// @{ // Control the JPEG-LS interleave mode parameter. // // ILV_NONE: colour components are provided at the input and compressed // in band sequential order. // // ILV_LINE: compressor encodes one line at a time. Pixels are in band // interleaved by line order. // // ILV_SAMPLE: compressor encodes a pixel at a time. For each pixel, the // red, green and blue are sent immediately after each other. In this // mode, only 3 component images are supported (so no RGBA). Pixels are // in band interleaved by pixel order. #define ILV_NONE 0 #define ILV_LINE 1 #define ILV_SAMPLE 2 // @} //// @{ // Define JPEG-LS error codes. // // These are mainly error codes defined in CharLS API. #define FJLS_NOERR 0 #define FJLS_INVALID_JPEGLS_PARAMETERS 1 #define FJLS_UNSUPPORTED_JPEGLS_PARAMETERS 2 #define FJLS_UNCOMPRESSED_BUFER_TOO_SMALL 3 #define FJLS_COMPRESSED_BUFER_TOO_SMALL 4 #define FJLS_INVALID_COMPRESSED_DATA 5 #define FJLS_TOO_MUCH_COMPRESSED_DATA 6 #define FJLS_IMAGE_TYPE_NOT_SUPPORTED 7 #define FJLS_UNSUPPORTED_BITDEPTH_FOR_TRANSFORM 8 #define FJLS_UNSUPPORTED_COLOR_TRANSFORM 9 #define FJLS_MEMORY_ALLOCATION_ERROR 10 #define FJLS_UNKNOWN_ERROR -1 // @} // This is the structure of JPEG-LS preset coding parameters. struct jls_preset_coding_parameters { unsigned int maxval; // < Maximum possible value for any image sample unsigned int t1; // < First quantization threshold value for the local gradients unsigned int t2; // < Second quantization threshold value for the local gradients unsigned int t3; // < Third quantization threshold value for the local gradients unsigned int reset; // < Value at which the counters A, B, and N are halved }; // This is the structure of JPEG-LS coding parameters. typedef struct { unsigned int bit_per_sample; // < Number of valid bits per sample to encode unsigned int components; // < Number of color components unsigned int ilv; // < Interleave mode in the compressed stream unsigned int near; // < Difference bound for near-lossless coding struct jls_preset_coding_parameters preset; // < Structure of JPEG-LS preset coding parameters } jls_parameters_t; //// // @brief Compress an image in JPEG-LS. // // Compress the image in JPEG-LS using CharLS software library. // // Enough memory to hold the compressed image data should have been allocated // by the calling function in the outBuf buffer. // // The compressedSize parameters holds the number of valid compressed bytes // that have been written into the outBuf buffer. // // \param outBuf output data buffer. Contains the compressed image // data. // \param outBufSize allocated memory for the output data buffer in // bytes. // \param compressedSize effective size of the compressed data. This is // the number of valid bytes in outBuf. // \param inBuf input image buffer. // \param inBufSize size of the input image buffer in bytes. // \param samples width of the image in pixels. // \param lines height of the image in pixels. // \param jlsParams JPEG-LS coding parameters structure. // \return 0 in case of success, an error code > 0 otherwise. int jpeglsCompress(void *outBuf, size_t outBufSize, size_t *compressedSize, const void *inBuf, size_t inBufSize, int samples, int lines, jls_parameters_t jlsParams); //// // @brief Get the JPEG-LS coding parameters for a compressed image. // // Read the JPEG-LS coding parameters from the compressed image data using // CharLS software library. // // The image parameters are returned into the samples, lines and jlsParams // pointers. // // The jlsParams pointer may be NULL. In this case, only the compressed image // dimensions are returned. // // \param inBuf input compressed data buffer. // \param inSize size of the input compressed data buffer in bytes. // \param samples pointer on the width of the compressed image. // \param lines pointer on the height of the compressed image. // \param jlsParams pointer on the JPEG-LS coding parameters structure. // \return 0 in case of success, an error code > 0 otherwise. // int jpeglsReadHeader(const void *inBuf, size_t inSize, int *samples, int *lines, jls_parameters_t * jlsParams); //// // @brief Decompress a JPEG-LS image. // // Decompress the JPEG-LS image using CharLS software library. // // Enough memory to hold the decompressed image data should have been allocated // by the calling function in the outBuf buffer. // // \param outBuf output data buffer. Contains the decompressed image data. // \param outSize allocated memory for the output data buffer in bytes. // \param inBuf input compressed data buffer. // \param inSize size of the input compressed data buffer in bytes. // \return 0 in case of success, an error code > 0 otherwise. // int jpeglsDecompress(void *outBuf, size_t outSize, const void *inBuf, size_t inSize); #endif // _FCICOMP_JPEGLS_H_ fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/include/fcicomp_jpegls_messages.h000066400000000000000000000053461473255640600275610ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services /*! \file This file define the error messages printed by fcicomp_jpegls. */ #ifndef FCICOMP_JPEGLS_MESSAGES_H_ #define FCICOMP_JPEGLS_MESSAGES_H_ /* Error messages */ #define JPEGLS_COMPRESS_ERROR "Error in jpeglsCompress: %s" #define JPEGLS_READHEADER_ERROR "Error in jpeglsReadHeader: %s" #define JPEGLS_DECOMPRESS_ERROR "Error in jpeglsDecompress: %s" #define INVALID_JLS_PARAMETERS_MSG "Parameter values are not a valid combination in JPEG-LS." #define PARAMETER_VALUE_NOT_SUPPORTED_MSG "Parameter values are not supported by CharLS." #define UNCOMPRESSED_BUFFER_TOO_SMALL_MSG "Not enough memory allocated for the output of the JPEG-LS decoding process." #define COMPRESSED_BUFFER_TOO_SMALL_MSG "Not enough memory allocated for the output of the JPEG-LS encoding process." #define INVALID_COMPRESSED_DATA_MSG "The compressed bit-stream cannot be decoded." #define TOO_MUCH_COMPRESSED_DATA_MSG "Too much compressed data." #define IMAGE_TYPE_NOT_SUPPORTED_MSG "The image type is not supported by CharLS." #define UNKNOWN_CHARLS_ERROR_CODE_MSG "Unknown CharLS error code." /* Debug messages */ #define ENTER_FUNCTION "-> Enter in %s()" #define EXIT_FUNCTION "<- Exit from %s() with code: %d" #define CALL_CHARLS_JPEGLS_ENCODE "-> Calling CharLS JpegLsEncode()" #define EXIT_CHARLS_JPEGLS_ENCODE "<- Exit from CharLS JpegLsEncode() with code: %d" #define CALL_CHARLS_JPEGLS_READHEADER "-> Calling CharLS JpegLsReadHeader()" #define EXIT_CHARLS_JPEGLS_READHEADER "<- Exit from CharLS JpegLsReadHeader() with code: %d" #define CALL_CHARLS_JPEGLS_DECODE "-> Calling CharLS JpegLsDecode()" #define EXIT_CHARLS_JPEGLS_DECODE "<- Exit from CharLS JpegLsDecode() with code: %d" #define CHARLS_PARAMETERS "CharLS parameters:\nheight:%d\nwidth:%d\nbitspersample:%d\ncomponents:%d\nilv:%d\nallowedlossyerror:%d\nMAXVAL:%d\nT1:%d\nT2:%d\nT3:%d\nRESET:%d" #endif /* FCICOMP_JPEGLS_MESSAGES_H_ */ fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/src/000077500000000000000000000000001473255640600216715ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/src/fcicomp_jpegls.c000066400000000000000000000267111473255640600250300ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include /* Includes from CharLS software */ #include "charls.h" /* The "fcicomjpegls.h" include should appear after * the include of "interface.h" of CharLS software * otherwise this provoke a compilation error. Why ? */ #include "fcicomp_jpegls.h" #include "fcicomp_jpegls_messages.h" /* Include from fcicomp-common */ #include "fcicomp_log.h" /** Maximum number of components in the images. */ #define MAX_COMPONENTS 4 ///* Convert error codes return by charls to error code returned by the fcicomp-jpegls module */ int charlsToFjlsErrorCode(int charlsErr) { /* Initialize the output error code */ int fcicompJlsErr = FJLS_NOERR; /* Convert error codes return by charls */ switch (charlsErr) { case CHARLS_JPEGLS_ERRC_SUCCESS: /* No error */ fcicompJlsErr = FJLS_NOERR; break; case CHARLS_JPEGLS_ERRC_INVALID_ARGUMENT: /* Parameter values are not a valid combination in JPEG-LS */ fcicompJlsErr = FJLS_INVALID_JPEGLS_PARAMETERS; break; case CHARLS_JPEGLS_ERRC_PARAMETER_VALUE_NOT_SUPPORTED: /* Parameter values are not supported by CharLS */ fcicompJlsErr = FJLS_UNSUPPORTED_JPEGLS_PARAMETERS; break; case CHARLS_JPEGLS_ERRC_DESTINATION_BUFFER_TOO_SMALL: /* Not enough memory allocated for the output of the JPEG-LS decode process */ fcicompJlsErr = FJLS_UNCOMPRESSED_BUFER_TOO_SMALL; break; case CHARLS_JPEGLS_ERRC_SOURCE_BUFFER_TOO_SMALL: /* Not enough memory allocated for the output of the JPEG-LS encode process */ fcicompJlsErr = FJLS_COMPRESSED_BUFER_TOO_SMALL; break; case CHARLS_JPEGLS_ERRC_INVALID_ENCODED_DATA: /* The compressed bitstream is not decodable */ fcicompJlsErr = FJLS_INVALID_COMPRESSED_DATA; break; case CHARLS_JPEGLS_ERRC_TOO_MUCH_ENCODED_DATA: /* Too much compressed data */ fcicompJlsErr = FJLS_TOO_MUCH_COMPRESSED_DATA; break; case CHARLS_JPEGLS_ERRC_INVALID_OPERATION: /* The image type used is not supported by CharLS */ fcicompJlsErr = FJLS_IMAGE_TYPE_NOT_SUPPORTED; break; default: /* Default: Unknown CharLS error code */ fcicompJlsErr = FJLS_UNKNOWN_ERROR; break; } /* Return the fcicomp-jpegls error code */ return fcicompJlsErr; } ///* Get the error messages corresponding to the input error code */ const char * getErrorMessage(int err) { /* Initialize the output message */ char * msg = UNKNOWN_CHARLS_ERROR_CODE_MSG; /* Set the message string depending on the error */ switch (err) { case CHARLS_JPEGLS_ERRC_INVALID_ARGUMENT: /* Parameter values are not a valid combination in JPEG-LS */ msg = INVALID_JLS_PARAMETERS_MSG; break; case CHARLS_JPEGLS_ERRC_PARAMETER_VALUE_NOT_SUPPORTED: /* Parameter values are not supported by CharLS */ msg = PARAMETER_VALUE_NOT_SUPPORTED_MSG; break; case CHARLS_JPEGLS_ERRC_DESTINATION_BUFFER_TOO_SMALL: /* Not enough memory allocated for the output of the JPEG-LS decode process */ msg = UNCOMPRESSED_BUFFER_TOO_SMALL_MSG; break; case CHARLS_JPEGLS_ERRC_SOURCE_BUFFER_TOO_SMALL: /* Not enough memory allocated for the output of the JPEG-LS encode process */ msg = COMPRESSED_BUFFER_TOO_SMALL_MSG; break; case CHARLS_JPEGLS_ERRC_INVALID_ENCODED_DATA: /* The compressed bitstream is not decodable */ msg = INVALID_COMPRESSED_DATA_MSG; break; case CHARLS_JPEGLS_ERRC_TOO_MUCH_ENCODED_DATA: /* Too much compressed data */ msg = TOO_MUCH_COMPRESSED_DATA_MSG; break; case CHARLS_JPEGLS_ERRC_INVALID_OPERATION: /* The image type used is not supported by CharLS */ msg = IMAGE_TYPE_NOT_SUPPORTED_MSG; break; default: /* Default: Unknown CharLS error code */ msg = UNKNOWN_CHARLS_ERROR_CODE_MSG; break; } return msg; } ///* Compress an image in JPEG-LS. */ int jpeglsCompress(void *outBuf, size_t outBufSize, size_t *compressedSize, const void *inBuf, size_t inBufSize, int samples, int lines, jls_parameters_t jlsParams) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the output value */ int result = FJLS_NOERR; /* Initialize the charls parameters structure with zeros. * JlsParameters is the structure defined in charls software. */ struct JlsParameters charlsParams = { 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0, 0, 0, 0, 0 }, /* JlsCustomParameters */ { 0, 0, 0, 0, 0, 0, NULL } /* JfifParameters */ }; /* Check some of the input JPEG-LS parameters */ if (jlsParams.components > MAX_COMPONENTS) { result = FJLS_INVALID_JPEGLS_PARAMETERS; LOG(ERROR_SEVERITY, JPEGLS_COMPRESS_ERROR, INVALID_JLS_PARAMETERS_MSG); } else { /* Fill the charls parameters structure */ /* Set the image dimension in the charls parameters structure */ charlsParams.height = lines; charlsParams.width = samples; /* Copy the data from the jls_parameters_t structure * to the JlsParameters structure (specific to charls) */ /* Number of valid bits per sample to encode */ charlsParams.bitsPerSample = jlsParams.bit_per_sample; /* Number of colour components */ charlsParams.components = jlsParams.components; /* Interleave mode in the compressed stream */ charlsParams.interleaveMode = jlsParams.ilv; /* Difference bound for near-lossless coding */ charlsParams.allowedLossyError = jlsParams.near; /* Structure of JPEG-LS coding parameters */ /* Maximum possible value for any image sample */ charlsParams.custom.MaximumSampleValue = jlsParams.preset.maxval; /* First quantization threshold value for the local gradients */ charlsParams.custom.Threshold1 = jlsParams.preset.t1; /* Second quantization threshold value for the local gradients */ charlsParams.custom.Threshold2 = jlsParams.preset.t2; /* Third quantization threshold value for the local gradients */ charlsParams.custom.Threshold3 = jlsParams.preset.t3; /* Value at which the counters A, B, and N are halved */ charlsParams.custom.ResetValue = jlsParams.preset.reset; /* Initialize the return value for the call to CharLS */ int charlsResult = CHARLS_JPEGLS_ERRC_SUCCESS; /* Encode the data using CharLS software */ LOG(DEBUG_SEVERITY, CALL_CHARLS_JPEGLS_ENCODE); LOG(DEBUG_SEVERITY, CHARLS_PARAMETERS, charlsParams.height, charlsParams.width, charlsParams.bitsPerSample, charlsParams.components, charlsParams.interleaveMode, charlsParams.allowedLossyError, charlsParams.custom.MaximumSampleValue, charlsParams.custom.Threshold1, charlsParams.custom.Threshold2, charlsParams.custom.Threshold3, charlsParams.custom.ResetValue); charlsResult = JpegLsEncode(outBuf, outBufSize, compressedSize, inBuf, inBufSize, &charlsParams, NULL); LOG(DEBUG_SEVERITY, EXIT_CHARLS_JPEGLS_ENCODE, charlsResult); /* Check the result of JpegLsEncode */ if (charlsResult != CHARLS_JPEGLS_ERRC_SUCCESS) { LOG(ERROR_SEVERITY, JPEGLS_COMPRESS_ERROR, getErrorMessage(charlsResult)); /* Set the compressed size to 0 in case an error has occurred */ *compressedSize = 0; /* Convert charls error code to fcicomp-jpegls error code */ result = charlsToFjlsErrorCode(charlsResult); } } /* Return the error code */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } ///* Get the JPEG-LS coding parameters for a compressed image. */ int jpeglsReadHeader(const void *inBuf, size_t inSize, int *samples, int *lines, jls_parameters_t * jlsParams) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the output value */ int result = FJLS_NOERR; /* Initialize the charls parameters structure with zeros. * JlsParameters is the structure defined in charls software. */ struct JlsParameters charlsParams = { 0, 0, 0, 0, 0, 0, 0, 0, 0, { 0, 0, 0, 0, 0 }, /* JlsCustomParameters */ { 0, 0, 0, 0, 0, 0, NULL } /* JfifParameters */ }; /* Initialize the return value for the call to CharLS */ int charlsResult = CHARLS_JPEGLS_ERRC_SUCCESS; /* Read the JPEG-LS header using charls software */ LOG(DEBUG_SEVERITY, CALL_CHARLS_JPEGLS_READHEADER); charlsResult = JpegLsReadHeader(inBuf, inSize, &charlsParams, NULL); LOG(DEBUG_SEVERITY, EXIT_CHARLS_JPEGLS_READHEADER, charlsResult); /* Check the result of JpegLsReadHeader */ if (charlsResult == CHARLS_JPEGLS_ERRC_SUCCESS) { /* Get the image dimensions */ *samples = charlsParams.width; *lines = charlsParams.height; /* The jlsParams pointer may be NULL. * In this case, only the compressed image dimensions are returned. */ if (jlsParams != NULL) { /* Copy the data from the JlsParameters structure (specific to charls) * to the jls_parameters_t structure */ /* Number of valid bits per sample to encode */ jlsParams->bit_per_sample = charlsParams.bitsPerSample; /* Number of colour components */ jlsParams->components = charlsParams.components; /* Interleave mode in the compressed stream */ jlsParams->ilv = charlsParams.interleaveMode; /* Difference bound for near-lossless coding */ jlsParams->near = charlsParams.allowedLossyError; /* Structure of JPEG-LS coding parameters */ /* Maximum possible value for any image sample */ jlsParams->preset.maxval = charlsParams.custom.MaximumSampleValue; /* First quantization threshold value for the local gradients */ jlsParams->preset.t1 = charlsParams.custom.Threshold1; /* Second quantization threshold value for the local gradients */ jlsParams->preset.t2 = charlsParams.custom.Threshold2; /* Third quantization threshold value for the local gradients */ jlsParams->preset.t3 = charlsParams.custom.Threshold3; /* Value at which the counters A, B, and N are halved */ jlsParams->preset.reset = charlsParams.custom.ResetValue; } } else { /* charlsResult != CHARLS_JPEGLS_ERRC_SUCCESS */ LOG(ERROR_SEVERITY, JPEGLS_READHEADER_ERROR, getErrorMessage(charlsResult)); /* Convert charls error code to fcicomp-jpegls error code */ result = charlsToFjlsErrorCode(charlsResult); } /* Return the error code */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } ///* Decompress a JPEG-LS image. */ int jpeglsDecompress(void *outBuf, size_t outSize, const void *inBuf, size_t inSize) { LOG(DEBUG_SEVERITY, ENTER_FUNCTION, __func__); /* Initialize the output value */ int result = FJLS_NOERR; /* Initialize the return value for the call to CharLS */ int charlsResult = CHARLS_JPEGLS_ERRC_SUCCESS; /* Uncompress the JPEG-LS image using charls software */ LOG(DEBUG_SEVERITY, CALL_CHARLS_JPEGLS_DECODE); charlsResult = JpegLsDecode(outBuf, outSize, inBuf, inSize, NULL, NULL); LOG(DEBUG_SEVERITY, EXIT_CHARLS_JPEGLS_DECODE, charlsResult); /* Check the result of JpegLsDecode */ if (charlsResult != CHARLS_JPEGLS_ERRC_SUCCESS) { LOG(ERROR_SEVERITY, JPEGLS_DECOMPRESS_ERROR, getErrorMessage(charlsResult)); /* Convert charls error code to fcicomp-jpegls error code */ result = charlsToFjlsErrorCode(charlsResult); } /* Return the error code */ LOG(DEBUG_SEVERITY, EXIT_FUNCTION, __func__, result); return result; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/000077500000000000000000000000001473255640600220615ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/000077500000000000000000000000001473255640600227725ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/jpeglsCompressErrorCase_ref.err000066400000000000000000000001311473255640600311410ustar00rootroot00000000000000ERROR: Error in jpeglsCompress: Parameter values are not a valid combination in JPEG-LS. fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/jpeglsDecompressErrorCase_ref.err000066400000000000000000000001561473255640600314610ustar00rootroot00000000000000ERROR: Error in jpeglsDecompress: Not enough memory allocated for the output of the JPEG-LS decoding process. fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/jpeglsReadHeaderErrorCase_ref.err000066400000000000000000000001171473255640600313360ustar00rootroot00000000000000ERROR: Error in jpeglsReadHeader: The compressed bit-stream cannot be decoded. fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/noise_sample.jpg000066400000000000000000000016201473255640600261510ustar00rootroot00000000000000 ╪ рJFIFHH █C        └   ─ ─!" ┌?G▀"NoJ▀пэ5╗╪g)З]5плz╥╬4)-zU{.╟Е╛/хiZZдФУqм<¤BX┴фЄўИз'VtB╞)╪╓jв:Лц+Х╖4╦5▒SbХ  ЦН╫є╗&П┬ыsWч∙m0еП■Я▌чegЙ!╛E██Хрўf\дЮьE*UЮ1╪нВ!zйъ▓Z▐▌\mE╡Zq\CЄ├├щm2б#xМВе0╪ИFоHК4j/J─Q▒¤IKRyУЦ╩щ№ЖjпwЮ[■Tл б]jЫjШwТ ■╞Г>U\eХ}Г'Э╛,=NwEа{]g·Lj$щТ╘9u╥g$З│▓█О.╛|Кх╜(&ЛФС╥ддrяЗ├╦╚шы▀ёЩY),╕P\╪ЩЪм▄K╟лl{■b╬БK─╓`0QЦЦм╬╬<▀9╥■╩╙╬┘Оc9Ац╜╧&DE9╞fJA█р4bЛ6Гk╦Ы╦w▒kjФD═╤яF ╟ыГ/O)eУq╡М:г┐\H╥А4\W^/єUЦдbeИё╜и{ЮwowеSХ│b)ДэЇ*ьа a`М╢;@ оGLЫw°3eьCжкЗЭэz$п┌he┐жпqїМЄJbм╓ KЦ()D=e Д*┤9Р░bў╣трm▀wЯ▓[ьvv╣Lке^2Ъ5╧╓!ИР┐╠╜Ф8+ оC╪▒цеN1R Bў8шD▌ДКs.╞ юж╪:} 4"G$uс4V E8ТцщМUЙ! ┤РёЯ`} ФпhP ▌@ё│rs▓╙╥╨&kЧмРО4║юМ +Ф ╘ёG3[∙░BЦЫLОЧ─ф;│нн═▄Nоъas+╨Ї╤║╨хУ Б▒п"< фЦД*З\tЄd╘(э╖KA mjghЄOщ":б╤┌ Е╛╣┤f(▌oЎэ{э╒{┌,O░╒&+jPUЯ ┘fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/noise_sample_ref.jls000066400000000000000000000042121473255640600270150ustar00rootroot00000000000000 ╪ ў   °   C@ ┌┐└Эcvv=еЮ¤ЯpбgmPД1хDl╘╩PcUкЄТл∙ OWoS╦°sU$ю^¤шДЖTXЧ╧m№зIб183mТEдTЗ▒ ўЁгAp@7Rl░Б╒эє┼-\V╕ч fЕгYwi┴Ev!гЕ0╪жKи3╧╟eб:╒(ъш^╥'эK0фlxмФЪ=▓ ЧЗ√u╢п╛E╞Sї RАбК═єEi├СъуrIР^x▀У╗Х╠ЛB~Л▀·C▓8╞Шф3▄▓Х╡ўQ  DMЁ|¤ЫWЫ0Aфtм Ижj┴к:>ЪС╖║[Aк√|РНцПўbХ}E[ЎэЕCч╓О[┌GЯш:пБ╘ХxTS{>ЄP%I_нvT■сdН─1Uєds1J[╟│.Д°L*сў"╣╧!ЧoД┴;l gЛнг═В█bщыЯ╒Є╠╤bпWK╝Кro╘_├4ФхmЗ3-hК3Мк║┬оL╤_ъБМУi╪╙ =L║Qе▐ЛCyжHtыВJ╫Fkё╘╢s=F{ДЫdWёdЁ╚9╢БМL.Йс9√ьQ1\я^(U╕Д╙#I┘ц¤ДЄц╦¤╓│!╣М ┬-т┌▄(Б:Жш╥7Ж ╗?9-[M4Я~эbж·╒Чы═jЩИеyРd├о├╤л y╩Иn^2GЇRЫ▌╨╦ы║ю6вj\: ├╖`╫█└╝лE\akH╝ЩсЪNмp└▒цAя8~o4Щ2<еЄ Q╪Е╥╝╠юD╟W╢М1HJhtГx╜Ў_{В▓rЗ^6г|__vоЙx┌Е ╡S`─ы╦╛╪■Є▐т$'▒їу╞?х╢ЁЭЯ╚){j  Х╤┬╟зqХ6й┤f)q╜5АЁ■╚─ЎR[Ц┐Є░а╝╫н║d^ЦiD∙(9Яиж▐╞ Kм*vO╫R╨├Кzb3╔ЯЄЦ█ыыСwHA;╔K╫╞UkL'l▒hЭЛЯГ Ї9q▒ЭЎ0╣[═ЗfqмiUУ╨├V*√qHё/О№HJ│фд7d10вЁ╩>t №йl═Эh║▓|I+Жпаэ .!9ра░√] 'Lєъ╩PeЕгМъ*cъ∙НРiъЇ"ЙЭ6пS╜L╚чєЄ0▌║ЮдХ2=єО/^V&g`пЖn[fQуM°ў╘ёPVС┤▐■╘М7УHнK 5ZЬi|иIа─∙}Еў╞Л+.┌│V,Ш╦╓}лaHaЄ!╙г■╗ыxвбУш>x ▒hBE.CЮaHиxWг°╔е|J┤M№)Ь┼Э└▓ ]УВ\uм▀╟вь:в╔хz▒тКn{>┤G╡ё╒(а$~шAЮс▌ЄЩqЮ┬q(╒Ф>ШЛ-GгЖ╞╪# F┬1{Аr~ф═╫╙%INД9 └є=Zжg}` F Ь_╩:ыЧНDiё╨Рб┌И▒┬HНЁpЁ:бТs№@uР┼└Ы╟┼ъ└T^Кб┌0 "?"Г>wu2НМN╖j╧Y┴РпЖЬ8.с -▒Б╟з'pЄВJп!┘р{оСYеTH▐╔p{6g6п`░пбK┼r :┐9LJ7ьЫ:┬Ы╚|·╕ ─CмЪ█╝7╔C%М╗&!ё4Їр *ї'D░c▄┌ ЇЮCдXNГК@-еS<╢i ╧У ╗ч.╖^ШQ├m^Uж╩Ў&x48QkyЪ)д°ь3╒Й┤BЧ╫д>GU╩URвЪЭс╤ XЁEqЦ  щПEлhzМ▄Aм╤╖5"╥ГЁ┤╤5PК&тнМ_║SкМП╥+вуб╟J1фє╗■tо##0жФЭЗг4LE;eq)Ъ#▌>!╢ёcv╞█▓ЦulЛ1╤╠,Г0гЭ╠19╔■iчю1ёx@sPбк*/Yок▐╚║°nЖ4s*Щ Щ"с■┘ТЗ|ЄAT─Йс;Ч.УEГщ `√эт@Щr2▒Ь°F}нF╦FН╦qф°Д мI~0И;=¤oЬC╝"Є9.╬─X3О╣D╓пЫ¤g1╣╧їх3kuКz4цF)ГvЬС!А^2T\MЗoNCbм/╤&їбїНh^к-╔*ШсXяXДhщў)═°p╠,Яз№*Ц°:!╦.k└ r]q▌∙╒╢Кз╥Ъ"Ьr╠дE|wCбCo ╙ц╖aSы\\М|Д<╨ ╠Wц Qg8╙ВршrТn e-ъJSЗ▓eяКYdрО А %aH▓}[┘┼Ш ╟№╣0&╡w>`{vy╓▐wL6Dт,3Ди)ЧАО║Ин╣╡V▌>VАj:■фс╦:ЄM'|дЪВ;R6XЁьpG╘ТЄ) ╫░▐Q^єVtiУ4л6 л╠=╞Ю`х╧г╜дкл┐─июL▌ыЄxC╗P. ЁgZРП▄qъo*╖ЧЩ╪ЦzГўЦ9f┤╛ЬуЎЎ╢Q╗%╩Xm9╝▄kХюЛ┘м`[єП7№-╖)┘┤╠!п?fУ┼MПUМ0▒▌Y[~м_s2╔R╣Гj¤CxА( ╚  2"├3и│_─B1Е¤ь╣╡ХщИ3╨ ┘fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/noise_sample_ref.raw000066400000000000000000000040001473255640600270110ustar00rootroot00000000000000Б┬еШA*вб═о╓ТєsЙr▌[Q╨q9K8f$Тa-$ЙЪX>nцF{╝х╫gЛгyд~╙hpe|гЇYхбN╨ XYB/╖2{ т|=█AЗВWЮD┌x│\╝YK╤Щo>ИuVehєЪЯ╖єCп ├Г]ZfЁ─С{o┴╓Р b 8^m╟тk_У╟ЦЄ~$ka╓╜г*Ик╣б{ыrcЮт0оКLtЮeOд к>┬▒МТ║дrFzuL┤╧ИхДМ╨ЁDHЖ &q░>o╘Рз`Ъi╗С╞Ъ╜S-NvА4ж+в_YМ┌╣°YбН┘Ж╒5W8L'▐ E;КсЛHкчб╜^ЧО°мш=%╬╚nDL>═Еф╞nW%=9~Юk┤b┼jїp╥M&В┌АШLЗ1|╝-t╪ ╔)ЯЖ`Ые╙П`Р,╠4lrqЮХJ(ЕПОxA╡┬ЙeЙз+I ЧвzВv<│ЦК╛?ыУRАmA▒QFРZXIRN├OБ█U[╨ЩН,д┬в╧ИсUm)гП╓з╨И■5F╨Чо╘╙ГЇ╞,N█d4m>╧Ё╡`фмKщ&тУ╚╝;гС`m╕▄лAl▒m%┘kЯ╓Й`╙R╘cЖГxхМhWУЮ╛НЖXп82RfS─sмf√█рАAБZ ═zRсН ШтЛМе █┌a┤CЭбШХR'P I╟XтЯье;<э╕ЁJбЫ╤SП>Й╥Щ\Л^KaЦM[(vЪ▓Л┐ЫН``V о;nR└kЙ┴#V╗╖Н aнШЭл║ОW╛ ╛ч╧ц\№rA╛ЇN7kЪ░ ЫTКгЛ(RОнrжБF▀ЖCЛ<и■в@ФG|-├√Gti╬I}┬lн@░}_ЎSNЯ$z_~д#дЦ\цУ╒_Piс$┴cК2Й┤3╦Лpnужnx╬┼ПU =-зy╥nuЖЪ Ф╪J|бъГУaЮlЦ@╦╕╪╧Uh¤Hїc─▒рLjt╛ЮнЖ╛СУ┘вra·}Х▓тФ╗дТшk╝CФ8>3РG%(╗сЩ╗г╡+ ;бй,y░ЫХ#S^█m};г[ВЪyУ╟з╥КP┌Т@B╢yy~ЪS;░╙d▐╡IvvЩ`FJазаz▒┌└R╩цб<"Х▒╢ЪTГН╖Ек╞bзv_ГИА T╔╕`УNuy~йЪТ9Мs1■╞ее └╘e╚Пм╓т)Гу=√сИТж╪¤У¤▒GЙГЯк▀d▓U~Jє┼@э=d!ЙГ┼Ж8SaWЕ°╚tс,зМ▄еp╛dб╪И├L╝m╘ыG>ZЬКжаgФ┼W■Ъ╞╠дpk@Ф╛6;q@1y╪▄╫)zxЫHдБ4┐|N╨LЧq║;Ц╖w'\▀╒╝'дЄ░ Т$nCп╫lъzE)Я╗Ы╩aДВyМtYIKb╡│УВ│дE│?ДТ=ЯIЎ.∙zcа#1╠╝k╣│КД4аpXA:(▀╩ПC1uccf▓bиm╡■Я°cсPDУ╛ЮЧ╗FнSЕu╫ЗЇ┤mp№=ДZ√аюC╣MGb`"yЙ;ВЪЄЪН4ФКIўsj╛ФЭЛP н.├м╜╘╛└╟*Ї╪9║АsHйО┴Ц|G╔ah╞js┴ X╧voGO╚ОТ(╥┤o#╤9)zuЎlЧ<пжИЕ░YJЦж;.├Жщ▐·=-4~ль~jУГаЦPДИАLpх╔З`Еz[жИ)ЪiuХВ║!╞9ЦI╣Z╧Ц├ФGXKЯ~{U╕J№╕ЪЖcДЩОXztud^c╦:ВЛ╖╝mjM}╟6▓╘╥Д┴z█з╣ь╚╬UВG Ж╒8mЩ╙М?ИNй╕m4маklЛuЗЮ░╟&Ыфа>7▀fW╨Бs█·╫ЁQ▄╤чl>4xЁ$╫╤вb№ОКz╝╕jl▐░PredЧb╣=бСлkл╟ч▀DmaЪ)h^М\k┼РEЮAЩиhАxТg2У│ БзЮЇе]ЫdeK╙[7░avб^WRfcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/noise_sample_ref.raw.hdr000066400000000000000000000003331473255640600275720ustar00rootroot00000000000000ENVI samples = 32 lines = 32 bands = 1 header offset = 0 data type = 12 interleave = bsq byte order = 0 comments = "Generated with imagemagick: convert -size 32x32 xc: +noise Random -depth 16 gray:noise_sample.raw" fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/sample.jpg000066400000000000000000000202321473255640600247540ustar00rootroot00000000000000 ╪ рJFIFHH █C        └ d╚ ─  ─;!1AQa"2qБ#BСб▒ $R┴╤ЁbёВс ┌?│▓ж6J╔з*bщЪtїж=эгЧ/оЇp+╝"fиНdТ3рСР▄ddЎ╞в-ЧєHkfХ%мG~ЮбШИ┐| З█RKY ЙИМu36@╣H╝xЩ╢h+eмк╝╙∙Фа╔7<ЇС╧wчU%█┼х╗.в=ЧoЁц%Ю╡тш¤r╕╬qз¤Бi┐-t╫}╔)йЮP0бЫб1ЎйсA°╤MхgzхВcyPMцHКJ/O╛zЫP.√+m▐, A_AФёХХcХЙ-ъзОA╙?о│╒╙`▌iwT╒вЬ╦MN╧╥б ∙h.3╟юy╒╟░┴Ъ▌ЇLЛ$jШрЯПSщ╬ЪkgВТWЙ]hР9 zqЬр}Ё╢б╟tеТYZK2tЩ╤Hc'ЄВач╘v■┌hiр+PВ!(wiЩщbO<╢HчуR*'ВуX┤q═Q"Хpб╪$▄·єэЯ}sн▌t[ji-╒uA+G╫ .╩ у,З9#~╟█Aн╛ Ь╧$NdДГ2╘м 2:╛ч?╘$Ьdju-оВj█ф╓║XъфO-┌#╓╛Y?hO9у▀@╥▀LLt╒╘p,╥81F▓ЬГ╒Р╟Р3Т?эйў;),u╒Т╩Є╥ЗxЦb╣+┴+Я╣╣:S№XдМ┤╜u~GЬ▒4╜*дpБШ rA╚ч╙@йтjк│·┌d╡S┼хЧcИфФЮъ1Цч#9■Ю├\лm╟LФ*└C[PдИТзЬ'Pф┴Й'Оth╒Xщ╥Ю╦G$FdDЖ_'=(zxQГСъs■u╓я╩xэЦ·Йнmlк%┴I a░zБ_Рx¤uкm╓jJиdмЦ▒уWъРz@╔├H ъ6я№ьї▓IQ,ьTeПБА{`Яm} ╗T▌еЮZAI √╧y'╫▀Н °п}╢┌щыа[─I АмЮ`= дфcПMd*пўОъ┤▌wЭ╓╜╛Ъo>Ч╔vИJЩдфЄ╛1л7┴¤▌~Y█k▐╢[[║bц╣VnF0╪°W}жjP▓FX$МгдС▀Яу_7И┌hрЮ"▐f@=╞В╓C*TЩЕTB╢(Ф││.sПN▐ЭЇГp╗[о√Г¤ _j╕R╫▌╤╥ЪQ@я┬╚Р¤╜@s╞AуO√>├E e=╛ tВz(;Igуd=ЙчQўО╔ЮЄ╡лtпзЪЖо6жлJ'є1'$Їф██ ╡|?%ЪгОI·Х╫ж6╟I}А└8√Й№гF)-ФЇwgg╝HФtш"Є%Л%█╕`ффу8╫X╓ФUСм╝Э (в╖╖▓ё╬бю¤Эe┐AIvз╗╦MUmмП╬Лв3EV└F?z▒ъфО╪:%B░╥╨╘ ─╞X┼7Q'нЧ╛;М·ў╬ЕOa7OбнЄ╟╥┼$ЩзС╧є°*:Ф╞}╗j ┤С╨2┬F Мр└{ кнuyZб╥b"0K`╗ЬъH╬║╒┤ёZZwСnжС@╖ачЬууBkщ┼┌нijи`Ц3х╚иI ╜,JТG╢8Ї┴яку┼[-в:uе│▌в╖W╙╧ї!b╦╞ТtОжx╫є╘I╚РuC\╢ўМ;ж╗pR_`*Q4Б0╒*Зи?oHэ┴ялЧ├я─Ыtиы╢╒tьU`╕(LП┘Лg%O╞N5┐7t╒╦П╥=[c2g ў▄ П\ъuь█ь╨T╜]$ХjU# I)╧ $чжУ№Lёrч▓l│ХЮFлЮ(┘aЛеМоOHUc└¤3ЭG▄█╝HбгОхGЧ[ЮZbг·G┘чэєа╓Jmзс█о█TЄ╥н╙═єA*єUО8╙ OТ)е╜dшB▓4м1Г=▒в5WJCnЄiг#к@∙u▒О┘╙─в▓ю ЛеЄgК Zr╤cє3up3МzЮ o▄>╫¤=╢∙b`╦#4жЭе ╤*ўb{sк╗╞═л {>╢═│иk$▄rRШ┬┴QхgР2°$g%▓╝рСоЗ? wu%#Tя║ъyю╧O╕}3?ЦH╦O╣╔bз╗dё█VwН6┌Uг╖╒╪iй╝┘щхТfA╨┼Сr┴╣╞sСя╞│═█─$аеGO2║─d!┴8эЮ┘╓║x▒т6ь╝╓┘ьp)г~Б,╩JЄ8+яз? 6╖И╢B╫+▌■jЪ╩е9iРЇУ ─НZЦиj╤^┌й%,yVLвsС Нлоj!тРкзQ Рs·уS"йТnкп9МП╢1О№h=╔Юж&Ю$ТdБ░0I,{■QСН~в░E"╙др╣Vf+╟K1lїю=д\*ФЕcОP╣88 б╒ыRfR┤ъцH2~ГЬi+smб_х╤╥├4R╣дЯл ╘зОу8'>┌°▓█,Э2л╫╟Qj^$·fU?o+G °чЭ~┌√6╢Уq╓ВЦкq0ЖжNР\м*9Ux=°╓╦╝R▀╖╩i╪t2FЬГў/╟╟R#з╖╔f4ЎzZ)*йс!▐p@Р№ямЭтёЦomV║╗rмTї(юн'Є▀г c▄g┌╒╗& p╝╤P╓IBi╓(║2Sэ*{О9я■5]xйOg╜V╦{н╖вм'╔ъ ├=ёОFu ┘║у▄¤T6█xhуНX═$^\eФ`¤╟╘у█A`Т{НтZiС%FшщaЬ╖ж1ёГ√ъё┌╗ZЦ┘┤hю)╖цВц┬XdТI#·Ьпж21еФз┐╓Y*.╧q╣ФIкM ^Х@~╤╧у№ы9°хут·a╡vnрОЧt^с╖%E&j┼зU@U9-╟#╢t╒e№D[╝8Ё╞Зtя┌iию│-,wuХzМrЩ*XЮ├Ю4 теў╞╦│Mсх=DVккi%К╛1"∙нМdqД%Oп8╨∙дж│э:[m┬уKo╣Д*У\&E√Щ░ Г▀$БЄuR]┐ ~'VM=╩Г─шуЮн╒хНiB WG9уП¤:╡v╞▄▐╓╚шм╡{Жк▓─+$°ЬЬР9ьt√EM5=Iж║╥"═Ою?1╟ qы└╘Ъ°ZО═YW,┬а:ЄР╢°Тm@╢╒╓╠Н╙GW∙!И╟Б╧mMК╪Ф╘пМйРu7C╥▀д√Э╢[<╪кв1"О}}ЖЧ╥▀0нкZўМЩ0Ефаї щ ~uТ█_ФлЭuц"┐ШПRGaйккГ├'Ю°UW╔QМЄFВ█iiij▐Y▌╤╪ЗШ╣U'║пQэЄ4.╝╒Q\**─╠eйB▒?JккqЎП·П╧╛╢╒ВVE─PEї╠МэРг╪/¤╜4&ku╩╫PУ╤$uе пTf<фВаї)юж▓ўтj▓ы▓п°Зi╖╙▄%гН!┼=2пA$s╓Gq┴ √нр■∙╣o}╗IqЖ┼JкuийR╕W|dї╟йчA╖▀ниоХъ╒"дФ▒PqЎ╖а╟оєеГaлм╢╒╤╙дhd xъH╕cБщЮyхK_IbТ h№╧>%#Щ*r1Уя┴∙╒Щ│ан╝╠ї7ЪЪ├OS!h╕Wb М(<ўэёп█Зl▀З┼\iдеЙЪ#ГдЇ 0w°<МП^5]^╝$╢╫╓╘▐k═54╨}ёаИeоOо@9▀YГ╞zMЛ╡|@╡oMчeKнЦЖбС╓T∙РH~└zKй╧ дtfзёСсўї██4Фїєн2GG,@ъ'щС╟oAи~%~hЭЇVзq█юVD╕К╣aHQк# ╙хХ9s∙║╗vуСв█R л-t╥н\╡SФ;░B─r?а7]2╤└П<▒г2Т:О\БМрw=╞║эъг=$▓LСSб!Uд`╠уыр{j=WУ=c4Qв№╠гє}^(iЫ╬Фu0QЭ ЮЮ┘ #O9╚цEgфй9╬ э┴╞А▄dЕ·ж!P╤Ь}2Gn чK[нщкc *Ф▓й б╚(╟ё█w¤ї▓э[Ж+╜нjщшЪЪYЬъъ'█?эж▌▒_Ai│К╗м└яХ+БВГ╙Г▌Ыякo╞к+nёF▒█щbЄЕ,▓╬Ж0B∙KС╬I mOЁВ▓ │iе╪ЄQП$BТ┴7 *S·j╤]ЙуОz╣CсPз%╫ЮядЫ>─ВОв▓оЯnї╥╒S∙ё╗╠ъз█╕9яб0xbХ )кВgH╠╬▓+─уУц@!╗qєг6m╦W-5/╙м╤е╜азЄу^кfъуАIф▀M-ф█i T╘WUHМ q╘░>[Ьgl┘╬л/зТўmЦкв▐*bъ&бу8<їa}└БмAуUДэ{┴жВ[Еж*Цй4Т)IiЬ!ш~ул'ў╓MЁ┐ы?╫╢ПсЇПQ9Шк"╞$#йH╧Iру9ч^ЧlSm░°uI_PПA%DсTФVaР@їу╫╛Цо_И█m╞л▐2^ЪйнЄM▒И└gхA~З╙X╧╟ЯцёVDб╖$Ё╤г,Н#Ь _╣HЎ Гкn)чАУ ╧{Ї▒■┌╗<ё[p├u6ZК╣кцйPСм▓}╜#░░╞╖WЕ╫╪i-┤╒UжXЪlОPw╬ГЮGжм+┼.▌╗╥Cu╖SSаT"п\О▀ї}q█Ъ_бвIAВjgВ5№╛Шрhе╥─КкКЮBиа1Є╧┐╫Bщ6╬ф┐▀йнЇt}Tд╠З,а╞;|чB╖█Вм╔O?╒╞ в:Е/ЬdфєиїVJo*:I#v$Чu╪ф щ/wm/\~\}s╖BuРкПЮ├РIч▀░╓ад╕К+% >Ph╪#ХРЙ#╛FЭн1QW├M[,П\бz7В▄Ьу╫P O╗^п╙LОЛt*╩╥0╩FЬaўчL{>╦m▄╓и╒ЮзЩТ)Щ·JЇрc▄ЬуW&╬ж╢E╞їi-9\LДц1О}9-█ЎZIr╖╨╔uXВи■R =9 ▐4Чs/syэЇ4╠▐jMMШ▀д├Х¤╟п└╥~╙ЁЧqZ'к[д1╘*║Шcf─бI√OO▒ў'О┌h║эЪкцБ-"┌jЙ┌<РaИ№а0?╢4С╗6ЭAо■=zц~Фo-zT╚ ]^╪8ў8╒aтўА█шТQ▌ю6й%ИDЄДy─Ю{рuaG=їbэ ┬OЕJЮQ╒┘йkY]dкhaC╚,Qд $№Ьgщ_rxu╕w╜▓ёo╪яAvеj)ZЦОМЩU╤Чп"Г╚$sО№iN┼°9╝l▀(b▌╤Z^Jpdjre2╠─Т▓3('<Т9ямaт╫сoyэ╣j7,qZшйjЩчZr╛LcРx╬x8┘┤[оt╥ATе(╩X╢qМr7m[Ўеg▓^aбнаСЦЦ1C#ФПл─Э<Р3╚ъЎчRaзZ e╖UP%E╩╣TсУ1фВ>{jY╢Mp[]Qиъ├жDfъ_lУ▄М~Г'D7|█w├╩ФЖяCF)хєе°─ Южb┐vO╕Ў╒J│╙\г7& +8uv>iчю>ч√ъ▄║ЫЪ╟u╕╝┤С╘.cVO╗8ь`Ю▐╕╨¤эiз4O^ФB▓9ЄeНвычз╖88}u~M┤пTV;}T│┴6'¤аХ9Съ|щЫy*ь┌XамЩщ"3e(НРyї#Б√шN╞╣Kz╣╗╩пO0F@~у╘O*╕1MnmсN▒Qмчu¤╪ WP>¤│ыз;хии╝лmЪЪ!д&s,DЎь3ьA╙5├s▐+чvннзВу)Ц╪ ▀їЕ█Q,ў:MkE M-E|eжuR а╟lЮ ╧оЪъ7u2R╥╘╟&╣Ж[мЗ├Ўч╪у<·qщб╒ю▐ЩlФ r9j─═lp ╞$ С▀Tn}╧╕ўmu┬вЦ┤$yJЖUИи╞V%Р@<·c╘ъЙM|дкК╛y~Юсє йХN?АF}ч^ixё│| ЄЎY╝V╕RWУЩB█№·zy\р+░#$О├√ы╨°z°g╛|8█U╗~ЛqS\-▓зКеJ╖J▒ъ9ТзА?o╙>"эШ╓┼ ЪчPХ╘jтFА&Dl3ЮW#ЮI╧:є╟╩ыuцсOItж╕╓A[%4tO щ4Э*З╦╚'з>╕ф Ё╦Ё╒`ё╒Cqи░RR∙▒fоУзИx!║X у╖зо┤┐З~°k░гК э▒gе·x║)РFп(`г2Є==rF┤%>╤┘ U╦FЙ,LrGNАOl8╞rsкчx┼mбjЯ>сOКй╩Sм╙,DРpUrA'$v╬sёпнЭ│$║╟#╘╟SД3╩╚┐oў∙Ў╫]┼`╡[В╗└НTФ<М4`▀ЯlNС|L█▓6╚Ыs╤╒║█$дУ°ГВuT'ик№уБЬНQ6ъi7╒ZmаТSS╞тЩфкКDe@╝П╗Т▌Б?п:oПiЯб┤█oaс "NГДb0I┴уПў╥E▌╡5╡TUЎЕXйЮT м╞9:XуП╕tуЮ┘╚╓ЫТ┘■@Ў М│ в╥╘#Ц)3Е?╒√у╙Q№P│W▄мР╤I$╡╒1Хю М3dТG╕╟╬Чv▄╡6█ШжЄ@`Чш ЬqУыя╚уVЕВ▓:ЪйскжЦ~ЪfЙК!'еЗ<№ ▀CоП║Дн║ i%`8ж╚qМО};ў╧8╤ ▌┘mд░Ъ ╝▓-PН|У)$▓╪ └:Зс╓йjйяккЗЦе┘d @hЗ$('ЮG:w▄4ЁS╥3[ jь@НЭ│╥фёыыб░╧№V╧%╛Р#Ї`3Е'й╜x>Г·┌√~ЮеН U1ХX─XaiУ?stzЯa╟}&xХ$ї{zэ╖у╢G$IN<┘дРу<фv╔чМw╞╝sёУ┴m╫c▌ўj┌rХЁK4╡ТP┼FI╞s╧╘ЯЁ╕ёЮ┐m°г]с╢с▄╡VЛ ё!xаЦ^в╒^^V[я└l@uы╬ч▓XкЎ╘┤╙БЇ═S*БЩTо0N3╬╝Ш№aэj}┐тФm╦U}╢вєrc-ds2дP ъg8╔р`ЁI╒╒рОфгв░H╒KSY$Яtщ╥АрЦ\dСлv:Ые╘┴%╛hРT>┌?╣╠289юtўl╖$VсўЛЕE]dрШТ6╠зрэє╬╕W■эпш+<@█╢║┌[5z╓█%оEЦHч)"Ж№м3┴╤ы╤а▄їcYйmЁ╙@ЭdbО1ВI╞к¤╟uЖ╬╡Ц{Ds╧<о▌U?╪└МЗ щБщд*Н╙v■ Q╖хХззиР│Щ┐PЎрg╛вЪ:Шнk4т6pX*л"Тїу┐Б[O-],┤ё▓│4╩ о[9$УэнJm╘TУ▓йe│@ бАчJ█ОЦ╩ўjК;MJVЇA╒з*и∙ьг╖}w░эIн│╘╦,@4,Й№хlфёГ█єб▓ю kDмiWк)╦5B╖RАСАGп?╪kю╒]GON╫;Г8yЛ┤ хuёш╙Г█Cv▌>▀е╝╘n;╜qнyФ`К═~╒x╟n4█I╣6¤e];Zh%hщП,чТF}ї:щi╣^"єi*$Hd@tк`c▒Э'Ku╛Yш%д╢╖ШM@G@▀Ы╖lp3иom√DХP[щрВйР▓r╬З·cЬъ5╫c°гW╡╛влpн╛9┐цлeРиVR┐wьз╬иН∙°Nй▌Ц▓█:√-eЎтД┤╩кВ5ъмЬў>║╧╛~|ZЁя╟{em·ч йmўVлТы9FТ_,ХXуНБ,X0<z у?у ¤+║6^╓▓█ ▓▌nQP▌хТЩ└Ж,╔щ╘XМ.ъ'Й╗GИdJ(тмHСдGxЬРAэ·tЙ╢╢$╙O-▄╡J1 O9SиЮHу╨·^;oUэxЪ█YSIM Хх`╬OхN8э╧ый¤OqЮZкЙgєeЯе▀мъm[WыE<ї4Ф2FнO1╦┤┼ГuпO {sА9∙╥╞°В╙gвиЖж┌╙45&hА╚╟=ўЪ╧GrZw4r┤╓╡дXфaцyyvўщ9 ?╛tп№к▓I>Ч/х+H[░ =t╟A9В▀EFЁ└є╚ q, Юру:╣eЙъd╖5mo ╖-╬Ё▒WVЪxФ:║─BЦ√│Мm/PU╟IPdО7Е&М│р)g¤є╞t*щ~╖╤T╝│╒4 сФа▒?ОчL╖ mlЙrлвжЖ( P╟и.;МТ1эъt╜╣а▓-tїTы╓gЫ*Д^фЮ∙#√ix╒[~иЦ╖ї╜=?JдhHРЕ<Бъ╟ПНz?U'E4Т№└ЮС╧Vй}ы┤`╜ZЪЮ▓ОбZV2*─еP6xрєЭ бXм BfвJjОБзФKз <Я^▄·iзs┘цк▓C"FГ╦rюБ▓╥╚G@Єs▀ў╒oyпЮСМ^GЄтqц┼цЎ└рЎэ╔╨╩║╚оm╙├нЩ№┴Ї▒ЇИФpеПvn└ў╒ГAaгл╡┴ 3ЧмhС&YyЄ╪ЁЮI¤Д╔┤фббT4с╩KJ─69╞8эйT{vТК▒f1─YLN\ р■bGп}а╕▌m▒ Е╩ЦХ)QgМ7ZK(qмK°н╣xЛ е-Ц*ЕHь╨л8FК7└ [┐cї°╒#z╖\ўю╥╣li*ам╝-lV@f(ILG╕╞rOж╢Чсу`▄п■┌щю╡╙╧M нSл╢R0╝'¤ ]?ш Л\pDd?HЭ(эK¤8ї'╥║MAUК?+Иz╘eО;шqк╗y╪эС├M╤гzбў╚о╟м)╬3Яn8╥L▐}D╥:N╘иК╔└b√gL╢_юЦ{<ЇцJyЦVСу qО'╪О=┤Г╕UT├[U7C9єп*H<Г╧з╚╨╕яЧ%кq щ∙=C┐?ifжяvш-r(<ЮЦЛлЕ╬4╫j▄6┘йеfнxeєВВ#ъ?_С╬1√ы1■ \У╧7 g╣¤;ы┌kMd╥ !╚*Каs∙sпэ╬vЖpъИ┼"g^е╬╬4╡╕iйоb:кЪtыЖ2╕ g\mЄ}LpG*)V╞?^u^┬▒K╝jjxд╩╬Шd╚┴S╬=Ї╫h┌;v╦eе╝QZб·┘4╬2~ьУё·{h%}4B>С╓>п∙ТРф`¤Є4э▓эt5К╩ ^Гn[·╔e є ъ4Г╒їw╫╖Hк О^ХP;tГО ▀ї╙Н═b▒G ╛TО%Ьu3ф=D№шu}╞╛чm╒╚еHPй┬р89╓O№DI$Ч╗lr╚dZ╖"@р7 ЬЮ┌-рЦ╞█Я┼зЬ╤:у╤Єq╘WБ╟╒^PQX╢╦╥█щСW╠x╔aТ@╧}╝\%╢m·9й"Д4єЕpS#Ь ╢л;юш╗е╒i8WVgP3Е`@╚∙╒O╣/╫ ┌Щек1╩╤0 ║╧8┴╕╨┴O@╥0 ╨rиЬчK7hzmЄH▓H ╖4╗t-YB│T;3@БTчч9?√щдъ;┼|ЧшZ_▒C`s╞В▄*&Ор%.\О0№ПM;_вK~█ОZ\гM$╚ч╛QT┐жN▒о┌║╒юлhп ╡0ЛАО2зq·dъц┐2┌ы┌╢ТД╨.#f@z{sп ┘fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/sample_ref.jls000066400000000000000000000445311473255640600256300ustar00rootroot00000000000000 ╪ ў d╚ °   C@ ┌ЫЛ1"IИ,╨д╢╙Dм^ч|RРR╓Ц╘РЁ╘P▓1чЧ\ЬV│hее╞▐▓╒┼>(°╣6ЧcWfM■мzЙv: ▄}АBU-╬ииЭ╝ц╛Ж╩ОЫ>},tc╥Г[\╦sлСХпЕГ╗╠Э}b.DП'F╪╟ф;ЇbЪI'дГр и┘9!gc╥┼BX┬ YQЙAй}eV┤шjйШm;ф^7Нc$│Ka !|╗:ЗИп∙:ДВ|■FP+PЕЕ?%ьЁ╤Є▒ёЄ■Н╗й╘╦:Mh¤╨0 0*"Lj╖I)h9╘╪│ЩдшЖ(¤М2 5┤r░@Г$/X╕дEХKG║╧$KК6b№h╞╟п"%├6n&ЮцseiлHIшВЭ  щ5WEj=MQФвсБLЁЄ│╖.= ы3╣:C░)BKVА °c>UG/Щ3■wЮ8xб/Z¤X 'gЗ─ьQTfэЭ?м╢Ж<аё?┌"бЭЬ,фн╔дх├E└фч*я 5rеи├OЗna∙ш;6╨їТЧ<╔д8·z╝рЎн▀`Пч#f√юД│∙эЇйL*ЗB,╡j40ЩТЬц`sd┘ТTz╛ы0╨oшyY4ЄOа╗3uL*Z*OTр!J╦╘ ╖`с▌Э▓} ╦0eРEЛnНd·3ж╟▓/МГ~rЗ1L Т^еКf]Q!Gб!О│кv;═ t|╫{щ╓r╙╓║╔m· x╛ёJцZ ┴c3Bwё╩NwNЭrCq[ЙТрйО╪5БMpжВЕ┼Y}T~И!╒юОТд┘б╞╗щЎХ╧┘^`;qЎс┬7T]дкдтяМ2т╦┌`з:мЛIўzOtЧ.~щЬ▒IЛTУТтtйТї_жЕкBб█)╣ы┐*<и-J═OЖ `I3у╦НoЩ▄╩ЫоНH░.МВГ╓}ж\СYнАь!╛Ї╪Р%├ИRД▄┤ЎцU╠[к°▐YZфкнЮS#[МO▒Zн.ЦUdd°├b╒%PpЮ%п" `.{Сn3*Т<ъ▒#╬зtZ▄╢┌шSС╙╠cН9yжДv 6eїВТ║Г├Ш╫.ee▓bJЭ3дcР░нг+нч┴ ,8оeшяЛ╣&0иНБ,ЗТб∙Z5WK)╕Tї1П╜Nx{~MМ╓┘eФ#GЭ*l 0DиH╡ющВ_О╘sг░JУУнМ╣EBЫШeP╖T╖░7ычлiЮФm(iЧeяп№дЬR∙f№( Gп U_VТ]Iз╖ ╟гwN-Кy (ЛЕ░дZ╨В 4▀Di╥2I┤■БЎD╕Qкh╪sZ╥╣ЦЕJj╢┤Q,лУОM\╜НэJЁa[╥ч▌\┼▌%щ<╞■Wtt№DMc╘O_oй┬ї+OГЮh?Х·*DIгйEр№eZтГегf= x╘^ла¤0▀DИ╤IвфИСIF╪╙:z)ы№йYёqТ╬ZйщТ6w╚к╧ё█0xу╚&>M╞езжP▒dДё|$хяw╢-5Y├Adu)SО X;№┐е!Фзз╞╜р▓#E*~╡ ░YБЪF|$╡╤ k+gйО)┌ПHbЇ╛№&2╞H%╙И$┘мDШ6ЖtlфДя╫4k╫lх╫BX├▌NLZ▓┴╠╨Й┐ЪОхЛ╖ыZбт╦а╬:}"Яa∙И3┌u+р05s├Яъg)┼╙6╬0~cg*Cъp;эUЁ█¤░∙oлYfjЙпIЧ─iK=┼ч═LHRХкJ╪'┘Бwг║=√ШbvOGю├ГЇИїeBтЫ▄╣ЎУЮNг╟П.їдЩс1D"ДЛ)╞│хлЦ*ёIH4С╚YYъв╟ьhМ╤Ж[rхлRЬ╝Z╢Иw0к┼БF┼z{tSeжNКХ╒г& ╣:▐¤фHpЛu№їгаЄе6╦∙ F┼Ntн╒ЖцQUfS╤C╝#є$\·щ*TjУ1O╟ч╤z╪ 0╓Фє5Mb═oИJ{╓╜bqЙTf=┬\U"─3Х~ЧєSс■PУз╡┤<ЦW╘&╖:Gd∙┼jц╤√ЩЧ*e~1├О▓├#7┐╘тKпнIVHlШкГq√W·Ъ╔+°х2YH√hЧG╙╢░Xi▀*N╚┼1╦╓м_┘mc┌A}╤Т╥&жtиY▓JЦ=┌а╦с[·Сббб6м № ╢╥╘╜╔v СcbI!╒Гv┤▓6Hx4г|ТYE?╤й#LN∙ЩыгРЬ╠%PЩъС0 0rЮEZ/ї╥s&м9aб╙ЧPё9ZжЬЫ░╛┴їF╒¤dne└PYL¤nСRщгaЖ}ЎнQчш╦* нZ%╣хyxD9T{╞╓CВFtў\ zНя┐╝J╗щЧон!rж▒JЫo6з~░HЯЦ╧/Ц╩\ЯЪз▌░ЎнФ│j)ы├n а╟R<Д╔Щ·HX╢лO╙/├uщ┬ЮШоk)MT`╩·╖hрH╨НIx╜u╤hМ`Hл╙▒TНфV┴{.Т▌Я/шN][b)нY▓IНм!ЕьduA^ку'жяпh█┴т}*к─ Щї6╞,и┐┬┴▓l·└E Ж;MЫ&┌`0иYМН╩%П]LЧ╪!уЕ"Elо▌°т█З╣▐╧▓ДJ~YТфл╬╖Zъaэ№1╜*╨у:чI╤ЕС0 Є} h36c!2╫ЙKM5/А)S╩DИO∙и■·┐мf?Б2J:т▒РP@HР▒+5/нД╤│шо├╩ЪOH!╩9уKў¤╤&МфKсУ#I')\╥"l┴>Ъ▌m ╢╨ЙbЮЛо│МХaH∙MPсС4█&╒Lгd6f╨!Й:ZАжЗG√Iq╥"cU▒ шб}╚╥єчd4▓Ijs[vўъХЕА╗╢щ|║|Wsмвrh╓Wy!E┼ТУТwдОФГ0$▀╦MLEUcЫs┬ЛROФ&pYЪ╙y;йW·в:нWN┴Їb%%ХгcЕDХ╟ i═qтЦUЄ-^HT)]╡н┤ШV╩@tcЫhIY─i&!{Ш╢Tщ,·К ╔├Gъ┘╦oqkkU╥AJE{o╜д,ЙДИи┴з7╗_НЛ;╙С▐>&░ 0мMMt[/╩∙ЇAY■НF╣·▐n╬\╨PM!g▄╞╡ЖF6▐d╜)Ю╥ўsd╪░QёёРчБЯ4Жщe_ДrJ%┌▄Ї╣═GZЭMN╥4~А╘╟░Кaf"╦┘Ов !/KЯ╔ъD╘д5o┐зJ+"UHРRг╕┴Ц°k]x┼Жu:\щr·1шC3xr╒ZьO?УBщYКЩ%И╕Х|єЄv'╟чD5г]!└╬╦Qg%╛╥Ш╓XE╝▒╖3тщA╞RЖU hЛLD▓CЁЬ┘И╥╬▓] AмйЄлiг ЬвKSFєШ╔Ъ┬ЪI!9Х2 5KREf╙CkЙ┬г╛кUhйГЇ■ХMпn2√V╓}OШТ╓}╬+ча,03 ЮKКж╛0Ё╥8YЩ¤Ў пр┤╟ЧT[╨ТЎеi\Н╤DRВ╣7я╒дq\txN┬╬№▐rд2Eи╞UчOвУт╛=╔:'eаЕ}ОЖ{gOй/H√КfВ@оrv]{IdM7wM`еxж2qМ°╤ ЧяЪ╙1З┼И▓У√Grї&┤ъце╣Пj}Hy&╡-zk╨─ЩИ6╥╡S║Nф╕*дLИХАкE║жЖT·0[╦5 hи9x╟bЁРYК=ы(4KО2Ъє╔f ▄uзBбщб╧│eUMy XТж╩эТ╕Эф╥ъ ╓Уї╣c╧Bsa ▌h+щ=8kж5>фUЧE╗п▀L╥Шоu_╣SaB>мЮtПe░>_ЄМёz∙И▓╫╠kфK╬^▌аъ│Оq9~▓LУы\щ И№(U 1'DфUёЭ, D (╝$ЫeГ╕цjв]┘O='Р╨ЯГ╔.╖f ╩&л╖Бе▒Ёr<Ж_"НATWc1?КF ║\GyНьkxnG# ∙Njs▄*\ХD{ё!HюV│MюО┌К╩¤}ж╘_┤!МЮШ>D ╩Э▐TJЖkЕСPТlDЇoш╡!ж┴█;╛PНннЗTпXЧ╔╘z▌БПb╓М!&сД %╜=L╩+-УВ╦У╨[УhwОлФи-ю√Э┼?▌·┤$М╓╨PKHnи2C*вE%\J Г√ёС█#.2 ~ЧJФХ╟ /е3v║ Р╪╠~^▒jr╣з>iХ╟z·▌< э╪B╥╧пЙ█ЛЗw|ъЙPЬIппФfоs╘л s°Їх╫╗уыбR╢r┼,НЎ▐└nПdmХ4.пкК5¤х~В1╨&▀╨С┬ЕМeс&п:є#с╔°RдA╠┘ц┴< ёx9X EГхй║ъдш1g┤L-;!З)Щd0W8йb9УЖ+MДЧ9└Z(й║\`6gОv.оM/╘d%B└Юh╖к^^*4X"&▄╬'Е4Є5f╚┬}П╟k№╙Х?4№г2:D"8oч┌JC~Азти█ъУ╤ЧЄ∙UFMrМE=$m{bВ═Р╟▒<ГБc┴\╟vTЩж┌ёй┼ЩoUпЩ╥(┴д i.╜хш~6kМ EФ¤`ЕГюЄbv╛Х1╥I╕ШёD|oBI$I╚ч}n)DЄоxvиjЙPК╕Т9╒╚ЧJсjh╪ыhєє▀╨sn╩ъE╬ўs/┼nZ}Ц▌U8Фq(GN┤г+ЭОйФ9Са'[~?6,вИ<╬Ўчё+iф*!э┤╔-Щd3Ї▐ ■ДM╛sYГЮ.=_└╫ЦkM G;╧CУ·wю7aБ ЧlhєМГ┼C┐%╔K╕и)jзeЮS`Jьз'▓sЇ[╡H:ыkД┼Э_уЖl·К╤5╓c╡;&┌Н╧Кю\H╣G5nX╣*щЛрАцzШ┬Й#╣ЙХP('7т╘DМ: HЖIQ┬'fХsRЩдрMп5╥[┌╣=╛Фу─╣ы<К)Ha2╪┌╣Ю╞Zk К,фС#═Uк]<Е┴╜{_уP╫>дОY`аO ЛOХ▒^ *+СП5Ц╨ъw■[Т5hшpбж╘sчдRЙу0l╧Ыцт№+kШцдЛ╓#ЇtO?гO6G2#╞Е√Флd ╚щkО╟╓nКЧ4P№Є{╛TЕ┬ЄYцц5├╚н/╘tc9╛,@v*;м'&б)W;M╗╕х¤бдДm├/╧╪El ╚аБ:╤ kк,CЪ╩YЫ fPбыНLmб6bНї°Ы┘ф╛їОтД╞E%▓ЇЗ,R/╬ wВО2╞ьyWu█эЧX)ю■J╔т)"╩M■▄╦T▓ў╦┘НУ16гь;mщI0F║&zqC╚MtГи╞▓╒SМP╡ч, гъЫ|·y╧vQ%^:?g─БЗЦїc8╡ыESEФЫWШД─║к5уп╒Их√ZоХ ╔щЭт╫Eн▒╜╚эьл(з J╨ЗвщB\∙Ём╬.\JоT\к╧Рд╥о╡·иBСXУ`yо"╣гT┌ ╥■KЙg╘ч] s─░ЯodbMЭЛmG║╣Нb{В▌е█├f─╛┐aY│╩┐\~ЯT╝ЪKМ┌▌|ўЯ╥IIhЙрЩ┤╗ENмaгoд╦ЕkUДG╚(!)пVшduР?┼I$46j╓├;Пp┘фЩ#IUЖГ}C0+kд"·a┌lїК%6¤┤2bлТL?╫Ф√U`=╡eь [х╝MИЫ╘f╫;FХ╜є?чC▐┴uОzL#дЄл:&З┐'▐░YnПшббФ┬╪К┴'6░uДЛ6Ўs╚_)|#(щ▒A ╫╦CьЛм╡нZGШМrLїK+C$У:MHвh5в4╚Tье╒\Р? Bє▓ ЮT┤тЙHбHцUDОяе░г▐мтю(Э╦ёжPG |Дv B╨R└%╨╢s╓ Й 9$к╟┤zщ#·р╩╓dAъ╖ждМ╬ ╡лIY╩║д ES1Т╛°┬}▄ЦyТbН▐Mио%УxКпЪEЪW ,0KЛ╙хLтн"╙ё╬═∙:Г<▀∙┤HУ)┼╣<8R■(c║Г√╧JpщU─кХWЦ╠ ╘№▓└i╕A*6TQ4iщ&|жтТЇG;▄й╖S}&┴|*%|T╠ ─їОй2Ь═lES▐╣Lпф╔ в╟р+6#*(нrрwу&шt┬╪m─п╝┐Щ─J0╤ю¤е:Y ПвЬVoC╠qm зm-ЪQ bцЗ╗`ъ─u▐U├ дКор┼ВFBЫuўШ╥Ы╖У╔╘)РЇнв║d+╫ИЄщйo▓+Ъж╢-·-├░K8м ?(Z┘?\IДпxXvФ╕ЗM╚k*Ы.яИсn│+ёV╛lTр█Ў-пс▒Y═;╣аL\┬gд║4ЦE&iД.y╬mHбEЕbїтЫєСbб├_|"Ыc:6x├┘cdzw^K!P-б%]МёB─МP#║╦UL/║Ї╦▒┌▓╥,║$╕├═Atм0╗ф И╔RR@TБz$rО╠█лB┼RG░e!pYbЧн┤└ФEGE·O╔<[бm1РК№CЖжз>у,7шKАbСС├Фч0╠╩М╥Лeр╬╫&Vg┼ж░є▒p¤в╫шw╬╢QZ%DЯ\тЦ* o\¤Є ╨М╔У ^,'DN-Щ╘ЖўЕос╛М╛wH╚J}0DD кO$XnЙ-1vЦ$С╧╓пQlZ)ў╫с┼НhЕО0mЎ╕є_!█ДТMдy▒Q?Q1RМщF`/у$F╩Ря╤LCЦ ЧЙ+жо'-Y*ЙНk< .vw╚╘╣)╬нTPщ6Kг█│ььХqё>о▐f ¤ЬW/$ъТoТahjЬЁ┴╤oDЖЙшR!┤Ум@ У─Bьk;pЎ╗h7чKP,√▐ЕDVоET▀"дcИкWfNgfC,f▒dLhшV4║|СЮЭжаЛ╕*1.░╧лmГ9т Й*щoТu=]|!7S╠Ь▐╡,{L╖~╬lз√╝жaS+╚╪кШн З▓QТ═Х╒Щ▌╥¤2ё╓їDєЮ;/щz"ф┬еb┌│JШ┼Cд╬aiБ╫─ЖИч╥щ║┬ Ц▒;╞╓Ф╩c1╫ЛC╢ъ╖'▓ Юm║kб╠╝_Хї!ц┌эe├╨LВмG╬√|8┬йGN╦э}*Т"з1+Jг·├└бМ╢щгхЁрК│й┴eы4ЙЇЫ<·ЗYjx,7lq№$,w╧0┼O√^}╨"cUПd╩qЖД0Sn╩ДV ╣ ЩNСCI(з┴R¤╛сg∙╜К("П@ЬБm{ш+¤(\y'═Cj!щБ╟hMUЧ┘Ди╝┤VФЭsf/h╖ЄтwyY8-Дn4 ;X ╫tяcАФ∙√?RЧМ{ў&0Ц╟IW "G■КДv╞фmZ!рQAs7·■УХРJBс6<ЁГdv│yШичBЬ_2}M}Rbaи∙%U{* '╓иЭO6 Fх█У(┌Qg╞╒u╤МГг# ·Q4mмТз╢ц<°8с1KYв6=╗}ы%xшТEЬТ╠Е┐t¤З4╝╟Ч*в╥QЛZРUЪ_▒ЙKaлwФ!WїШr╤╤bЛc╪╛┴"╢╩J^bBНДф s╗ЗnrАeъ╓И┐╢аLВ)\P┘╣в RFS#q+їzZФI▀╗vj№Й)тЎ7Q√Ї╕ФЕ╠'и уkH╔@ЖиhHЯT╖Є <ркy╒┌▓нJ┼э!╚Г╡▌Ж▀╟╥.В╫кэ/*hВшЪ┐NЕFы╥6У Ts╠<СKP8╤ь BмЖ╧Ї ю}оЮF'Oс->С%╠Ющ│иvч:╪ь cхїют╔A"<йu∙b6№ YA■cб8рb0╦▐'|щЪd │меkj@уКг(G%фЕd,вGЪw╛╘═дUъєF%ЖwЛ#m№d└~УкаE2S&kыD@░2" _|"▒QU(л╬їUє╕╩аН╠Pg6є┬Б╚╪M2ую-╥╢ /▒▌З3V+ <9w╦Е ▀─?gМ╩Бпф ХТы╡╜╨ оЎ9[■Ю╬┼╪PщЩД░╦V№КE№)Y[Юиа_Ы┐ вPеЗ┼Ш>й▐С╚╦Bьhje ╦#Сf,╥┬Х┴╖т№№├H╝]є,б╔'БpИЦє┼√ШИ)39lМ Y)х░+┬ячa9,/░NГL░╡#z"5%Т╦ЄеМ>ЙОq╝│Y╚=ихн·Dеp└?Тnc┌їЙ[bb_ЖLS=tь>ФTV╩╬xХГ_.ўЫ"A$4не*Э┬йiы9Р╣)■ъМ┤╕╔ГУж▓ЗСйЧЙшbЕтv▐Т╣╜N┌m ┤PE UтЗ;"а%аЗ"i╣m@эш-лFУ]fM╘5з C) ┘uO$vSъЯy╘я4╤&B╫В-j╗K║аА┌ЮcW┤Э^\х ┴x мЕ╛/qє1╥\Г╒ Ф+8Ь─оG ДМЧ┘╕АсЪ╟Sp|Ъп#5Яу:з╤ggЗ,У^ф╗n!КЦ,а═97h╒бкє7Є║∙пЖ(Ї╬I├mчf ╜д /шТ"KР░0Ъндл┬OЕq}Д▀+,ь╙юОwЗНеtfbB╤╡+Щ,P(-!СMaЖ ╜Д Шst]o°╪г ┬иwoФ╩(з*╜*╕"<Ю.B-лвЖA╬├jуq┼КrРS╚╥ ╫L ~С6А4y8╢|╣╔eСEъ{_╙ЛХ6%ьRкD_>^хЯu╒оЧ╙┬E─Ь░u@▌yJ\їU╟лD№╕`г╚Же╣їA▌еШ┴Є╟p·4╟$аh'2 .^q╢X:[ЧХm~╟╣тb╓є╢ЄЦрб└)╧$Р╩х1ЬUl█¤ ДЫй;Л3МhАQ∙k%╥sф·╣L╙e'PQTua*г╓G~ВДG&╚*rсu√°SХ;DхУb▄╪A;дj*ЗШ┬Ф/▄Тк║Л0"#к!| l╔С╞;+■│B*яЦH/эeЪЪкб╙╗ЖJ0┴Н м=║d╪R╔F6■V^▀╙l┼╡#1┴]▀orcУю3"mвrгyЙ3фlЪPк┴-ї╘{nс╚шЦ*a╠Ax│БЦer8еR╓rT9.eC├▌BА4rж▓Эя/\i┘▒╙ФЮ▌tlтBф╪░ЄЩXW╙//вн7g┬е√№+}ye▒АР!КXЯ"б[▌jCTїI!┐8·▓╚ф┴*M[9│╔+8еp┌M╫+fss{[ ╗╡пЭЛ╗ИЧsВЛщCчл Щ/!C|уM s█╣43Є┬К╬ ▄╙єoЭk]╨М╛s0╢й╠ГQ"fл IН╤Д╒h.4Ж-╚·Иe┤]_TEГ▐ЗG║pЩlХ`zБ╖╖ЙИ 9НЫ7Xx ╜пт└xёYщ %йkY╛TU╙pой)е'╒XМ]┐GVЧШ╥]/L#j╞ыV╖▐┘;RВnП Р╕cХХ╚5■╖Щpжу╣]G┌ Щ┐в■Ljы"┘чвЮШ4>нWQїЙtP$вЩB^ЪхЦ4П╣╨╫и─ФЪб^8Р┐ю╗┐░52бS ШыY─yU9╞│3юvдн└qю!СBb╚╣$Шe├к2,99m√▌ ╘│┘tчLvЎ№╗ВєxкLJ3ЗmrxSЕjB'CХшИЮ╖6ЗV6┤РKЭ ╦:TЙ┴иА╘x~ХO]┘сMy@lb┬j<ГОъбmfЯн┌dмTу ВР╖b╣ТIFЧ%WГ╚Рmе ▓(├ЄlK╢ёРКщ}МH╘─wS-pTDi#┼;║[D╠Б░▓$йf╕ЩeShpЎЭ╨╨5KГ:Жй:QД╘N░ ╞wтdЫY,в'g╕I┼╗%╘HNе щG-╥~є╜тс:adA Ю}A yh█╡в5-?X!ЖRwБ╗ЁCo&Hl╩А╪Э╦╝пмM Їф╗иХю\Ч╒sKЭEрсKЦЮRнЕy┬ F▌[┐─7▒э╕ч╚u9Ї╚▌ЙVтC│Гц▒н╟┴ы#&Б[^5Н╤ЇAQh║T:gvЯ ЩЎйн8L■_Їж№╫╗(?"э-уI`Dз,Ъ8ъСUP ╝L3ю3=~i┐2╬n┐╤Я╘┐мj!гqC°[к▓СЦК╜FKR<]ЁШ┌С;ж#|T ╖╟)w {Z┼▒t∙· OIеqїе╘╜╬└ХИB∙ЕGy▄?l╒БЫЩЛ▄╩╟ў i┼а(z╙$ xмд·G 6╕щ╞IЕ йХЎ╤╥Щ m{sqP*▐╪√(зик^Ў8рК##C▌Ym*щvЙw╫╟(Ж)╚ЩХнALе─VzJ)╢)A]zQЎIHoЄчш.ВЬ·c;o╩├┬Д'?ЖЖПDws╜╥┼ы*Lн∙~]SСТ(·ї1ЪМ_░Ь╢Хt)╛&Ы└ЫВч 9рс┤a■6Ыёu-а╞ 6cы9ckAkВ[*¤ИЇHeЙ5ш@&═╕T}·┤OfOs ┐├j жХ▓Ъє%Й╣а"g7▒м╔Wб tKГб~&Ь~nД╡С ftЛЪ┌ш┐Т╓║пx═6└о_O№*pxжА└У"9Sг─шQ╔Я0Й&ФP%ш╟Э╘@дИуRД)Hq{ш ╗Кy$▌-эCK╔вЫ"н┬╧├╖дн░╒5l!CkР@╟>tТdэ Є(з3^б9ЄщфКВРО$$фg╩Р ъЇ3╦lIЄзd╡dЕ╧╛РпЫv!:(N■$oP^йхNЁr,┤Уlyц М▓qV%Єч╖wM @,o┤lе/▐e]жs┼├ЬI ИъИ╥5&и+#У∙CN:яям#БqyEЦЇЗйL╦╠x@ПА▒╫_}W\4▒╥щ¤╕VШQzЇbЩ[вф|╙о╘f*├еЎу╘║иРк∙%Ж=;ы┌sje їd╟F╢А╟"eЪ ь7Cn╒ц▀x╧ь∙╪p^L; ЯРрЗЪ╗╥ы╨ьP+Дбытm?┘╩╦╪Ua▌▒()D╤Гgъ╟МБy╥ЪUG%┴FZ╨АvEиJ∙тC*F╬┬ЁfXырKyЛ=_; ╠┬╦ЄШц3є░сLК╡б╖М*В┬ЪХ┌Ц■─∙а}╛Д-└:2Дте)╜` M╞╘&еБйYфe╠╕ЖЛа ∙)иkїuє5¤кx$ЮХ`№ы∙йБ╠Ж8╫F*g╡;С╫r(╚Ж'aJТ2Ю█UгNF┴"a5┌░#Б}HФOE░8 ;lj┴&h╢БmїPт■0"ifИAо╦TвG°·юцW3rбЄЖryс\b╣41в nа╣▐БZJ7═▓pбlЯчЬьрZ╠ЄьЩО╚ko▐╝л)Г%┬ЧtчFL ╦фyТлЯ┌╝┤СЖb(їJ╩Ьyщ °и│лёPЕx%ХоqV╖╨Е*ЪВtЩ░]╦Т!tб╤`ДZ;▓r▒О╔┴SH╗ШCИрG╚R?╣иuf%д┐╜8W╙$#╬║Ў&К|Y╢О9m #╒Е6яКЖ╩@·└╒Ў╤9'┤р,{╬]ФGX└nм5Va@О·HўЭ╒}╚ЩЯE╚2n]-ї╘╘░.ьpХЩ5М9Тcпжў}RgбID▓.иHї╛чQ¤щZhЩ%_!q╪Яtєe\b█hъХ№дrЧд┬Nы┬▐└В2t4ТпLG@мM╩.c▌ЧH$Х╗Ьy╞Й'{╩пA┼XhеEзOїдО┤┬2н╫╦кДxi*A╩0ю%пС`oб╒:ЁО/ДЕ╨▄▌1G;┼жdМ) .^ /нDЎ*╩·жї8┼4ОT}niЪ.!O√YdWQ╓╞∙ТЧлZ┌ЕЛФ│ЕС№╜дЯ(мdс6k═ЪЦЗ ║шUa6g┬~╔╣T▐&╡сg-░Щ9П╨эovрУО╪│bГЩк $║гНrэхЩЕr┼2X]║%b6▀р\║ё[К│┤чЪщЖ$Q;I  Є/╣Db]╙┬д╕aС E█Сд8╣r"юР o╠АЫиB┼Ы<51╞ШнnА+9иC:[(дё7 !Щ э>╛6д(:┌A╔Л#CЯHт<╚╚Щ╞Ц F╩)Е─│ъBR╬BО╡═gfH▒╡╤СЛEVЭнdW#ЦPDRWIГ=Ё╖1c!¤ё√uП┼c9╤╩╕╢&5Iз┼Ц8 Ы╨╣д\▌й├nЖУUjy╜м┐H■db°йH╤0Vзч█DйM╓4╬╩ рeh╕░╓таM┘┤P@ЦM]rзДб╫j'9РЬ6Г;XштQFDяХOБ#╗oF(┐PвW$ZBZ5"┼h▐G ╞tьEmSЮЄКЖчЧv](х╦╟дт]╔слмС9\ыЛWяL1GS?У9pЬNИj+ж№юШ┐aL√ф'╛║6юgc6[╢зF6┼лэ0о╛p╜&ЗоXI┤>│еє:`рЇТTв ╧`z╡╪iDr&b╟: 0Э┴╖YI L╠мШЖм7lЛ╖ў *Й│ЕоЬu╤┐с╞РТ╡Z4"ўмzЁп[|юГ╥ё-)+8в╣═дРу&р`Pr▓╒4/л$т╣єойСгeЄZ¤г╨пЦmе┴Z─{░+▀vЦoФ^fИo==  бyиkА░3О8╒]ЬСO}4%э╧6ш▓%к+╢╜f▐c`╩-N┬▓Йh=H╛╒ФIH6о╜Y7║╕│╚5─JbПь4d╡Щ─S{т ЁЛ╔┬ФыШjс Tэї╥EёЎJjO▒:с·╨p·U8[╪╨╕▌H8D▌Гg╫(Kъf╒ю№ї∙h┐a╘Hg$ўZ e|aЙ4h2[ ║ЛЙph╥S8$%ф$╨4:IД■r╗jC╢C,МУ^├ф'*z7√·q1┌iз╬█*з\│mW■JX╧╙2╥fс╒°яb╡мR╗##н #ЙU┤юj·√╡ж─я▌ЮЗ#╝зМы▌┬Ї %ўё╠СВ/фЮє0#j║fфэй╚╔#╓Hыц!Х!HХэёДКЖп┤╬ОO╚ШтrНЖ╩о┐DБ>]щП№ZX┬зиЧ +╪"D(,Т┼ сВД═╢еtOЪxпO@ЄHJIh,&68▄■'cДь╪чVj/ье.57∙╤4KёNT Uшжш■╒2Ю4tеx]Є0▀HЫ╞Лэ╤┐╡h О╨·Н█ЦZQfмovюй№╣цВ№╞nx─у·I░ь[FЇ┘дИW╘ж╜-═█gcJHgШТшлзg╬ўЄтY└Fо в&ЧЮИ~н6█c╠С|$й╫о╚ЭЕlЮТ9m~K;▒d6ггГ█H9(С>YЫзE3!<'щ$гЩ+w:xdБPЭ╓KЕuШр}sq j.√┐╬ыcD╨=ЧТЇ)РйфнТ LU╣░2▌8[cB?▄Ю╘*f╙√aV╠W,j═┤BNХм4@Y╬┬Я~p╤fыXм [▒№│E)э~ikєoT^8О Т╤ca╚]?ж/▌м1v╧&K=54╓Ёd5єаJ!°зВ]╒╚ЭЄРЭ╩c|ЕЎпКД5│%c└hб7МwШ╞їEjUЩЯ·НOfЁE■╠АУj2гХL╡BЮ:oя╧H[╠а-%И%▓╘T  JA4,*,ЦКЇ #HCйEi√фН*ЇeE LЪ*РН∙ьd°+a~╘─╤ж*╧∙5<╧ЕНШaК50рH╗тлд Oy2Щ*Wc┴╖(Ог╢П!P╨┐ёнцc{4─ЖcHг▓G╟FEV╣┴qЇiфЛ┘+Bk╣)ПЗВSЦЕРЪ■OY┼нmiG_┤}9╘,∙$O╗{г\CRвщсСЫ▒б╞╨╘╟╤╚иЮ*■гАЙ┐'^В3Yу.E┘m╠ёМ╜гjВv╔ ПJЕ ; °iW1qxx╛fгШK▌2╧6°uqm;@Щs~(Г ╙╦}CrbєD1qКцрd#$U╫U]mыxdяf█8 X}єЙP?-S╨A√К╣3eТ╢$Зrds!$╧Фx>ВF#cАк┤Ц┤BЫ-FXCzb╩U&P1-Эs╫╜Ф&Ф$Л╝Ъ╣╛╞LжрУUйoТ╖Э▒9ДK$uфъ KаXMРщ)▐д;P╒Ч╘╤$ЧДq■лхт∙√пу┴}▓М'2■ёZ╢RЭ╡bPВдp~w.XцХ╣т─х▓┌;g>ЮЗQ }8Ф╘Б═┼R4╜@янШВ╛Г║фтY3D+3▒¤░╥├6ч}Sтйц'╢fе├╦Ф╛ H░─JF.~Ц|ХcА3`U┼'┌╬M у)o:e╕R│╢C4Р6uЬ┌j/ЬЕkаU╞ $НV├ пHР&БЗМZ╨nййяё1╓7╓н▌#Ы╗)эВО Ї[ЕIz╬дDлRЧч#g%▒xц!ьЭLгъ╞╟LЙЎ"YвПЦ{нКxдGc╨Й L╠В╓Х3вQzФY┤I1▀ Bоi (HNёB|McОMMOЧ▌╥eвuЎх╧╙81a^ !н╬<тS<░╜Z╗Чб╕M╕ЩVц:О1w^r╡│{b(Є},Ь.?─ы71hLSwФ°FМ&Б6a+Эл╘ШctOК zM18Юu╚╪%'ЬБКО╠оЧдqв'cПj!Gw┤%√─JмqфМСїхH]▄?CtгjЦ═ЛЩjПъL╣ТЙВ1╤╚ ЬBВЕtАN▄Oэ1q░NЎGнMdЖїЙ╨╣=V╪6,╜\ёgИ<ИiЄK9гс╚BK1;?biy/я^░░╦d.ЛЙ╠]№E{|╒Б&]ХмЮ6·pRК$║═cX╛█▀тж▌@В4ы|е№й ·ЕbF╧b.╔fn▀оc▒ЪХ╙дДRWДpX╟╩╦╜▌■хvаИїкЧНdy!бj| p╗9фa╣ЎE┌VH6С"∙cХ.VFw╥Ё╨▐uh^Q╚╛Эzrыо{ж+f"▌R~ЖPin╫$юк╥Pи═Нн├dёCтI ╗╠цУЩ9РЯ$tл*0s UШtЧ┐_Х╪╗ 0Aa1Ic╒DЮA#-&ъe[е_╞k╒8є ┼BE╚Г╟╪╫вЪ>Н┼$аеf]Ьо;=ВЙ┤НMйлСD▄╤J▐╥▐ГСЄцДlDA%tЮ.йO║%REи!У╘TЖшW╚ЇCВIcLW!QЎ┌v?═3J0Crэ°эЭmзu▀R╦г,┼,╒iь6R╫л█дAO]х\╔ъ6Ys▐┐Кd╤M┘ТEu▄Lt хI╬q]├О▒'HtсНJN╒+\ю▐√+ХrD╓:%SОзъэз}Їkt│b╞чщ,5╟XGуR'╧|к├ VЇ▀╣JB[ЁЩщ╧ХщКРP╘l<еР╧\d e╧иС[Sъ╘я║ ╡Tгp├?SетУИ5еF╤}$RLO%r4жl╥'жъR╣m vV■ЪIюї-}Д~╡#1ФчtWт╖кDИд$С/ЯьД▒Ўгz┴▓*]гu.!╔═gМКlввh[8IЦ╪дgEtmw╕_ЎГС&╠е8oq!!ж\рI"С╟г]VфъдR█ОнБФр;4D╟ххчb┘L╥&щIi▓DдЁdйЦ ¤═k#Ыр╝V%я7 вУI└EV%▄*EcE╞ЄЫ▐Е ГQV DЦ┤бJ╒╖С╘ф▓┤aKbу╬o│ъ╗ goЖM"hЧхIї^]╬¤ъD▌ї{ОФ╫¤R▐-yWF·ZRбЗ╢#ХйжЄN9H╣к┴╥Hcрc√╚╛FGёЩз"╟▀Е┐п6!╧S┘-ш╙~3*_5Dйх┌ў]╕ Й}╩╩ф" iOOждДз═GZБlAAAX╝'╔╤Втm╨╥<]╟б╬D2╚"ЙYE│UНузv▒?T4╫▓ўс▄Ф]=Ур╔н╦4┴▓ЭYСхёї╜╫╤┬┬&Pт√s▀:БЩf∙Єly╙u┬*ч#K▀U╫ь┼з█e┤▄ jШYИ╖!у┘Ю4Sh╝к╡6Hо├pт#Ьl╨ТхЛA9j2Gp5mЇr..HХ*Оcщ┼й╙У.┐ЩТ┬Ы╤)\ йД'av`Йныф╕╥ЕFкЬo╝ВИь╧ц°┬сu]Ў ^I№ч╧иЄ╢цdС.{)g░&dм$RжУ ет&╩u┴ъц╛с╓ъn"еDР-"Ег╚N}еVk W╚▀5NщP$Ё╬╫)╔М <ъ№$^E?Рб!З║█мх┼Еє█7Ц9S&┤°┌╥6ПZu(ж▌╝Ї╗vFЪ╓НЦцNg жэY^a╢╩ФжФ│ g(╪╣ЁЗ╩▄D~RоВcЖМб╤╠*╘г!GєЩW─<*П█!3j╧лй╛еe╒uJ╛%|¤╖e┤@н■~I╖nb▐╓∙рАA▒+╘─╦(╖rююЕ█BD>M│кф4Ю4─Й,Gх╢"╚UБ∙Л2e¤A▓)Й█╛GЛ/T╝╔еЖ╒█Л░°Ащk°BкЕ∙й6Х}J2твэ▓вЇ#UЕЯ!КЮЛ¤H№%EЙяРд╩я■№К░╗╨щ═ЧЇ \╝╥#+4/оi┬С▀╕йидЬЦв;ьЮ╛sкv2╒RЗ*pН┌9│!ЁuЪЮ╣G h▌┌tjчПЎк ШэЇ▌╠М BСZ╓щыt Рс1a╩ГШк╛}qо&пФР!hц1▌ч&з ╢}ь7v╚&зEЬ Ывp╟ЪeфСц,Go"+Dї7}Iк7$i6KЙTЮ)Cy>JЁ.ИX╢█н╣Gg╤!Zфn═[┐¤bo'У"Тs@щg╖.╬┤мё╗сzУbц╖a╠.╔Л ^вїk}m╜uUX╬ЮTy% ╛RДС╤пгHТ┤▒ ▓f|и╤Ъй╡╚fyвйK╙гwМ[ай▐Э¤Шa%!╡ cБ┘}0╖V╚-W▐ЙйK57т%[▌ыЙБbTNНbчM $(▌2 √сНUo╬хF4▓╬ u?fxОъэбЗе╓░зjх▓],░вYыrН+?║Tсл Э│(г╥ЙИТ╕╢ [ЪR w┴█юмWДОцГеоvВКФ┌ \С╓]╬sAf░╦9<hГГnuLgВБ╬yшd▌иD┐ы╞(хжW▓йєv╠1з╫:у>tЇКЪ(єИ$┤c шйG#8I╥╦zz╝JXЦNк╫·JЙ\╩єз@√їqЦщ?Е6Чd╧гBЧМW$гц╩zvФ4√╩ х╞*б═кЇЁр└\Ы*и┬▌Я╪о└▒Nк▓У└А"фТБuячn┼^qЪd╙═elХ║uZ┼ДдJQ╜UTX╖Э▐H∙ДvифцЫОF╠(я=┤2rщуt |┼╤HRоХ╔ф║·Ж{)┼&Y-мp?щ}ИF╨═9#ГzDр]ВM:7 . КЮМ▀U*Є╫ ZР╡}ё┴ їgJ╠иV ┘AsхЫ~ъвI~dH Ъ╒ ╧-jW-ЮT▒╡ЧKCЎ|bму┤╠-У╜ЛЧЦ╛╔Gоwь╩Ы(EВ 0]`;╢┘@Це√р*╞R∙I|√┐▌~╤cЯФЁ▌@Y╛КкО]┘╧╙║┼e╖AJ,y▌u╚{)ф*│я╞2PxI№Iсо|l нRыE$б╬В╟Ж^├Д2Їьт▌*е─B╠э╠h╒Щp+Ё╛;ME╙h═╚┤╡ ╙XЩd·в.Э╛¤ЖЎужФТPє.─иУcNїЪCЗ╙mзк*нp(Нmx:═R╓еj╬ОsФQ▌f┘aЬEо|╗EjФ^ФО/-Я е╢Є!ю=7╫шЭ╚^в∙ф+ОШЭ┴+\√▌7<╟7є▒_┬|нХ╟єХсm[s▀X!уnnWЬ;┬ЬШ1P▀▀P╞,Ы_?f▄д├C}┼l┼┼gR60∙┐┬ьY┌ЎЎ$░╠TeшЪ╝O2^║│┬j;╛├рf^БtЙТ▓'H▀]кЗ═;Юёc║╫╢є-Єр^ %мwЛб╕пэ/╢DЭ]юO░О╔с@╢ZЁ┘╢▐^Г|▐y┐╬xM╥╖УВ╥&ю╞╫фЛа ш╡BэPk#HжЪcТ█/т{╣█-7г0rф╙B╟r.d3-ёЎ╢s,ю├°╣MiF%1п?dёA╩ў╬к@:X╕6К,Oй#ыjB├ОBbtBх(╚ЩзAй├|ы╝`Я,╩б╜тCю5 a┼г"ПpВIЦШ¤LЁ╧ру╥W╫>M C┐7ых╣Ё═Мe8щЦ[A▀▄г╛▄@бM>╪ ОД ktiz┤╤8!$ИiЪ▄ФHvhGmw─ч9┐▀Ф╓ооС│v┘ЖqPOИ]H∙C8╚K7хeы/ы%Z%д(о╥√aчлэi╦░й╫h╜~┬2Q*№Ф·й:Mт╥лD┬ЩHе°╬(xо(K▓4hа,ял═ЧRCq├Ї*У*'Rхh*Л▒юї(эQ/єQ-(_/W║$7>є:5╬-u║╘}т─DZ~XйHBdI9(їo 6█(╨P ┘fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/sample_ref.raw000066400000000000000000001161001473255640600256210ustar00rootroot00000000000000N { X } n ; 5 ╩ ■ ▄ п ы  ╪ ║ о к Ь А q P 7 3 (     V К r Е S :    M H ^ :  # (     э─д╙   р  ыИЗДЮ╞┼м/и╠∙╩Эо-K{Э├╦╙╩▄хщрс╓ью   ц╚єу╚ч╠pЧЮУ▌Є∙√Ї  √юяц┘▐╓ $ ) ,  эДН╜й│╪єлxЗыB╨┌ЭАpдjСБ1г╩║╗┐ЮJМ┼─╛ноЪ│ЯвmyЪЬqRшSsR(AЄeЬ|ШУУТsТ╩}ФИв▓l Х R I \ / ( ┤ ■ ╔ ╔ ╜ ╨ Ї ╒ ╨ Я s Z W < ! , &   d y Б { M @   Y Z 8  ц ¤╟╝╓∙╡H│х$ ' 8 ? - °вll╖Дй╥ў■П=$1т╕чmп╚▀ёц╓шє√Ўьчш°√ъ╚┬Ёёю№╪TДс▄хя¤∙¤ ўЬ╘ой╘ш  ! , &  с  тt║яє┴пx▓╜ФЦZТ┐║├ЖТ╗┤┐ж`жВc░dm│ЗdU`d^J~б╗YC┤ЭНЪ▒УNq║∙юЭ%█C 4 4 - 7 9 2 y С г ╖ М Ю ┤ к в q P P Q E E /  #    K m a b F 2 = *  3 6  ш█└y@?vБ=x╔№2 C M ; $ ў╣К╢╪╤ш % ╙╚ф╚ЮыЯ─Ыю7<Apвлся╪╦°∙їЁЁы▀яЎ▄щЁьэ∙·уъ°ё▓е·  ьЭ╞О╣ё· уц     ї ¤╪╩юї¤Ўъ╠╢┤▓░╧└─┬╟╦Эsб╙ТЖиnЦ│ЩжЦiПП 'Ю╕─┐А-жнxT)Ш╕Я╚╔ТХдл╩№тЩ$94 E 5 ' L [ A : A u s K G n X U X W d Q : Г Й L 0 d A  B J 5 / 9 4 * (    8 ¤╘╡m(=1 %CО╤ 9 :  Ё  гжу   1  їю╧Ефс▒▌(JMj╢╥яє╘├¤√Єэыц┌▄р▄чьт▐Є╬uЯ▄·▄╠Ї  № °юЇЄЁЎ╨╪ ї°ч╨ь═я  х╨╞р·ў ю┐Тзе┴╟█┘┬╢╗С═╫╝╘░ЫзГкvи░VGPАh_в╟─и}GйЙqеxC╣╤╒иСНХ┤▌ё╞а(6M2 A A . O w Z . < p x s O    = а К _ a Ф П 8 c Q : A & 4 ) ) *     ю╨ЗЖЁ'$;PzЦ╓  % /   рyТ█  ў  №ъ▐Щ/¤ыё+?qо┴╒▐эю· ўъф█▓зхчфшуэто┬чЇўєфЄ√ Ўё║  тцЇыэ№∙┌ио╡░sдр┌█tX╞ы  ё░mИб░╞Тб╧о┤ўт┌▀╟kf{ЮqЩz╩5Р.╓└пЪХИФРв┤Ю}╞┘╧ЭНЩЬ╗╚▀╖o└Ш3 9 B C : m e - ' W _ x 0  % їёC А u W C И и Ч И e ] e P 9 8 ; -   ■√ю╩Хb ╣┐ЇqПЬ─т√  + ' )    ч▐╘ф■  < 7  ъ╛ЖD6'5ANsd_╕р° √  ъ█юр└▒сф╙╢╡█ээ▀Ёяфя№°∙т┼пЙ ■ цn┼Ўф┬ЬЭ GВi╥├г╫∙ ∙╥┴й|╢╨║╡╤▀э °т┴╫╒ЖD~╨оvЗЙ?Хe·9РФдо╝зnБm_Л║╠╗WПЭЮНLЕв┼Ш┤╙9 G _ S + D 8   n `  №чс k Ы б O R ▒ ┴ Ъ Ц | d t ^ 9 ! ▄ш╕Эв╠е.р║┼ЎJY|Ю╚╟┌   " % & 4    ъ┼╘ -  % ! ■у║ИU3apT;t`GР╬у■∙  ьС╓ъьычу╥┘хцЛЯт╞┘рсЄўї№Ьа╓╥фь  % │йС╢пu"qПkПЙ│ №фЁ  ╡н╩▀с┌╟БЪу■ є╪╟╒║hз╫═Ow╗├пРLA=деWsslЙtkм═А╖▓ycА*aЧ▓i@л╟╔Ф; ; a h 3 F > < Р R ( ? - (  U Y | p ; ] ╜ У m г ~ Y l l E Ў╚РD/Da-╪╪Rбп▓╥─▐    2 * + 0 9 )   Ї╨Ё     єх▐╞УВбоЦtnБЧ╝╛ч    ╧Вц│┬Р╛╡$Q╖э┘▌╧╣╬чўўЎ▐ф╞╦чЩСю ю,  Y№фfW1С╝▒Ы * ЬЫсрю ( ┬г╠р╠u{П│ъїЁч▐т╚┬╚╔╬╝xп═▒йЛh║╜┬Б\^,vm\BИ`яZBuд╖оД3И╓╩J\ C c v 3 M { q Л К 7 ) R N ~ e С k d P N f С { k Б З j n ` < ВzJ&√ыуз└,bqся  °¤  7 E 3 F N I G 7   яЄ ъєюїёя█╗║▓з}54д█╔F█) ( * ,  є▄╖ovё.ъu┘╥ш▀╓Ўъхє·  чЇ ў╖шї▀┌&  кЙыD▐щўёк¤k @ ╞╫ъшэь▐ЗpМ╨╔Б╢╥рьу▐▐╘╒╤╬╩╒╙╞╒┘└╔╦╩╖╒ШаtыbL┐#Дcхт0ї╝Qг&1a~ап╗УВ╗▓9l I : W 4 R o : a `  ї, t  \ Щ б С В B 6 i Ц ж v J = 4 ? A ─jўш╫ОБo╚.Ий# ' $ / '  % 3 Q O F G > ; 9 ' $    $  ▄ №ї ·ъ▄╬╪ч░Neёчя█ 5 2 : 4  х╤┼A<xЭшЇШ╬▒{╣э╤Ї    ўф      ¤Ф█rrДг√ ∙ 3 * ўьЁєє}╠¤╬╧┴╖▌▄▐ц▌█▀╒╛╬╢╕╓╕╨щч╔┐╟╫р╪Ьйа+УгВNC¤B├*╚?Ш╢╗MЖЭ┤╣╕▌╚Аn Q 7 < g a ^ : m b 0 / p Й k Z О Ы Щ d % ; d Л Ж Ч \ 3 1 √о:╡╢╩╨йЪё3О─   2     ; K R 9 / D ; ; 6 - - ' % ' 1 # ь·  ■ь╪р ╬ c▀█  . 7 3 D D ц(Е вУЦЇ6l№▌  Ёш╓ЗT═   ▐╢  $ ) , 5  ]з╞"│╘° @ w ; їя°° лs  ш╤▌╫шу▌▄╘╫▄═╣╟╖└╒┴╪ч█▒гТ╦█╥╗╧┤к┐л┬ЗДC┬гШ п+gOўд╖`xЦЩ╕█ЇЁj ^ m E П п з Б ▓ ^ J Ш Ч W В Д Ч В t = 8 ` f В в Ч j = $ █Ч%Е:аЎы╩х!@`У╦   ! & 6 Q J A 7 7 C ? 1 + * / $  7 ) й░   ў╬╬┘╟ьаг∙ "   , 5 [ E Э│К_ь╜|╩ЩЯ╨°э   ! ╧up▌) -      $ 0 = J y  Uhыяў·∙ . ∙   °жx °ц▐цч╒╓╘╓╧╥╩вв▒╦╦╛В╕ы┌╕еЧ╘╬Ц?░д╡╟╟╗Т╣]?ЦpUкЫ дёцўV|uОнфЎq Z t П ж ┼ П ▓ ─ П a Х } r k a s b ; % 7 { Г е ╦ Ы } T #  ш╗О.╔ ;NсЖ╛╓╜█Z┴Є  # J Y Q = 2 6 - .   + #    ║╘  ╥Ж╢яы Ї╦   ·< j N ∙ 1 * 1   ┌а╬║╨ 0 + %  " 4 J = $   ює " $  b Ё Н ·ъЎ°    .    № █╛▀·ыя╒╓у╤р▀╓╠╠Тmп├╤аиЕ═юёфРx┼ЮМЪyi▒ФУ┘╚║rU°▄О\D$█VAyъ4iI,{╨К d Й Ч ╕ ╤ Ы в ╛ П д ╜ е Б } Е { V K @ q д й Ц ╩ ┬ С @ . $  ╔░╕pz╒╧G╩oП┴Я∙Вш     5 ^ X L C ( ' ! їЎ !    / √ьШЭ█BR(Жы■╨ шю S e ` f U @ 9  ў   ╛я   / = % ╒ ) A 6 : /     ╟┼ ' % C : ; !    % 2 $  їыЦь6 &    щфчь╫┴╫╘└П┐─╬╪│║╓чюх╫╠ЧЬЬп─ЩЫ▒╝╒ыгЮЖJ1`Y╖b╤╚RH;рЦ╩КI╜ИI U ~ З У м ▓ д ж v к Ч s Ш л ┤ ╨ З ` j ╟ ▐ ╗ У |  G №э▐йtGMХ R 5 ─nEE7 :Ъь    2 D 8 F ; 3  ∙щ  &  ) їч  й╧┌╘юN}╜  ╣╟╓ H X Z W W a O C    2 H *  % )  бч      ў ╤┘4 -  ь6 s . · Єё2 2 !   ╓╪* V .    ЁэЁЎ╞з┴▌║Д╩╥╤╩Ев▀тш▄╓╛rо╓╬АЦ╛╝╒┌┌ЦБVюч[oPdUб╠ImЬєо┘╣5< M м ╡ Ц К p | Ч Х Н Т Ц ╜ ┴ ╨ ю ╨ Я ж ╥ ┌ о П ~ `  эц░qык,▒" i h  П├╙sMЗ╙Ё   °< * 5 9 = # ю + (  3 *  №B 2   №▓ _ M =  л√О } ~ a 3 8 N O !     ( H E  & . *  Їх▀цхё█╧ш  @ # °╞ :  ▌╩Ё∙·  тЄ¤фЇ/ 2   )  ёю є▌╤╦▌╟л╙╦Ф+ж╓╘сч╔╖пШ╡╠╣uи╣┬ф╘Ф H┬$&тKЙLєЎВEk· Bd o М З з Й ~ В С ╢ о Э е ф ╩ ╟ т ї ╛ ▌   ┘ ╦ Ф W    Эн╒2WщR ▒ Ы  °┌ПА╜ш     ; 1 (    4 X    3 9 1 3 Y  - w ч! Ї╓╕ л┘ `V9 И ( c ╝ y ? 6 7 !    · 5     ўу╒╔╛╡лдДL]Я╒¤ Ё─э■ ї└╫є·№  √·  "     ■∙ ▐│╩╓╜Г╢▐╒г]╣┼┘чц╙├╚╞╤╫╨╩─┬╤▌пykВDO> ■AБГ[2hB(╤╧Zzа╠ е Ч p О c t { k Я ┼ ├ Ь е ф Ї ├ ╬ б ╗ ° я ж  R T 2 R чz9LMGж Д ╬ │ P  ┘н╝▀ў  "  ' k t .  ; `    + B S U 9 +  ° R   &  Ї МЛлm-▀\ / Z ▄ р ч | > #  ■∙ #    √∙у╥оШКГj+т╓╧6Э▐у╤з┤╦тшууЇ  Ў·      Ї∙ √є∙ё█║├а▒в╤▐К░▌┌▐ыхфщчэ  ■ц╬╙╘╔У}qЪ|S"`i?nЦТОЙ{ZяЦ╕Я╟ ч Ю ░ Р > A E 4 В ╔ ╣ └ б └ · Ю б М  Х b , ' l Г < , ╦ж╞█ЦЧ2 } Ь Ф С | ` 1   Ў  ' #  $ c h      . ! % R x r И ~ _ 0    ; W Н M Б  ∙tн c`┬ 2 У ┬ ы ? э e   Ёё    №ы╘┐ЧhTF1№аNHН┬-Л┤ЩЖzХ▓╡щЄ╥э■∙╨у єё¤ █╧Ў№ №ьЎфо┐╓█жТш▐~╜тэєшфцшщє  ўт┘▌╬мFЕииЧШ2L8x?ИЕй┤йt∙7Ь░О╠ш ╚ М А l R Q ^ ; Q Л ▒ ° Х e e c Щ л t _ L - х] И m N  < N , ▒╙f И и И %   * < O % + F f K I , J P   7 !   3 ╗ щ ▐ ▄ ╞ К h = * . [ { ╝ а │ ║ d ¤╦51ь D Ю П ╘  Ї м E  ╙▀  °ч▄╚пo5 ·унЗD$m┴∙L^a~Ылп┤ўъ°∙їЎїЇ°∙Ў ╫╘°   ¤їЁ▌═┌═╤┤зыЁюъэ   єЁ▐┌рцъ╞╬╘╩╨┼├╫╙╘╞Е-lЎUPKazй╠╣kVё1d<╞┬ | i Q K E a x d P А ╕ ▄ К А M Q z Б c L S ╙h! Ы ▓ з Ц В Д w 4 > А Ч ╞ i ¤■ ь ! ( ; C Y B I : < 9  ∙·    ; я Є  ╟ е я х t  ¤4 n ╡ ь ╣ ]  *` Rя B Ы ▌ ▌ ц M  ╒ <   ╕╨чу▌╬└╕u╒▓░ЫНШк┤ц,KeЖЛХм╛╞уўя▄їЎЇЇюшт╟ш ■єЇ∙  ¤∙∙╬▄с█он┐═ЄьээЄ   ·я╔╣╦╫╧╣═╟Ы╙▀р┐╥╚┐hA|IЪ│├Ц║у▄з0A1OАи Ъ x i e < 8 S Д z Т в о ╫ ║ Ш d n  ~ B <  Xц└Е │ Н x В Я б Ь [ R Г ┤ e Ї їф∙  ф╓ю    №ў°  `  √ │ Н ╬ B > ╚ _ k p e н р О  █F4kЎ s ╔ ╞ ╟ ╩ 8 / ∙ N * ╚а┼иР~СН:єйC[о╤Ў .PwЫ╗╔┐┼╔╔╤ушэьў√я┤л▌ж┘ёч╫ц   №Ёє╓фяь╢░╙сёя√ЎЁ %  ц─╠╓╥╟╪╬й▐шус╜пЛМЧоРоф╧йе╧ту╝╕┐ЦSТ√ №№ ╘ п x 1 - 0 3 ] Х ┤ ┤ ╗  P h Ц └ И ё╠╫>C О ║ Ж | Д ╛ ╪ н 5 ц [  ├т ць  ї╘╦р№   ¤Ї·   B З ╚ Ю и ▄ B _ ё х ∙ ╙ ╢ ╢ j 5   ╨э- g : J ╤ ё ╫ ъ ▓ █ @ ┘ > 2 Й ∙а╟Ь:B^k4№║Ie─<WnВЦи▓┐╞═╬╩╜╞╫▌хю ·ьх╣╛█С█ё№    █у╒╓Єў╤ЖюЄє■ў°  4  ф┼╙▄╨╫╫╩█щярЧз╧У]Р{С╠UW4AЭ╔▓[╝т╦К└ь ▐/  ╗ О d L B 9 9 ^ y u k 5 $ z z Д w  ╬В(НK И ┴ ╕ Ц ─ р э ш Т ·лаТs╔ь└¤Q ?  ¤Єў   №ЎЄэЎ  / ~ o Й ┤ є 5 # ц   ╛ ╫ ▄ юY Q 8 X K T 7 B ╗ я ╞ ъ ╠ м ┘ ╥ ^ 7 x  ░з╝ЫЕnrK,Є╛╦Ё&JБЬ┐Ўэ┐┴╘Єєъ├щх▌у   √э╫ыяЪЮц    ▀ф╕╣ё  √ющ ¤є    ■Ё┘╟╤▄═╔╣╢▐цьщ└р ▄│╚░е╜9P{о^g│Щ╩хеKМъ ┼$ ) ─  v w А k = f w b С m h O ? n $ ъ┘xM╥q ж є ╦ А ╔  ▄ ╘ │ h ╤И┤БкD F ? u a ; %     ¤ЎёЎ   1 5 ~ ├ ж е щ ° ╖ м м г Л ж Ы  S j E ^ Ю p 8 8 * И ┌ Н ─ ц Ц C t A ыE ё~АыыаТ║йa ╟╒·'Wт)  ьш█Є Ё▓тух┬ё  ■· * к╕ў  ╤Щ┬∙   ЎьЎ ¤    ц┘╬╙╧╫╨╩╟█ц╒╙▄ь     я╨╓ц╙╨╔~Т╚╒┘▐Л_w┌є╛ ю й ~ n e b \ M М ╢ Р У ┴ ё д Y L  ╫лE_/ Ч ╔  ╦ к ╘ ъ ъ ═ ~  █╬╔╣Q з z q К j ? 8 2 *      L f U Ъ х ░ | L ) N А 3 / ? o и h У ^  B¤( $  ┘ ¤ Щ ┌ ь ▒ R  х╧└54}╤у╘╤╬╢ZэЕХ┤═▓fм^╬╠Юз║╤тЄ яь  √  -  ╔Ї¤     ├┴щ▀ ╔├ц·№    ф╦╓сср▄╤┼╟╓╥╬╨у   ▀Єьч█лVVqНз╒фщ┘╝Иo╔╪└╧ ┼ а М v [ D X k п  ▐ ╔ ┤ С c a 3 ╚ЦBИR l п ╝ м ж ▓ ╚ ° ю ▀ Х Q   ь7 С u F  \ F O 8 0     &  J я ° ╢ ╪ х Ц G  Ў' o ' # L m y K 6 √ц№╛U = d ╣ е ` и ╣ н Б  ╟ШS`ц █УB╙sЁ! ▄╝E╨/ZAeЭг▓ъ■їЇ =  ящ▀ї·  ╥ў№єъ    √∙Ё√  №хЁєў      ┬ЙхєўхфаК╖╥╙╓╒▄ў √чЄ▀╓╙╞ЧА╚╒╦╤т┘Л/bМ╗Ч}е е Г Z P N M L c ж э ∙ ╪ З Z [ > ' ▀ж{!Ю , Т Р ╡ а З ╜ ╬ ╟ ┬ в g - ) ) & * \ S . = F , 1 .   ■ !   М ! 5  я ╛ Ф b F P ^ m ^ a 9 я ▒Б┤ r Е Ж z C x Й u / мCQT:KЧ % ╨Жv|~RА╖B∙=HPCsжЯ╛╓╤ё∙   ё┘уь )  ё▐┌╫▌  ┬╟ё▄°    ў╒ё  # !   ■╙zЬЎ сЪеРбр═█фЄ¤■ўэ╫Фr╟оЫ█▀▄╓┘╙К^м└┐КuЧ П h a Z u q v л ╘ ╕ ┬ ╛ а k " ыу┐}*ЇБ┬ё@ V Щ Ъ Ъ ╗ ═ ├ ~ A * 5 "   A 5   6  № ▐ё▀ф   P ▓  ╖ М С ~ W U н ║ o ^ *  3  С╝∙&█▓N Б N  ┐7 d ЇН№m~JOЦ√·╧╟Чc@|Цuf*у4ГО~^б┤┤╞┴╚╙ї     -  єп╔▓╛╢╬ щ┌╦   ∙  їр¤  ( 8 '  э│жи   ё╕nЩъшфё√∙їюЁ╚вУ╜р█╨▐уя▀╨╤╖░ЯБЩДг Й k a Г н ╣ Э ╢ ┴ п ╢ ╔ ╓ ╡ А 1 ┬ln┬╒ 2 Z Ж ╕ ┼ я ╣ ` K H b ( √∙ ¤▌│═ c G їа║Яч    + Д є ╨ Ю Ф г   L И И } y (   ▒▒kюky;ф8  Р Ф╙ГH■Я╘дuД╕ЄЁ╙▌╨┘ыъ╘Ї╫╕│┴╢ЮзЩ╜тЎу┼╥цч°    $ < D  ▀Н╢Н╢п╬ ¤  ё °   & J ^ R 3 щ∙  ь №ср¤∙юъЇЎЄє№ё│═╧┴╧┼╖╦ъїс╬╥аrЖбзq╡ в Е p ╖ ╞ ┌ л { y x б п ъ ▀ ╢ a ╞Н; l╠█ l { О ▒ ┴ ║ x 8 j m c ( ▐╦йЛ~Ч▀= А k 4 ю╜╣я " P L ` ш Z ┌ ╓ ╟ ═ ( ' v ┬ ╒ ▒ о C т─Cч+█Qвч╙kЗUЗ─LEЮ ╛╝╗р╔ї╟фїц¤№+ $  їь▀┤ж╘х·) .  ёсты   # + N P ' уY└▌°єў№           ) > C S =  " # ь▀▀  Ў  ¤уцэЎ∙°■█╞╝═█╖lwо╘щ▄┌╬╨╫нКШУдп ╤ ╚ Ч ╚ я х ┬ x h } Л А ╪ ═ Н 1 Ё┼F>б F Й ┼ ╨ ╓ ╤ ╠ Ч f d R ]  ▄└Ьбщ 0 ^ Z T a 4 ╧°  I Э ╧ ╣  2 э є Ё ╡ z a з э ┘ ╜ к 6 цР[Dw)G ╩хтЭЖ'рbх╚J╚ш, X U я  {3%А1ю ф¤   ∙фс ях L S  юыЄў     їтх▀▌ўЄ╙ш            # - & 7 0 ▀чъЎ ■■  ЎфыЄ  ·Є╨╟▒╘ф─е┴█▐╓╟└╟╫╓─Ш}ЛУж ╛ н ╡ ┼ р є Ї П н Ч | z ° ╚ П В n QїK│W ╙ o Б ╞   ═ н а s _ k T 5 ' є╚ёM 7 # - 2 % ■ + + * H _ Ю └ ╤ н и ┘ ╛ ╒ Р Л з ┘ ╚ ╡ Ц A   я═К$Fв╖ф |ь▐G╙Ш]Ки2 S } c 3 ╥═╣·$ШJУЎ * +       0 9 т O q ,  ∙  Їъ■ % ·╡ръюїЄэс■          4 & 0 ; Ў╕ЇЇ  °  їъя  ■щ▐°┼k╨▐▄хщт╪┐┴н═┌╩╝Хs]}│ г б ╟ ╛ °   в Я Р _ m  " м ╖ с X ╞t╟▀ г └ ╧ ▐     ╢ ~ d m C 7  < D 0 A A B f ╜╜ C O ; f n О ╛ б l X  _ Ш Ж l г · й К Л M ^ u ( ·у╟й╙╦╦╡Vй>w= К O G 3 U m G  щ О░ў3Xд▐! *   ·    ·  ! D x N ( . 4 4 √° - ∙┤░╣к╤┘яЁ            D d J $ ; 1  ∙¤ ■ў   ·э■  ·Ь╩√ ёЁштяч╥─Цб╛╨╨╖╗na\г ┴ │ р   ° ° к s к О r Ы ┘ ф Ю Ш , вAxмл^ ╗ ї ь ╒ ╒  + ═ z O ; . K 0 # > : % G ` ? к╧  6 C + U h b W W Z A t Ч щ К U Й Э Е , I N i Ъ C  ▌·═°єє▐ЧS╞` Д ┤ в i ) є №∙ў■╝уP)фR"Ю╙№    Ї┐╣╠  $ C [ I X Z Z S 3  я ▐ФЗ╨лыЯщыс ї·   &    ў■# " 8 V 7  8 > -    ■   ў  "  Ё╦ё   юч┘шт═г╡┬╞╧╔┐║|йП;О л т ы Є ▐ ┴ ╟ е y ┤ ╢ А a V М x l  вJ4lQыu Й Я з ┴ ╧ Є ╛ p G 0 1 I ^ E F 1  W o  ═ % B R X 2 J H I 5 = L K Ы ь  ╘ Й h Z a 5 X 8 B N R Є1 6 ¤ P & ░┤Є■═i м Б - ╦╫▒═╪! ! ХюеЯИ╣1p╒   ╩zЖ A  #  * > = 2   ╘Ў(  ╠╠└К╠ю√ї Ў       √Ї   % + 3 - - &  Ї√       !      Їщух▐Я░▐╥╧╠╙▒rМh|Ж Э ╜ ╬ ╖ й ╦ с ═ ╟ ┤ ╝ г Й g x Л Ф g ёб<└кX% K _ u ▒ ╢ е Ь Ж Y 6 5 K z a C  єO \ B > 5 9 F [ g 6 O = 9 J Y P c и є  у м  п i b > J h h 4 [ о Д s h R  АФ8╘ ╔r / ═╡╕зДл╜█ 7 шШЕЧнйЯ█■ · & $ №Е╤╓>  ■■ч╨╞═┘╪╝д▐, H  укСуї·       ■■ щш╕¤+ - 5 ; +  ·ъ             Ёш▄хр▄▌═Я╛╪┌│ЙСfVЗ ╡ ╖ ┼ ┼ ╓ т · ч Ї ╦ Э p x О ╧ ╔ ╝ Ы  д-bo╒? l m Ю ┌ ╝ б Л Т { 8 k Х Е < &  ^ i ] [ @ & . E 8    ) J b H W И ┐ ∙ э ф ▓ ╫ U ╟ n м в А y s ╜ У Я ╣ X 0  в ъ/ЯД:$╧ФЙ╜ V ` # ¤  чэ 2 H 0 H ╪jт°ф╧Е@$IuЦЗ┴ АлцьПrї№    . #  "   ├оД h L J J .                   "  ё▄╓┘с╪╤╙╔└┼╤╤├нЪИж ┬ ╜ л ╪ ў  т ╔ у   ╣ Ч к ж п ┤ S # уQ╣Э ░ a М ╫   ─ а й ╛ Ц С  w l [ - u Ц Д Й Q 9 J # ьЁ   < ^ М Р ▒ т ╕ с э ч ├ &  Я ╓ │ Ч ─ s ┤ о │ Я S I "  ╢4 yОРы╚╢╠4;bVп·? T 2 1 C \ n   n Б P R = " !  ╙═╘╝ ▒┤▄хс+AIЛ═║┬ъ╟J^═ъ     $ = 9   ╙╛чЁ . B * 1 > "  №√       ∙ўў № Ўф╦╥▌╫╨з╣║┼├│╕вЯЙIА┴ Ю Я о ┼ ф √ ц ┌ ╬ ц Є ╤ ─ Ё ╞ Е p U e # ╜═"╫D Э ╤  , ї ╥ ╙ ╘ м м y _ r l h * = | Ш Т Y w 4  ¤■  % j ▐ ▌ ╧ │ ╨  ° ю · ╥ у ┌ и i ╜ ь v Б Ф м m B  ╒╙╩p└н┐дgc┐Xf∙  ? , , З ─ { h Г a S c B $  хвmLя$єHu┐┬╧╓н┬╝┼kMКйпї  H P + , - ) ж╦х╦╕ь     ї√            ■°ёЁ∙·°ў▀╔з├╒└┬└╔ОЯ╕ЭmpuryI┐ о ╡ ╔ й ╥ ▄ ╗ Ц л о ╢ ╘  4  ╞ У С Д = єl ╤W ╠ я ь ▄ ╞ █ ё ╝ h ~ p ^ H   ц█9 q P P D ) 9  ¤ ) л - Ў в ╡ ┘ х ∙ Ї  Ё ═ в х  ╘ К г ` ( ю┤j0x└Я┤,Ї@a5В╥Т╠щ.╬   + A u Б } Q j _ T b B  ьд@╬}яMk?0H{\k░688И╖аШбк╟∙ 3 w x 6 * ∙¤┴┌▐ы╣э    ∙   їЎ■       эЄєЁў ўф└РЖ╞╞╩╘р╙Еа╕еЩеДqbm▄ │ ╛ р ╩ ┘ ▐ ╠ Ч ┌ ь ┘ ў Q > т ъ  ╖ W  ╠TA╫` ъ ё ╘ т ╤ └ я ╖ s Ь Х Н s ?     й Д Н A  2 R    ` я A я К  5 ╩ Б y ─ Є ░ д ї 2 х Ц Ч К @  ╒Ш0"ГМхнnВГ0MxУ1m=iс) ·ф3 G ] R Z 5 + 3 I ?  у╞Ыv√╡|gЪфXЁНаКе0МСТЦЭр $ A \ e O f Z F )   .    Є  , '  ¤      №щёўў  ёеПЫСт╢сїы╓з├ы┐┬д╢йМO┘ х ь ы ╔ ╬ ┼ Ч Н  х ¤ " F 2    я И 9 Ї ЧХ W ё  ё ■ ы ─ ╩ ╛ ╖ ├ ╡ а Л б z Z b ─  ═ ╡ E  / А 8 V O > m И ╡ З ░ M ═ Н Э m X Ф ╨  ¤ ┼ ─ ╤ ╥ ж u a 2 ЇН ВЙ!║оф+Ё 3╬∙^Я B  ї╗╧     ї▀лЖ\▄╟Ў╪ IУАл├щLЯьEpp}У┬▄ < R S u ╤ ╩ ^ 6 (  +     6 % ¤ * _ P      №╙├▐   ┌y░Ьs▄╥· █═║ф¤▀╝В╟╒вМЮ ╥ Ї █ └ ┴ ╣ П j ╖ ╞  I F # 2 &  ▄ е 3 э У╢ $ С ┌ т ч ф я ┘ ┌ ╪ ▀ ▌ ╙ у ┌ Ф г } j о ╦ ╫ y ` 4 ~ Б ц ╤ [ ^ Х z ^ И ╠ Ъ ╫ ї у Є  ! ю ┌ | | е Ц О F G D - ч Vv='╙0?м.╝╨(╖$ q : ) 1  ╜Хэ ф╘╘└ЯеOщ┤тЕ╘к■╦%4tЬГ╜EФ╟33YФ╫Є 7 L \ Т ╤ Я ' / 1 .     3 3 - 7 I [ \ 9    їш▓═° - 1    /  эъ∙  ёьў Ў█╥╨▐╣}UH w а ┼ ╙ ═ ╗ ж x Г ч  э э > ? · я ╨ к   5 ╙■K  ( Т ╕ ╬ р  ъ р щ   Ё  ╘ В z E Ж о ╕ м Р К R { h г ┴ Б @ б Ц e Q ╢ ╓ г ╒   ■ Ў ш ─ ╗ Я Ь ж Y J  4 )  ╜~Kг$ўЖ░о$ А d ` 0 9  ─Г J  █ГB#h╕5LюHaNЪ■a░=hЦcБ┴▀5жщ ( 2 I n o k n Д s [ T !    ' > T n k _ H 0      юОX╔4 H / $      ▌Ї   Ї∙ЎЄэ▌╪кХВz P q Ю ╖ ├ ▓ Х ~ Х   ╤   ю ╖ ┐ ╬ К Ї& Z #  m 8  ; Т ╞ т █ р ▌   7 6 &  в н Л [ и ▌ ─ { И п ╠ ┐ t Х с ╒ C s ╛ Н 6 [  f ╕ у ╤ х ь ╒ ┤ и Й Ш б a l ' Ў√▐╞═╢{┌н2|─ ■A╬B╙ляA g  ¤Ф л цоМН▒╟З╧рQт─nзМ├H▒+ЦgШ╘·(Wв▄■  7 4 E v С x Z 9  √сш∙ . : B Y Y l O 7 1   $  у╦ўI d . ё■¤ Ўц°   эЁ·Ёяъ▀╚fЛlo F w Н Ы о й г Ч м с Ё ¤ Є ╔ п й а г ? їc a (  v Y  a ┐ ▄ ╒ █ с  8 D S A Ч ╔ ┐ Щ  ▄ и ╨  └ ▀ ъ д ╟ Щ L c ж А ] С М Р ┌ ╒ ╠ ф ▐ ╘ б С } t  n а o B ┌N hЦ╕a╥,):!АїЧЙF}а▓ o  ╕p.│(╣╬k╞с╧ГЎBh8,╦╒╨╞4с╛k╠A▓а yўQbP╝црцЄ √2 g { Е N "       - @ 0 6 ; Q M : <    8 - * + > С ┬ k %        ╤э ЇЄ╥╡╕ЧгfЯ W Ц е о д ╢ ╖ ╦ ы ═ ч  ╜ В w Ч к V с^ б s 1 ( u l < > i е ╗ х ў  ; , p e  М х J  ╧ G  √  Х ╪ ы Ё  @ б [ V r ~ В в б ╡ Ї т ╘ ╤ о Ъ ┴ У N u ─ │ В m ╘s%RИ`ь]G╙-LjT Щв┬т1 U 0 Н]сY 9b9з└gЬcъLА╕- &щшТp;н▌4Ыn▀NZu■Є╠╧█ё╔ 4 - H 9 ? ? 3 7 / & ' 3 8 2 [ o h j З { P K @ ; 6 : e Ы щ  О  ! , %  № - "  ■  ─┤╚З7dD j Р й ╢ Ч е ╕ ▄ ▌ т ╦ ├ г w О └ ж юЕ Ъ Ж 8 < В Ь з { c m п ш є  O Ж w ц м 5 , Ё я " 4 % ( . H щ D c С K c o А Ч Ь Х ╛   у ┘ ё ─ С ╩ ╫ ╥ С ╡ ╩  { N 2 їбКT` Ф▀№┤№[ц р╔    + НюW{Й-╘a 4, ┴=:╙█/▐ Iё.C┘1й∙.К)"Г.  ╚ОdЗЁ  ! , O ; 0 . 5 З Ж a [ * c Н } f z 9  Q F 6 z ╧ ╧ ╠ з Ш ] яЇ їЄ ( Ўї·    ўп╖еzf; o ┤ ╛ Ю Ф в Ц ж з ╥ д З ╢ ь є ▐ З уюЩ ┼ y 5 V Ф ╠ ч б }  У ═ ї х  [ Z M s X j 8 с є  0 T L ? ?  э   ~ H J _ ^ д ▓ ┤ ┘   Ў  ! ў н ┌ █ щ ╣ Л ═ Н F , K d 2 ыХ╩j∙ u У ╒ и R   G , ·я╤(wЬ ┬<$Zr ;ПC╚l═;Ш╕╖▀S▌kAp┘C=?Ф  яЦ╖│╕* 3   ёC Г M Z b Я ├ М L O 0 G p Й 8 )   4 h ▐   ╜ ] )    ш▐└э■  ўїЄ· "  ∙Х╪ш╟ЩЩ9 o ╗ ╬ Ш У й Л ~ о ╦ Ц П ╥ с ] ╨ ╣ ╤ e J | п м ў х └ ▒ Я с   ! Z W t ╬ ╬ м g : ; < @ g Q E ? 3 ¤ ( ║ =  / i ╧ я  ¤ Ё Ў °   ё р ф ═ ╔ ╙ b А Е T Y И └ й i √╪l,Фщn ╧ ы ┘ ╩ в Ц ( ў ╣лё9aШ╗пsi│}╟─ёвp=▒ eA┌ывAаУй+mCIУ ┌╪A %  4 /   7 ь : s ` = < й ╔ О ║ v w ~ В W } M , ! h ▒ ╗ т \ 1   1 ю∙ ∙ ╦╬ы°·   ╚р╤▓╚╩K g ▒ ┴ д Л  И Э п х ╒ ├ ╪  √ Ё Ш 7 E │ и Д И М Н К ш  ╘ ╠ ╙ Є  " * & N Н ╤ ├ └ ╖ м x F N D R - + 4  3 т В - 6 s ░ ╫ ф °  > · т └ ╜ ┴ ╚ ┤ ╕ ╙ w p е П Е ┤ ф х Н 8  ф░O ╩ █ ; E ∙  * ╜  бнв░╧&|·Ъ▐▀°╤П║?┐`╘?TBЫ1U7tИ ┴┘·#|ї ¤ Z C P a i ` s ∙ є У d r D 8 М П Ш ═ ╕ { W Z z z Й о c @ Д в Ё q л╠   т   ц█╢╔ъ 0    ╟┬Ч├Й- @ Н Ч ~ c p Л Ю ц  ш Є ╥ я ў ╓ Д K k y Т Щ и Э { Ю ┬ ч ╒ є √  ; < ^ G { Р и н ╞ ▓ о Т 7 L B 6 - & ╤   ┌ ╥ z \ s Ч   o М ) · ╞ ╬ ┘ ╙ х   ║ ╛ ╔ е н ═ ╢ ┤ Ц ╪ └ а ═ " Ё %  7 z  l  ю  # ╞└hї╪) В z  { ш╟█q"цб_V┐k#,ў┤ %┘жEихъ}ы' 5 2 9 < З Д O R c Э л Ц В t G = @ C [ └ п k X D b P ж ╘ Т X d ╧ т K ╪  ¤█°   ъe░┘▐Є o V ' " $  ▀▒╦RG p Ы М Э t G } Х ╔ ╬ ┘ ў ╞ ╟ █ ╟ ` P j n ▓ ╨ ▒  l ж т ш ! W W G < 9 Z j И Ч { { ╝ ╛ Щ G " . R D $ № ¤ ╨ ы  ч т щ ╟  N # ╓  T k g "  ╨ ы A [ . Ї є ╦ л ╕ · (   │ · ї ╫ ╡ ч  ї Ь Е Ф ■  д е y W I Р ? Г║d '   п 4 ╗xbz─V ┴ФUK ЛN3▐`УЗb_П u╫ M V U W \ Й x C s p К ╨ в a l Е Z J I В Ч Д { - 8 B c Л и Ц Х ╤ ╜ Й М N  √¤  - ЇЕЕ╣у√ 0   , & ┌ЗЧИT З ░ Ш ╓ k > d } М └ Є   ╓ ┌ █ ╚ з ж Щ й ╦ ═ й ^ > Ж ■  3 7 @   1 1 [ z r Q b Ф ╠ │ R 6  P L  я #  ¤ > C 0 C ; C n К @ D $  Н 4   Ц p -  ┘ и й ╥ N >  к С З Ж v ╕ е # ║йщХ ▌ q ╥ ~ T e Ш Щ _ О  G N . ╟ S фщ b Е|й тт│ВЫ]к╖бO[4╩nr4А╖э# P < y л ╡ p 4 U u  у ╒ p { { q k T [ А m > " * - E r Ь ж ╞ ╧ └ Щ # ─╧╠·  !  ╔z╒ь  ў   ╧Е9^ G U k Й e / ` d m и █ ╠ ф щ ╨ ╚ ┌ Щ О м ╚ Ь D  r ё ш Ё є  ї ё   F K S V } Ц ╟ ╙ Ъ k 7 ; + ы р )   B w П з Q ' ` \ t Е ╪ / x z n > z _  ь ╣ к ╡ ■ 0 √ ╙ ┐ y  · G ╟SA IYp╞ . Ъ L @ O   р  T 8 д N L I 1 _ тВ9н┐Рч&(╠║K│─еСФМх  D | ■  г y | \ } Г Р Ы Ы  p z z Ж Р З \ J E : @ O _ z t Х Ф А r ▀^ая    чЙ╓  чнрюЇ   " √═╧U d М д y ?  n ~ w ╝ ф │ ╙ д ▌ ▐ ╠ ╥ Т ` Ш █ ╕ a 5 \ Ф а ╔ ─ ▀  ў ▀   D I q m ~ б ▒ ▒ w F d ` ' р ▌ №  P Ь ъ Ю Y e g > p Я d (  О x ╫ Ш Н Г `  Ё П в ═ щ 4  Р ╒ л R  rX√УД;с╔╡"│Дb ▀ ╓ л {  u У m Н ! " ўЎ Х230┐zОкмФВЪ^╕([╙ R Л Ь n S o Ж Є ╖ ╞ ┬ б Ш Р m e К t | М б Ч Л Г П И t Z g Г q к З l g k Ч ? ╠fиы   Єм╛ю* L ▌N─▐цЎ   ё╤╜їt ▓ Т f "  r Ф и ╟ с ╢ а О ╢ н п ж f d ├ ы ╚ Е Й { U Б ╦ ╦ ё  ц  @ B r Э ┤ ╦ Ы R & 7 2 $ √ є   6 Q З Я { i Х К | s ї └ Х Т l Ж Я Е c ╜ М  М Н l Г ╥ э ■ ф Р { А д 3 ЭmЁЕte▐╕/pC ║ к у   1 } V E ╓ o [ V # │fA9>! 0сР╚! K i a Р Ї  у л ╞ ъ Ё Ї ▄ Ю Ч ╤ й ~ Y p { ] j Ш О x Л ▓ ╦ ─ Н g В ╢ л ▒ ▓ v L ] q 0 b▐   ▀y╝∙% Y ЁЮ╫▀фцуъ█╬▌ьўP Ь А R  - Ф ╧ ╩ ╜ ░ У Й p |  Т Н 0 ^ ┴ с   ° б T t Я р = 6 № Ї   Ї L u  ^  ° K 8 ° √ є ф < f 1 W \ e Ы ╖ б } s к t F в · Ь M  1 м , Ж , D {  З ═ ў ├ Щ Е e О * сР▒rj$ 4Эc , Q  + ■ ї "  ∙ Є у _ WЮzBHWnАЕKIigЫб╘0  m П ╥  ъ & )  P 1     ╣ Н д ╒ ┴ о Ц Л М ` z ┘ т ╫ ч · т ╧ ╘ Ъ ╢ │ } n Ъ ╗ i v < ╟е╧   █ВtОу- X     ч┌╙┘┼╘щь N с ╢ ?   S д ┐ ю ┼ ┐ ╪ Г X / U o . \ ▓  = ┘ з m ( L я < %  ■ ╡ Н П ┼     ы э ! % с  Ї ў C 1 + J L O y й ═ w [ & 2 i r к Т ' ф g k ╞ л i Ъ Ю Ж l ╣ с ▄ в Й О r * )  ╗|)№╕╢MK╖уйР ╙ ╧  $ 4 % %  ╒ ╦ с Ч ^uнTф╙)г╗КСО▀ ? s R q В ╤ + х   7 p w i > B % ═ Ъ ╝ ▄ в Э Й } И К Ы т ш ═ ╥ ╤ ╒ ъ ю ▐ ╣ к ┤ ╟ є d ;  ' ш·  КXgj╦ .  - +  ╔]зХЭ╩█╩{ Ъ ├ ▌ j   V ▒ р  ╧ й ─ л Г / + ` 8 b ╗   ╩ ╟ м Е T J ═ . !  ▄ й ▓ с    № ╩ ╤ ∙ " )   Ї ( 0 &  : !  F r И I z % I Е y E  ь  щ л s Y [  Z Г И ▀ ▌ ╧ ▓ t О { Z X P a ▌═ ╧Эа>a╣\ ц B " ; Н ~ I 9 х  м 1 ╤Єи@└ЗАI ч■х H @ E p n ╠   є M k s : k В ^ { :  ╙ ╣ ╖ Ы q r p К ╢ ─ ▌ ▄ ┌ ╩ ╘ ё  ╪ │ о ╝  а 9 ( 7 '  ў° °lб╜█ % (  / Q N z┌ШNn┼┤╡e n ┬ ╓ w A З ╢ ·   п o | Л h 3 / g e л ▌ ╘ ┘ р ╫ ▓ Ю А w ═ Ў ╫ у Ё ┐ ╓ ' K G ▐ √ % 1 M  ' O ] C *   є = А S , &  < ; <  ь ▌ Ч ╟╢ к ░ Е ╢ ▒ п и W h { h ; P  I-Z═щ╫ь> ╪ ю c Ф Е ╟ ┼ g W ¤ ╨ ч П єп°иUш╬<°3 S H Ы ╖ q Б ж ┴ ▀ +  ц  V o H c L ) A 9 ї  ┴ ╟ и З З К h О ┌ ▐ E x O @ % ё ы щ Т v Ц П е  6 л ] < ╘Т╫╧∙   ? \ 4  G В  sVfС╧Ё╠п Й ж ╨ Р Ъ ь ■ + W ┬ Г h I   < ^ p ▄ ё ╔ ▒ ▄   ┤ Я k Ъ х ╞ ▒ П Й ╗ ╦  8 2  * 2 .    B * № ▐ х % C   7 j ? +  A ▐ ▌ ч ц ╧   ░ - шU К ╟ у Р В ░ к Д o 9 > [  ╧чЎtcъя< | ╓ ' 3 r ╙ √ ╡ л ` ) є т ┴ Э  ЛW-¤mъ)Аэ? g л й ┴ Є  ▀  ┐ ╗ ┤ Ю °  % X H 5 1  ╟ т & ╠ № ═ Э Ф  └ ■  ' S s U *  ╥ } Ц │ o l  N ы А D: .  ) / I { Ж A  1 ` L ╝H╧╘р ў═ ╠ ╣ ╩ ╔ ╩ ╤ # a F % ┼  b - ╙ C U L │ ║ ┴ ╣ # ┌ ╗ Ч ┼ ч й q v r н █   / ■ (  ц ї т ё  ъ к q б Ў         ш ╠ ┌   Щ Р │ Ф Ц │ ч п Ю └ ╜ П а _ J №╠чЛmёд┌Рм н H q У Ш й c c T ;   ╬ g `7рЄ▒JuгЄ6 q ╧ Ї ╠ я ф ║ ╖ Ж q Н о є  ' / 4 B   ╙ ч т N с╧x ╕ └     '  ° ╞ х м к г u В    є K uЭm╗1 d K - 2 I e { ^ - ; K 7 , ° !  ( 0  С ╖ ░ Г ┴ ┌ ╡   ! ы  ▓ g O ' ╚ P P , Д ░ ╬ з у щ ъ ╞ Ы щ ( Ъ X И С ░ ╘ ╓      $   ф ▓ ╥ ═ Л g D s ╫  № ю ¤ у ї ° ¤ х Ў ·  6  ═ б i z ъ ° ╔ ╟ х ▀ щ э √ ╓ Ў и . ╗LЕ─╡в'ЇУyМ■` 1 Х й R L B J t d C   O N ТC Ё<Й╫║╝ u У в ╢ ╪ ┐ ╡ л к д б ╨ э Ї   ╧ ╖ └ ├ ╣ и ├ ю  ; -  ў м q ╞ ░ И ╕  ъ │ ж п В ╙  ▌ _ █  * J Y C * : / J q r B ? M C E ║ " " ( . ' F ` и ж ╥ q ^ ┬ ч ╢ █ └ r N  ┼ Z c I Й ▓ └ У п ╔ у ═ б  9 н Н ╘ э н о л Б Ь ╚ ┘  E / ¤ ╙ ╖ j 8  2 а ч  ї ∙ √   Ў   ╓ ╧ ї : $  ╥ ╥ █ ж ╗ ┐ ╗ Ё   р █  є &  K ▓ЄM╥╒╝jXh*8u┤ % 8 : K Г Р ═ Ю G  п Г  cєСИщ╢ф╧ q ┼ ─ з ╟ ┼ ╣ Я ┴ ц ╜ е е е ╨ ╙ ° ╧ ┤ ╕ Ы В ╜ т Щ  3 ╖ 4 t f ( $ ы Н Ю ╡ d I ║ ╣ ╞ ╬ m A : C н ф ╦ [ 4 + ( B V I L ; 1  ) ? < 9 W P [ Л 8  0 ' ! E h Ю  ш 7 . ^ Й Н ╚ ▒ { М ┬ f s 1 @ О ╡ ╖ ░ ╨ ╪ ╠ ▄ "  √  ф ▐ ▐  ┬ z P l б  "     ╢ Q Є6 п ф   + 1   $  Ў ┬ ╘   % K  ф ╖ ╜ ┤ о ╛ ї A  к Э   $ ╒ g  <Oве▀Чe{Vо¤Птo ╒ N k з Ы в Д &  ├ И  ФV▄jз:П V Л Р й ╣ г ╜ н Л д Н g _ U c Ю ъ C  т ж Щ Э ╔ √ ║ з х № F С h  ч є ╙ └ е Х ╚ ╒ ▓ ▐ ╢ I / 6 L в ╖ } > , 1 4 ; G @ 9 - +     , E g N # , 5 %   В t У ¤ ┤   X з ┬ х ╝ ж З ▐, Z 2 > 6 В г д е ░ ┤ ║ ╤  3 " я ю ╦ ╦ ы ╚ ╗ o н ! )   % ё Ю L  9 С └  < ` a O  + 7 ё ╡ З └ э    № ╔ н ╟ ▓ │ ▐ / U ф ╩ 6 ш ╓ ╤ Т } \ЦЎ╗R¤y:╦ф~U R Д Э ╣ б г Я Л ~ \  в Q " Й╖НM|·Л ю ╥ е Я Ш Р Г Ы i @ V t x У ╚  0 , 8  ▌ ▓ Я ├ ╫ ш   P y c  ь ╒ ░ ┐ █ ╞   ° ╩ y 7 ; 1 4 u ` , ( / 8 < 3 N G 3  '  3 < 2 : 0 #  4 3     Щ f ╤ ╝ З @ = y о ╔ я щ к j "  b S ,  ) t Ы е ╖ ▒ ╕ о ╓    ▀ ╧ о ║ ▌ ╟ ─ } Я ▀ ╧ с  , Є д : + в ▌ ш a d K H ( & ) ц н ╛ █ ї · ▌   ш ▌ ы ╒ Ё  ц  b  ╚ ╙ Е Й В < ыyы┐Yъx~]█╝4b К ┼ ┼ ╠ ╝  ═ ж r R ї e 5 ЁKeMtЮ─: Щ Ю Z К в Ж Й л i + v и ╝ и √   : (   й Е н х  C V  - ц ь  %  8 ╘ б н Л T 4 6 B %  2 0 '   4 5 - P [ )  #  ! 2 . T \ 1 /  C > '   └ Г  ц б U t s Ю с я є г H % 8 i b K # ( C Е о о о ж Ю ╡ ╓ Ў с ╞ ╞ ╙ █ с Ю e ^ Ъ ж Э к ь  ┐ Й > K ┐ ш ш  ? J D 9 ) # (  с щ ю ф ┌  ц Ї № ∙   a О  ╬ л m Д Ъ b  ·d┴cqEЁ$╟и( 8 Ю ▒ ┐ р ▄ ┤ ┬ З * █ ~  ▀▌╨╔АЯТ╤¤ * ; i { ~ м ╡ л v п ╫ ╒ у + # @ 7 ° ╖  · ▌  W v [ d + э  └ щ M В p + щ u ^ c F 4 \ X - 1 ( ! #   . 4 F c ] 7  3 "  ( ) O D 7 '    [ D J K  б У э & ╦ а ╩ ╡ ф .  ╧ { ` p Б S : + ? b F k Н ж ┤ Д x Ю ╠ ф ┬ ▓ ╞ я ┴ а Е i З ╣ ╚ ╜ ╢ ╠ Щ 8 J a К з ё * 2 O C ! A > +  э ё э ╚ ▒ ╡ █   Є ╢ ═  щ : y j ) √ ╠ С ┬ ╨ Ы C - ╪А+у╪р`я;IE╗╡И j з ▌ ╚ Ч У X  ╥ в X фк5Zqu─  . > 3 C ^ Ю в в Ф к   с  %  ш ▀ щ ┌ 6 _ ] ╡ ╝ q a a N  ш г ■ ] P 1 э ╨ А p j _ s f I 6 0 $  # + # * J l z m Q + "   . M d ; 2 ' Ї L n Г q o З ▓ √ Ў  ч Є ф ┬ У ▒ К ╡ А n Щ V ] В Н Т ░ ╛ М Т р   ф ═ ё ═ Ф Э ╢ н ┼ ▌ ╔ Б A ' 0 К ╜ ╜ Э )  5 6     ь ю ╒ ╡ У ╜ щ   3  ▀ ё ▀ ╙ ╨ / X M  у ╖ Щ ╠ Ї Ъ # ┌бe4:╡xЯOг|╝Ї R е ▓ О П s Y  я ╥ ▓ . 0ў+_m│∙! H R M [ S ╣ и У ╠ ╤ ╩ √   ╧ м ╗ Y ` б К ├ М T ' 1  ╩ ▄ Ш ╦ ° ё Ї ═ ╣ v q a N Ф ] 3 6 2 3 1 $ & + , K q Й П U C Y d F L t a D N 1 ¤ч· 5 A ,  О │ ╔ ╚ °  ю ┬ ┴ с ╝ Р Ч f │ И f П Б В ▓ т ч ╞ л С ░  1  █ ├ ╪ ╤ Х Ю ┤ э т ъ ╠ a  Q ├ ╫ ╕ ╓ ы   ▌ ╥      " % ╔ ╩ ╦ ░ ж ╩  9 9  № °  ь  @ T V  ╕ к э ! ю ┐ ? ёв@% ╒кNкСє5 В о г t t m y Q 5  ° Н т┤{lЯГ┼ъ D ; X L Z ┼ ┘ ╗ Ё   F  ┼ ┘   B Y n Б K Б ;  ╪ √ !  $  ▀ х ╥ ╘ л ╡ Н a b ] ^ G C @ > < 4 ! * A D [ q Е д Z l С Й a n  C [ G ўтчў     ¤ Ї ф ╚ ї я ▐ №  ╘ м Й М г а Ь { c m Т г ╞   ▄ п ╛ ╢ щ   ш ╚ ╨ Ч Ш ╩ Ў ╥ ю  ┘ q  + Х с √ ╫ ╛ ■   ┴ ж % * ( , я ┌ ▌ ╟ ╣ й з з б ╪   ╥ ╘ █ ─ ▄ є 8  ' ▌ | s ═ ║ c Z 1 ╒СR<>╕Лa╞╪╪ї ╛ щ ╤ y v e Z \ P  ┴ Z ,  їш╚ў  5 > C F p г ъ  *    ╧ Ф с   ' ? \ c O l ? Q щ @ D Q d Q є ╦  ё ╚ у ╩ о u V M E C 4 ) & " * + F s Я г Щ д Ф } В Е y n < K B  Їш·   №     ъ ш    ▀ ╒ ░ ╓ ╘ В Ш е к г ┘ т ▐ щ ы ╖ ╚ ┴ ч ▄ ∙  ▀ А Т ╝ ╟ ╘ ∙ ў Щ @ : & М ш & 5 / . ▀ т G >  № ╧ ┐ ▀ ┬ Э П Ц г ▒ ╘ щ ┼ и └ ╓ ╖ ║ р  ╤ ╩ X   @  7 ╙├┼пЭ|s\^╓6ўлbмgо8 S ў ▐ v V ч Ў   я ╥ Й P 3 D -   5 . Y ;  N ` М у  ╫ ┌ └ ├ ╜ с   ! [ Ж s } { Г ' Z ] . ` П s G ▐  в █  ╙ k б Н = 4 3 4 . . )  2 U Р ╗ Ц ▓ а П  О { Q 9 ; 0  √√ ·¤ я¤  ў ∙   ) 0   ъ ╣ ╤ ▀ ╣ Г и О │ з ╠ р ╠ ╪ я ╦ ▄ ╛ ╦ З ╚  ═ М з ╢ ╔    ╦ v v Р v ╗ ц  F P : I  у ¤ * ! ,  ╘ ▄ ш ╡ ░ ╕ Я Ь м ║ з З p П и В n ` | u d ∙ь> n u E я═▐╗є7 W №▒ ┼\╕1Лвv+? ъ г { 6 ├ X%  я █ ╕ Е { > 6 3 o e I \ Z / + g Р с ╫ Ь ├ ї  ╖ ┤ х   @ B ^ С │ Х M   I Б h R m q m l + ) ╙ Ч ┬ е В Ч Э u L 7 @ ? 5 7 6 % $ > Ж ░ Ч v i Э Е t g J < 6   №їЎЎьс   Ё ■  * D t x 9 ╚ Щ ╗ ┴ Й ╢ К └ п ▐ 1   ш ╒ ї с Ю n А Щ О } ├ э ю  х ╢ н ╣ ▓ ¤  ' 7 $   ╙ х  є  #  ц ╔ ╥ ╞ ─ к Э ╢ г n K X N A S 7 4 J A х°U Б j | > + a Е Ч ╝ ┐ K фyv1IВx Ъ& ╬ ¤ E 1  [ ЬGї ( Ў ▌ ║ Ц м z Y R L * - [ B ? c н ▓ ╧ г л ° '  г й ║ ▌ Ў % > f н ╩ ╘ t   f u { } x > 5 6 B х П Z f V а ─ С п v E B S = 9 6 / 6 : Г и Б P @ s Н o R K O F F     №ёър 4 I $ я °  Г c  Ш П ў р е  └ Р ж   Ў ┘ ╕ ┘ ╗ В ▒ Н а К ~ ┤ ї Є ъ р л в ├ ╫ н п ╥ ▀ т ╘ ▒ ═ ╞ ╗ ╦ ═ ─ ▀  +  °  ╚ е Ц ╫ ╕ З c W G Z l c h  o 8 ` ╕ ╩ ╨ р ┬ ╥ э ╠ ╦  ┬ В : ∙# ╙+■Э═▀Ъ х х ╪ ╢ Х aК_З Є у ╓ Ц | Е М z ~ N   Q X Z Я     ╕  < T ° Г h У ╘ х   B Н Я О j C h А И Ч Ы e  °  ф k -  ¤Q Д q а о w Y K J A D _ U U V М Т k N O е ж Y c v v Q k C & . 7 + ,  √Є " 6 < ∙ ё т ф  √ ╜ Г Ъ ╨ ╩ ╘ T - √ ·  ь Ї р ░ М п Д T е б p А а ┤ ╛ Я Х С Б П Э ┐ ╞ ╤ л П ~ } q Ж Т м ┼ ╠ ╠ ╧    * . )  ╞ Ъ ╔ ╚ Ч | Ы а п Э Е { З П Н м ∙  . , F ! е } Б р ╖ Л ╬ ╠ ° М ═н┬ O w Й К q  ▓С+їZ з ╡ К Х ╟ ┬ В j Z 4 0 e а н ° : C  ╘  2  ╧ Х J Д ∙ Ї Ї  ! И М Й Б B G p а ┴ ж N ! ) Ў k   a { V Z T L W P M U Я └ R X s б Х m c Г ▓ ╝ С f C 1  F c ' ! , 0 ( 6 ? / ў  $ = '  ю ╝ ├ ж Ы Г Х ╜ ╒ ╨ Ў  ч  : % =  ╕ Ы ╡ Я Ц } w V h ┤ т ё ж Л Э Щ d f ] v ▒ Э Ъ y Д k l М ╕ ┌ щ √ Ї  7 P 0 C 8  ▌ ░ О └ ═ д Ю ╦ ▀ ╚ Й s z л к в х Z c ] 7 3 ъ 9 R Д ╞ Ь Н √ 8 3 Ї m j $ └╞ Ж ┼ з  ╫П▄2# g u У й ╖ ╥ ╒ й ^ / a ╢ ю Ї ∙ @ R A $ с ш  я │ Б M { ╡ ▀ ▄ ы 9 п С г а W 1 H Б г Ж N ? , A  s ;  8 R Z К u T R [ ^ Z n ║ ╖ i ` y В S L T o И н V   ў° #    (  ! K [ э D X J  ├ л Э ╛ м ║ Ї ф ╤ ╓ ї ╟ ╠ ? Q  ╨ └ ш ┤ Ж X  С r П ╠ @ ╦ А Т Р X Z Щ Б U Б г д и Р o л с т ц   ( N { ^ S   ╚ Й h к б В К ┼ ╫ ┘ д И У ч ¤ Щ ▀ к Х 4 ┘ а J н Е З j N Ы ц  є m б ╘x┬ёl > ╦ }  q╗А д ж ─  !   √ ╠ Х а   , 1 Y W -  ═ ╞ ╢ ╖ п Р r л ╞ ╙ у ° $ } Н Ч ▓ л ж К б З | c  ў т ┤ f  & n t з ▓ П q d b S Q w ~ z _ Ы | H J E \ К { %     ¤     є№  ; Y О Л ]  ю ╣ н ╢ ├ ╒ ■ э ░ Ь ╘  ё · э ┘ ╙ е Ц │ Й d U m ╗ Я а и ╩ А k л x d 0 , [ T V { ╜ ╣ А o е ╒ ┐ █ ■ # # . f ] G # ы и t Q Т Ы ^ x ┴ ╦ ╫ ╡ ╖ ░ ъ / u я " ) ╝ O   П Щ ▒ и ╗ ║ ▒ з ю B █ ╛ ╫s│Kо╝  ъ ┼ F бu  ╫ E j x S H 7 щ э № ; -  ) #  ш ╗ ┴ н п к н ╕ ╟    + ■ ч > Й Ж ╦ ╓ о Э к Ж ` Q  и П q x z r O m  Р Ъ г Ы З g I ` ^ [ b r █ ж t S k q Л ┼ S 4 " - 8  9  l C  ■ I < Л Э п Г ; я ┤ й ╬ ▐ ∙ є ╪ ╕ Ч ╠   4 A т Х У У к Э С  ] u R p А Y ^ b О x b  ° S  Й м Я И Д м ┴ ╩ ║ ╦ 9  ¤ ў ╩ ╫ ═ Я Х Ф i y Х m Г ╡ ╗ ╖ п ╠  H O Т № $ ┤ s T ! ╤ ┬ ў ╠ ╗ █ ▀ ¤ m p K ╝t = | Q ╩ f T $ ■ O Ф * ,  ┌  *    ∙ ш є с Щ а Ю Э Й l п є 2 C  с ] = h ─ ╖ Ж j c = ъ  в ? E N S j o U I ] v К В А Ж ` @ Z Z = 3 ┐ э н Ы u ╗ ┴ ╜ ╦ f Y 4 5 < 0 .  Ю b  ? y A Ф а о А 6 Ё ╔ ╟ ч ъ  !  в  y Ч ·  р 0  ╢ З ╖ ░ з ╢ к Ф z l 7 J w Д Е i ╡ Я Q    % Q О ╝ У Щ └ ╫ р ╬ ╖ ╝ ∙ ¤  ╪ ╔ ╥ ╢ Ъ а З { z v Ф ╞ ╛ Я ╢ √  А Г П ╥ т е Э │ б >  № ╞ р  2 [ Б U   ╛▓f└T> u Y Ы).  * i   g А / ! ' ¤ ·  ▀ ц Ї · ╙ н л Ь О Ь Г К └  ∙  Ў  ( A M g Ф Н i & ╧ Ъ д t 4 ; j s Е Ж Ц [ P Л Х v s Г e H U P W _ Ъ Л ` s  ~ а ╫ ╣ w _ B v W N ^ , ; > / R 9 T D Д б Й Ш U  э ф ы ╙ ш   ░ M R в ▌ ° ╔ ▐ └ Р В о ▒ ▓ п Л Й а Щ v а Ж { x k з ▒ П t \ >   V r t Ю ├ ═ ╠ ├ └ ╬ ь ■   ф ╙ ц ╓ а  ~ └ н К Д ╜ Щ Щ ° X O К п Щ А y a й Ё у S E < у ╢ ў & d z М E ╙ ўю<Я╟ЬД ╗ b ТЮH ┼  !  + @ $ Є щ '  ы ╙ ╤ ├ № Є   ▌ ╩ ▒ ╕ н Ь } p { │ №  % я Н Ы ╧ . w Т ╕ М ! ║ Ь y F 4 < X k P V У ^ H Е ▒ Ж | l S O N _ ж Б N Z Z c Ф o } ╝ ╠ л Й К Ч R   " # $ " $ % \ $ г Ъ Т Л j )   · └ ╫ ю ∙ ╦ @ I а ╠ ─ █ ╘ ╖ Ы ├ Ш p o К Г  ╕ ╧ ╜ в l f з ▒ ц ъ ┬ Б M _ И Б o Ч й и а д ▒ ╠ Ї   ї ╒ у ъ ╨ е Ц М ╒ ├ ь ы щ ┼ ╜ 3 B Р ╚ ╟ { / O Й П А & , M  ╛ т 5 X  1  Y ╚jor л} ъ ═ R = ╣ э  ∙ √   т   ° ╫ ╫ ╙ ю   2 Ї ┬ ╡ ├ ┴ м б Ж Ч у  ў ° ╖ x О ▓  C ; 4 ■ й } q 9 . E R T ; Y ` < A X q u p ` H L R > , , Y P V в Ф К о ╦ Ж q P = ) " 2 = 3 √ M B ┐й Т Ж Б Д S Y O ! с ц я ё └ V ` б ▌ т Ў ё ╪ ╖ № k w 2 ш ╔ ╡ л Н в ╛ ╞ з Ь К И Т └ √ ▌ ь ░ w Е ╚ ╛ й ╜ ░ б г Ь в и ч э ╧ ╬ ъ № ┘ ╝ и Э ▓ м ┴ х ф ┬ ═ # ! * Ъ ╛ l <  M Р l = 9 % A 3 ш █ · Ё ┤ м Ь _  ЬЕО]L ═ є  ї - T & щ  0 " ° ╞ щ т ╘ ╬ ╤ ╧  ¤ Ў ▀ Є щ ─ д Ь л Ю Ю Я ~ Ц ┤ И } ┐ є ┼ ╣ О ┼ 2 | \   ─ н Й q T C E @ Y i a @ Q Y e d b G 9 ? /  Ёё: O ^ Е ╗ Э ] C g Z ^ a >  ( 9 '  їсю  ╥╟ │ Я ░ е А y Y / √  -  ╪ k p У ╡ ▐   я ▀ ├  > - N 1 # я ┴ ╡ ▄ у п є  я █ н с х Ц а Д v к ╥ ц  ў ╕ Ю о Э е Ъ │ з Я ╤ ф ╬ │ Ч Х Ю С Ъ б ┬ ъ ■ & [ A . ? J Q 5 e П c G    р т ─ Ж X c f ;  ╙ФО▄yьс ▒ є    █ ┌  % й Я ╛ л ╛ р ─ с  т ╟ ю  № й o U h _ a ┐ ╓ Ъ { a W Ч ╓ ° ╛ ш  t U  ъ Ч  W + $ 3 2 L c q j c h P [ Y > +   ┌─·> G R [ b f Y ? a P C Q 9         : : ▄ ┐ └ ╪ о в н t - Ў  ,  Ю < K Х ┴ ╤ ╙ ╛ ╥ ¤ i m   Z J Є ╞ ╠ ╥ ° ё /  ь ╓ ╟ ▀ ╤ Д Д ┤ С в я ▌   ў т ь ╘ ─ и Ю й ╔ ╟ ╩ ╖ ╚ ┐ п Ю д ░ и ▐ : % D -  ( # Z Ъ Й Н У | Д 7 ■ █ ш   Ч - эч ў  ╛Жо]ИХ t ╧ ╦ з ╨ ╖ г ь  ╖ ╤ ╧ ┤ т ш ▄ ї э ╙ ц ш Ц d A ; - , X Ф i П Ы l d Ф ▒ ц █ ╫  ; ■ ╪ v S ;    & ? \ R k e m G T c K /  ╙н╬! C B A @ O f h k ^  ·ъшєїє¤  ·є  ё ╘ ╕ ╓ └ ╢ й Ш m 0  х е [ L Э  · Ё 4 X 3 $ ? R u . ╘ с · ы  ╞ ╫ ╒ █ ╘ ╥  $ х ё ╬ Т Ъ г е ▀ ╫ █ є  , ц ╕ б ╣ ь · у ╤ ╩ ╩ ╙ ┘ ┼ ╙ █ ч ( ) > J N B g Б а ▒ Ч Ж Ж p v D  ═ ╗ ь  a ра<c─ух╔╕1мJ 4 q ╢ а Ь Й Л Ў 1  я щ ╓ ё ї ё   ,   ┌ ╚ ▒ й Э l L S c  Ъ b \ I A Q h И Ф ┐ + L b k  Э e O 8   ' A ; 0 O \  t X j Q / я╩╛Ў6 A ; 7 H Z w d G ў█╞╜╞кМ╡├┼╤╫щ┼яъ ╓ ╪ ╞ ╡ █ ┼ й n L ( # · ┘ й } ╩ 0 8 Ў Є G $ 0 x w З  ╠ ш ш ∙  х ч х ╨ ╖     с я ╛ │ л М ╣   $ ї  т ╔ ┤ ╙  с ╨ ╟ ╞ ° ° ш ь   $  Ї  # B z О y h S h S 0 #  ° Т ^ v ▌О]ё3Э╢┴этCМYD } ┼ т ~ ж Я ╨ ! 2 = '  ▌ Ў ¤ ц    · ° █ ╩ ╖ ╓ ╙ ╕ y Ц Б А д V @ A D G ? b i Г ¤ ▐ Ї ∙ ╢ { ^ m L    9 O @ ,  ! F ^ O K . ё╓шє 6 : / 0 X O + / >  швУЧ7<nНв│Р\Ц┐ ┬ ╒ ║ ╢ ╠ ▒ Т *  C W E 2 ∙ ─ ┌ ¤   ё   & 3 _ m `  Є э ¤ ■ э ъ ╫ └ ╖ ю ╬ В П ╚ √ ╤ ╢ О ╖  9 9 G "  т х ь    ▀ ╒ █   ╫ Є *  '  ╓ ∙   ч  3 / 7 D #    У 5  ▒Uя╚СЪ║р╝Єhюїg ¤ ь ╧ ■   ' F Y Q 3  & є ф ¤  ў с ╩ ╕ ▄ ▌ ┼ Р н Щ Ю Ф R : Q j X @ B G c ╕ ╣ ж В { i V V J -  - F g P  ют 8 , #  ┘╛▄№ & *  & Y П 9 % N D аuXыcПчGuП~'9ж л ╞ б Я ж Т h ( * V V S .  у ╢ ╙   ё  " 3 > b J / 0 ¤ ╪ ▐ р ╔ ╣ Щ У к │ ╣ З ╪  № П Ч ▒ ╠ ; К j B  (  ¤ Ё ■ ¤ ъ с ю ў " ё є  "  ∙  ╒ ┬ ╒ Ў   ў   T ` D 4 . D   P  ╤╖╦ЩКЗ╞▐=&=█Й Ў   E q l i p h h g g F . Ё ╨ Q G  ═ ╒ ┘ ч ь █ П z Э Д U J W c x w H C U q П Ц u О m b r h S ?  8 5 &   ╠ш    ╚┤ц     Q ┘ U H z  │ЗАIЩT═)J4цз╕Sш ╧ ├ ▒ й ┤ Н e F R U 1  у ╗ р  <  ╙ є ! D G o j ] @  ф ъ ш ═ ▐ ┼ О М У а ╗ ╚ П z Ъ ═ ┬ % i G 4 G C 9 ■ ц   ·  №  +    /  D  ░ ║  g )  ' п ф d Б x d c J ш Я Й H ><c╝евц УЛШ П   4 p О e H ` Z b Ж П 9 Ї  I ^ B  ╒   )   ┤ Ц | ` M C ^ А а П ^ g _ W В З ~ k T D e z k K , S J   цў  ┼к╫√ +  ■ў, P N O c L ў_"╓oWЭ╩╨ЫЧ√│└ ╠ ╝ ╚ ├ ┼ И J : D T K 5   ■ щ  √ ъ ╙ ╠ ∙ N Z y к С R $ ∙  ї ╠ ▄ ц ┐ ░ й Ъ │ ╨ С Й й ┤ ╗ ╪  >  @ d 8 l S ( S K  √  J 5 4 (  " C 7    d 4   ─ ┤ Є В c M F 3  ╥ ┌ ╖ z  ╘КЮ┤└ХNИ▌┌╚╧& Х 5 p и m A O V \ Г В s K 2 7 ; c Y ^ q G ч   ╠ ║ ╡ М b V o b X ] О Б d u O L d z o ^ I ? X F T U 3 9 ?     # '   ·╝Ю╣╙  ё╒▌   Є 2 ·YЁЦPLf╥G╗│°CДО ┤ ╗ ┌ █ ╧ ╗ Р w  П x X D . M N J < ¤ ╤ ╨ ╓  Y  P o w = & C 4 ь ─ ┤ ╜ ┼ ╣ А | Я Р Д Ь ╖ ┌ · &  т Ё M 5  В G 8 Q Y W %  ¤ * A    є ! 8 B c d Ў  ─  П н 4  0 ■ у ў  ╞ a "  ТБ├Ъ$у] X . 2 g ┤ \ в Ю U Z a i Р Х Г О { t l [ ╟ и f c u .  с ж Ф Ч ^ P m Б Д d _ ` a c [ 6 Q n d Y M 4 D л Ж 8 2 2     # B   5 !  ╩▒й▓╥╓╠╠▀яў    ЭDч╖Бjм7oI·э \Ф| м ╕ ╨ ┌ ▀ ▌ ╣ ╜ ╜ │ З { e v й Ч О t 8   ё & E X g d j O > L >  ╘ ▓ ж ═  ╤ Я Б } j С ▄ A ^ ь ╬ ю L ( ё  °  ъ < j u ;    2  ! Ї ┬  Ї  K ' K j Z G q ╗ б o n b ( , 2  ╘ I █Эе╦зH>╤e Ч c X z ╥ " p д Ц d Y G m ║ С М | m x [ Z Е i - 5 c D 0 ё о а Г j \ X [ y А t g ` a R > Z b T H 8 ' @ f i A  ¤тї  ё     √Ў╧╕а╢п╠╤ч√є .  ╡нwЇр√║┐rВm17m─r У й ┴ ╜ ╤ т ┤ ╨ ╘ ╛ Я Ю Л й ╖ м ╜ Ц \ / √  @ X Д m l ^ Z ] T  э ╩ й Ё s 4 ╙ Ч ч є ь 0 y [ & °   ═ ▒ ╓ ■  Т л z k   6   3 ё   ш Ў { k f l k i f Х p @ O    ц Т L H ∙┼╠┘╛П╖S ╕ ╕ { p д \ О ╗ С Г y { Ш ▓ б Я О Л r H ; , @ #  я ═ ╠ л И к █ е q Ц в ~ h a d P @ I H : /    ? a  ёыщє у═сЄ  ф┘╚╛жФж╠уфт∙  х╚ЪЮ╞эсgЦЮЕ^]yк─` К Ф С ▓ ╖ ║ к ─ ▀ ╥ Р Е Й в Х о ╕ Ъ i R _ ? ? J X k V \ j z ` L  ▀ ╠ ┐  Е  с ё Z { О ` e T    ' " № ■  . G s ╝ Ь Ф J G B · я ы р   И ▓ z _ D C B U T H 1  ё ї ў ° ╞ Х I °лмчёфс, К ╗ ╠ ╪ н ▌ C Й м в Ъ А w z е ╟ ░ x I q \ .   ¤ ╘ ┘ ┴ ╖ ▓ Ш r n Е | s y ~ w u a a V K ? D = 1    / ` !    ь°╘╜┤═  ▐═╝йЦРл┬┬ є h  ─╨╜Г╡cеРЎZЦеиНm[}`e Г d p Х Ц к ╡ └ ╞ п Д p Б О [ [ Й x v b W a = ( : W W X H s { B Є ┘ ╬ ╠ ъ @ %  P И О П M 8 @ # " M !   ¤   B ? 1 о ╒ й Р H № ╒ т ъ є + D z Ш d > = " /   ( L L 2   Є ╫ ┼ p хЩ╔ъ 5 8 h Э ┬ √ B  √ 8 | М h y d V t з │ О $ 1  Ё   є · ╛ Ы │ У  h В | ] X ` s q Р Ц Ч w j ^ X W f d J &  ' / '  ющ│ЪШ╖тя╥╘╩┤оФаХж  , v ╠┘бFЧJАГ╓;о╗иАtbhC5fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/data/sample_ref.raw.hdr000066400000000000000000000001561473255640600264000ustar00rootroot00000000000000ENVI samples = 200 lines = 100 bands = 1 header offset = 0 data type = 12 interleave = bsq byte order = 0 fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/000077500000000000000000000000001473255640600226505ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/jpegls_compress_error_case.c000066400000000000000000000106111473255640600304160ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "fcicomp_jpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" // Error case for the compression of a test image int jpeglsCompressErrorCase(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != 6) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName // char * outFile = argv[FCI_TWO]; // Parameters int samples = atoi(argv[FCI_THREE]); int lines = atoi(argv[4]); int bpp = atoi(argv[5]); // ------------------------------------------ // Read the input RAW file // ------------------------------------------ // Number of samples in the input image size_t nSamples = samples * lines; // Compute the size of one sample in bytes int nBytes = (bpp > 0) ? (((bpp - 1) / 8) + 1) : 0; // Size of the input buffer size_t inSize = nSamples * nBytes; // Allocate memory char *inBuf = (char *) malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Open the file FILE * pFile = fopen(inFile, "rb"); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Read the file size_t nBytesRead = fread(inBuf, 1, inSize, pFile); if (nBytesRead != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Set the JPEG-LS parameters // ------------------------------------------ // Define the JPEG-LS coding parameters jls_parameters_t jlsParams = { 0, 0, 0, 0,{ 0, 0, 0, 0, 0}}; // Allocate memory for the compressed buffer size_t outSize = inSize; // Allocate memory char *outBuf = (char *) malloc(outSize); if (outBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // ------------------------------------------------------------ // Perform JPEG-LS compression with invalid JPEG-LS parameters // ------------------------------------------------------------ // Set the JPEG-LS parameters // Provoke an error: set wrong JPEG-LS parameters jlsParams.bit_per_sample = 32; jlsParams.components = 1; // Compress size_t compressedSize = 0; int result = jpeglsCompress(outBuf, outSize, &compressedSize, inBuf, inSize, samples, lines, jlsParams); if ((result != FJLS_INVALID_JPEGLS_PARAMETERS) && (result != FJLS_UNSUPPORTED_JPEGLS_PARAMETERS)) { // As we provoke an error, jpeglsCompress should return a positive error code ERR_TEST(EXIT_FAILURE, "The expected error has not occurred!\n"); } // // ------------------------------------------------------------ // // Perform JPEG-LS compression with invalid JPEG-LS parameters // // ------------------------------------------------------------ // // // Set the JPEG-LS parameters // // Provoke an error: set wrong JPEG-LS parameters // jlsParams->bit_per_sample = 16; // jlsParams->components = 5; // // // Compress // result = jpeglsCompress(outBuf, outSize, &compressedSize, inBuf, inSize, // samples, lines, jlsParams); // if (result != FJLS_INVALID_JPEGLS_PARAMETERS) { // // As we provoke an error, jpeglsCompress should return a positive error code // fputs("The expected error has not occurred!\n", stderr); // return EXIT_FAILURE; // } // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(inBuf); free(outBuf); // We had the expected error => exit with the success status return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/jpegls_compress_nominal.c000066400000000000000000000105521473255640600277330ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "fcicomp_jpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" // Margin factor on the compressed buffer size. This allows allocating // slightly more memory than necessary for the cases where the compression is // not efficient e.g. noise image. Otherwise a buffer overflow may occur in // CharLS and also a potential seg fault. #define COMPRESSED_BUFFER_SIZE_MARGIN_FACTOR 1.2 // Nominal compression of a test image int jpeglsCompressNominal(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != 6) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName char * outFile = argv[FCI_TWO]; // Parameters int samples = atoi(argv[FCI_THREE]); int lines = atoi(argv[4]); int bpp = atoi(argv[5]); // ------------------------------------------ // Read the input RAW file // ------------------------------------------ // Number of samples in the input image size_t nSamples = samples * lines; // Compute the size of one sample in bytes int nBytes = (bpp > 0) ? (((bpp - 1) / 8) + 1) : 0; // Size of the input buffer size_t inSize = nSamples * nBytes; // Allocate memory void *inBuf = malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Open the file FILE * pFile = fopen(inFile, "rb"); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Read the file size_t nBytesRead = fread(inBuf, 1, inSize, pFile); if (nBytesRead != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Set the JPEG-LS parameters // ------------------------------------------ // Define the JPEG-LS coding parameters jls_parameters_t jlsParams = { 0, 0, 0, 0,{ 0, 0, 0, 0, 0}}; // Set the JPEG-LS coding parameters jlsParams.bit_per_sample = 8*nBytes; jlsParams.components = 1; // ------------------------------------------ // Perform JPEG-LS compression // ------------------------------------------ // Size of the output buffer // Allocate slightly more memory than necessary for the case the // compression is not efficient e.g. noise image. Otherwise this could // provoke a buffer overflow and a potential seg fault. size_t outSize = COMPRESSED_BUFFER_SIZE_MARGIN_FACTOR * nSamples * nBytes; // Allocate memory void *outBuf = malloc(outSize); if (outBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Compress size_t compressedSize = 0; int result = jpeglsCompress(outBuf, outSize, &compressedSize, inBuf, inSize, samples, lines, jlsParams); if (result != FJLS_NOERR) { ERR_TEST(EXIT_FAILURE, "Error during the compression!\n"); } // ------------------------------------------ // Write the output file // ------------------------------------------ // Open the file in the write mode pFile = fopen(outFile, FCI_WRITE); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_W); } // Write the data into the file size_t nBytesWritten = fwrite(outBuf, 1, compressedSize, pFile); if (nBytesWritten != compressedSize) { ERR_TEST(EXIT_FAILURE, ERROR_WRITING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(inBuf); free(outBuf); return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/jpegls_decompress_error_case.c000066400000000000000000000066341473255640600307410ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "fcicomp_jpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" // Error case for the decompression of a test image int jpeglsDecompressErrorCase(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != FCI_TWO) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Input FileName char * inFile = argv[FCI_ONE]; // ------------------------------------------ // Read the input JLS file // ------------------------------------------ // Open the file FILE * pFile = fopen(inFile, "rb"); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Obtain file size fseek(pFile, 0, SEEK_END); size_t inSize = ftell(pFile); // Replace the pointer at the beginning of the file rewind(pFile); // Allocate memory to read the compressed file char *inBuf = (char *) malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Read the compressed file size_t nBytesRead = fread(inBuf, 1, inSize, pFile); if (nBytesRead != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Read the input JLS header // ------------------------------------------ // Define the JPEG-LS coding parameters jls_parameters_t jlsParams = { 0, 0, 0, 0,{ 0, 0, 0, 0, 0}}; // Read JPEG-LS header to get the image parameters int samples = 0; int lines = 0; if (jpeglsReadHeader(inBuf, inSize, &samples, &lines, &jlsParams) != FJLS_NOERR) { ERR_TEST(EXIT_FAILURE, "Error reading the JPEG-LS header!\n"); } // ------------------------------------------ // Perform JPEG-LS decompression // ------------------------------------------ // Provoke an error: do not allocate enough memory for the output decompressed image size_t outSize = 1; // Allocate memory char *outBuf = (char *) malloc(outSize); if (outBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Decompress if (jpeglsDecompress(outBuf, outSize, inBuf, inSize) != FJLS_UNCOMPRESSED_BUFER_TOO_SMALL) { // As we provoke an error, jpeglsDecompress should return a positive error code ERR_TEST(EXIT_FAILURE, "The expected error has not occurred!\n"); } // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(inBuf); free(outBuf); // The expected error has happened => exit with the success status return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/jpegls_decompress_nominal.c000066400000000000000000000076751473255640600302600ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "fcicomp_jpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" // Nominal decompression of a test image int jpeglsDecompressNominal(int argc, char* argv[]) { // ------------------------------------------ // Parse the input arguments // ------------------------------------------ // Check the number of input arguments if (argc != FCI_THREE) { ERR_TEST(EXIT_FAILURE, INVALID_NUMBER_ARGUMENTS); } // Get the input arguments // Input FileName char * inFile = argv[FCI_ONE]; // Output FileName char * outFile = argv[FCI_TWO]; // ------------------------------------------ // Read the input JLS file // ------------------------------------------ // Open the file FILE * pFile = fopen(inFile, "rb"); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_R); } // Obtain file size fseek(pFile, 0, SEEK_END); size_t inSize = ftell(pFile); // Replace the pointer at the beginning of the file rewind(pFile); // Allocate memory to read the compressed file char *inBuf = (char *) malloc(inSize); if (inBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Read the compressed file size_t nBytesRead = fread(inBuf, 1, inSize, pFile); if (nBytesRead != inSize) { ERR_TEST(EXIT_FAILURE, ERROR_READING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Read the input JLS header // ------------------------------------------ // Define the JPEG-LS coding parameters jls_parameters_t jlsParams = { 0, 0, 0, 0,{ 0, 0, 0, 0, 0}}; // Read JPEG-LS header to get the image parameters int samples = 0; int lines = 0; if (jpeglsReadHeader(inBuf, inSize, &samples, &lines, &jlsParams) != FJLS_NOERR) { ERR_TEST(EXIT_FAILURE, "Error reading the JPEG-LS header!\n"); } // ------------------------------------------ // Perform JPEG-LS decompression // ------------------------------------------ // Number of samples in the input image size_t nSamples = samples * lines; // Number of bytes int bpp = jlsParams.bit_per_sample; int nBytes = (bpp > 0) ? (((bpp - 1) / 8) + 1) : 0; // Size of the output buffer size_t outSize = nSamples * nBytes; // Allocate memory for the decompressed image short *outBuf = (short *) malloc(outSize); if (outBuf == NULL) { ERR_TEST(EXIT_FAILURE, MEMORY_ALLOCATION_ERROR); } // Decompress if (jpeglsDecompress(outBuf, outSize, inBuf, inSize) != FJLS_NOERR) { ERR_TEST(EXIT_FAILURE, "Error during the decompression!\n"); } // ------------------------------------------ // Write the output file // ------------------------------------------ // Open the file in the write mode pFile = fopen(outFile, FCI_WRITE); if (pFile == NULL) { ERR_TEST(EXIT_FAILURE, CANNOT_OPEN_FILE_W); } // Write the data into the file size_t nBytesWritten = fwrite(outBuf, 1, outSize, pFile); if (nBytesWritten != outSize) { ERR_TEST(EXIT_FAILURE, ERROR_WRITING_FILE); } // Close the file fclose(pFile); // ------------------------------------------ // Cleanup // ------------------------------------------ // Free memory free(inBuf); free(outBuf); return EXIT_SUCCESS; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/jpegls_read_header_error_case.c000066400000000000000000000030711473255640600310100ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include "fcicomp_jpegls.h" #include "fcicomp_errors.h" #include "fcicomp_options.h" #define ERROR_MSG "The expected error has not occurred!\n" // Error case for reader JPEGLS header in an image int jpeglsReadHeaderErrorCase(void) { // Read JPEG-LS header to get the image parameters int samples = 0; int lines = 0; int result = EXIT_SUCCESS; // Provoke an error: do not provide any input data if (jpeglsReadHeader(NULL, 0, &samples, &lines, NULL) != FJLS_INVALID_COMPRESSED_DATA) { // As we provoke an error, jpeglsReadHeader should return a positive error code fputs(ERROR_MSG, stderr); result = EXIT_FAILURE; } // The expected error has happened => exit with the success status return result; } fcidecomp-2.1.1/src/fcidecomp/fcicomp-jpegls/test/src/jpegls_test.c000066400000000000000000000062011473255640600253360ustar00rootroot00000000000000// ============================================================= // // Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) // // 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. // // ============================================================= // AUTHORS: // - THALES Services #include #include #include #include "fcicomp_options.h" static const char* JPEG_COMPRESS_NOMINAL_TEST = "jpeglsCompressNominal"; static const char* JPEG_COMPRESS_NOISE_TEST = "jpeglsCompressNoise"; static const char* JPEG_DECOMPRESS_NOISE_TEST = "jpeglsDecompressNoise"; static const char* JPEG_DECOMPRESS_NOMINAL_TEST = "jpeglsDecompressNominal"; // static const char* JPEG_COMPRESS_ERROR_CASE = "jpeglsCompressErrorCase"; static const char* JPEG_READ_HEADER_ERROR_CASE = "jpeglsReadHeaderErrorCase"; static const char* JPEG_DECOMPRESS_ERROR_CASE = "jpeglsDecompressErrorCase"; // Declare the tests // Compress nominal int jpeglsCompressNominal(int argc, char* argv[]); // Decompress nominal int jpeglsDecompressNominal(int argc, char* argv[]); // Compress error case // int jpeglsCompressErrorCase(int argc, char* argv[]); // Read header error case int jpeglsReadHeaderErrorCase(void); // Decompress error case int jpeglsDecompressErrorCase(int argc, char* argv[]); // Main test function int main(int argc, char* argv[]) { int result = EXIT_FAILURE; // Get the test name char * testName = argv[FCI_ONE]; // Call the test functions if (strcmp(testName, JPEG_COMPRESS_NOMINAL_TEST) == 0) { // launch the test result = jpeglsCompressNominal(argc-1, argv+1); } if (strcmp(testName, JPEG_COMPRESS_NOISE_TEST) == 0) { // launch the test // use the same program as for the jpeglsCompressNominal test result = jpeglsCompressNominal(argc-1, argv+1); } if (strcmp(testName, JPEG_DECOMPRESS_NOISE_TEST) == 0) { // launch the test // use the same program as for the jpeglsDecompressNominal test result = jpeglsDecompressNominal(argc-1, argv+1); } if (strcmp(testName, JPEG_DECOMPRESS_NOMINAL_TEST) == 0) { // launch the test result = jpeglsDecompressNominal(argc-1, argv+1); } // if (strcmp(testName, JPEG_COMPRESS_ERROR_CASE) == 0) { // launch the test // result = jpeglsCompressErrorCase(argc-1, argv+1); // } if (strcmp(testName, JPEG_READ_HEADER_ERROR_CASE) == 0) { // launch the test result = jpeglsReadHeaderErrorCase(); } if (strcmp(testName, JPEG_DECOMPRESS_ERROR_CASE) == 0) { // launch the test result = jpeglsDecompressErrorCase(argc-1, argv+1); } return result; } fcidecomp-2.1.1/src/fcidecomp/fcidecomp-test/000077500000000000000000000000001473255640600211065ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcidecomp-test/data/000077500000000000000000000000001473255640600220175ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/fcidecomp-test/data/sample.nc000066400000000000000000000274721473255640600236360ustar00rootroot00000000000000ЙHDF          :/0├┌TдOHDR ┤"                         $number_of_columnsяФU ows%effective_radianceЕ" ЦOHDR !  dв                         +CLASSDIMENSION_SCALE ZNAME@This is a netCDF dimension but not a netCDF variable. 30┐qФOHDR <<!  Sв                         +CLASSDIMENSION_SCALE ZNAME@This is a netCDF dimension but not a netCDF variable. 60╬э&СOHDR C$<< +А R} HDF5 JPEG-LS filter<0<                         \DIMENSION_LIST00{oн┴OCHK        x |0REFERENCE_LIST6datasetdimension ИзnWМ    x l0REFERENCE_LIST6datasetdimension ┼Ё,^OHDR $<< +  R} HDF5 JPEG-LS filter<Q$<                        щj6Т{ЩOCHK!number_of_rows  pixel_qualityИ K;╝OCHK \DIMENSION_LIST00ъВ└OCHK        Ё |0REFERENCE_LIST6datasetdimension И ╙\@GCOLяя`TREE                щh"< ╪ ў < °   C@ ┌а А0 А└`000000000` А` БББЗР @А@@@@@@@@@Б @БЗР @БAAAAAA!╘AA!BД!BД!@─!BД!ИИИИИИИИА#hИИИИИИИТI$ТIЪI$ТI$ТI*ки╩кккккп└&  @%▀  @K?  к  ~г  x o  `)?  в  ~Г  x я  `N ■╫  p&?  1  | o  `J ■O  `T  ~/  `R  ~  `P  ~  `P  ~я  `N  ~ ▀  A;  x& ■ Я  A3  x& ■ Я  A3  x% ■ _  A+  x% ■ _  A+  x% ■ _  A#  x$ ■   AG  pQ  | ■ ?  П  `г  x(  ~ ┘TREE                ▒Й.< ╪ ў < ┌ ┬╩  y┴  \  {  Г  ┴  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р  р ┘fcidecomp-2.1.1/src/fcidecomp/fcidecomp-test/data/sample_ref.txt000066400000000000000000000421651473255640600247050ustar00rootroot00000000000000netcdf sample { dimensions: number_of_columns = 30 ; number_of_rows = 60 ; variables: short effective_radiance(number_of_rows, number_of_columns) ; ubyte pixel_quality(number_of_rows, number_of_columns) ; data: effective_radiance = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1455, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1485, 1486, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1610, 1611, 1612, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643, 1644, 1645, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712, 1713, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799 ; pixel_quality = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29 ; } fcidecomp-2.1.1/src/fcidecomp/fcidecomp-test/postInstallationTest.sh000077500000000000000000000102121473255640600256500ustar00rootroot00000000000000#!/bin/bash # ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl set -o nounset set -o errexit # Perform FCI decompression software post-installation tests. # # Usage: # # $ ./postInstallationTest.sh # NC_DUMP="ncdump" # Get the path to that script SCRIPT_PATH=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) # Define the data directory DATA_DIR=${SCRIPT_PATH}/data # Define the end user simulator input NC_FILE=${DATA_DIR}/sample.nc # Define the ncdump outputs NC_DUMP_OUT_DIR=${DATA_DIR} OUTPUT_FILE=${DATA_DIR}/sample.txt # Define the reference data files SAMPLE_REF=${DATA_DIR}/sample_ref.txt # ==================================================================== # Print the usage # ==================================================================== function usage { echo "Usage: $0" 1>&2 exit 1 } # ==================================================================== # Print the help # ==================================================================== function help { echo "Check that the installation of the FCIDECOMP software is correct." echo "" echo "This script uses ncdump utility to read the data inside the" echo " compressed netCDF file and checks that the data are correct" echo " by comparing the extracted data with the reference data." echo "" usage $@ } # ==================================================================== # Return 0 if the command exist # ==================================================================== function command_exists () { type "$1" &> /dev/null ; } # ==================================================================== # Exit failure function # ==================================================================== function exit_failure { echo "*** FAIL: Post-installation test failed! ***" exit 1; } # ==================================================================== # Parse the input arguments # ==================================================================== function parse_inputs { # check the input number of arguments # otherwise print the usage if [[ $# -gt 1 ]]; then usage return 0 fi if [[ $# -ge 1 ]]; then # check the first argument case ${1:-} in -h|--help) help ;; *) # default usage ;; esac fi } # ==================================================================== # Main # ==================================================================== function main { # Parse the input command line parse_inputs $@ # Check that ncdump program exists ! command_exists $NC_DUMP && { echo "Error: $NC_DUMP cannot be run. Check your installation of netCDF and set ncdump utility in your PATH environment variable." ; exit_failure ; } # Create the commmand line for the enduser simulator echo "$NC_DUMP: Reading file: $NC_FILE ..." cmd="${NC_DUMP} ${NC_FILE}" $cmd > $OUTPUT_FILE || { echo "${NC_DUMP}: Error reading file: $NC_FILE" ; exit_failure ; } echo "Comparing the output files to the reference files:" echo " Comparing $OUTPUT_FILE" echo " to $SAMPLE_REF" # Compare the output radiance data file to the reference file diff -q $OUTPUT_FILE $SAMPLE_REF || { echo "Error: the output file does not match the reference file!"; echo $OUTPUT_FILE echo $SAMPLE_REF exit_failure ; } echo "*** SUCCESS! ***" return 0 } # Launch the main function main $@ fcidecomp-2.1.1/src/fcidecomp/gen/000077500000000000000000000000001473255640600167515ustar00rootroot00000000000000fcidecomp-2.1.1/src/fcidecomp/gen/Version.txt000066400000000000000000000000311473255640600211310ustar00rootroot00000000000000VERSION_NUMBER=2.0.0-rc1 fcidecomp-2.1.1/src/fcidecomp/gen/build.bat000066400000000000000000000111751473255640600205450ustar00rootroot00000000000000:: ============================================================= :: :: Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) :: :: 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. :: :: ============================================================= :: AUTHORS: :: - B-Open Solutions srl :: get module to build, mode and following cmake options @echo off for /f "tokens=1-2*" %%a in ("%*") do ( set module=%%a set mode=%%b set cmake_options=%%c ) @echo on :: If the FCICOMP_ROOT environment variable is not set, set the default one: the upper directory of this script IF NOT DEFINED FCICOMP_COTS_ROOT ( pushd %BASH_SOURCE%\.. set FCICOMP_ROOT=%cd% popd ) :: Define the build directory set BUILD_DIR=%FCICOMP_ROOT%\build\%module% :: Test only if "%mode%"=="test" if exist %BUILD_DIR% ( :: If the building directory already exists :: do not build but run the unit tests cd %BUILD_DIR% ctest --output-on-failure if errorlevel 1 (exit 1) else ( goto :end2 ) ) :: Check that the building folder does not already exists if exist %BUILD_DIR% ( echo "Remove the %BUILD_DIR% folder first!" exit 1 ) :: Create the building folder and move into it if not exist %BUILD_DIR% ( mkdir %BUILD_DIR% if errorlevel 1 ( echo "Error: cannot create the building directory: %BUILD_DIR%." exit 1 ) ) cd %BUILD_DIR% :: Message echo "Building %module% ..." set modevalid=nn if "%mode%"=="test" ( set modevalid=yy :: Build in release mode with tests enable cmake -G "Ninja" %cmake_options% -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON %FCICOMP_ROOT%\%module% if errorlevel 1 ( echo "Error configuring %module%." exit 1 ) cmake --build . if errorlevel 1 ( echo "Error building %module%." exit 1 ) ctest --output-on-failure if errorlevel 1 ( echo "Error during the test of %module%." exit 1 ) ) if "%mode%"=="debug" ( set modevalid=yy :: Build in debug mode cmake -G "Ninja" %cmake_options% -DCMAKE_BUILD_TYPE=Debug %FCICOMP_ROOT%\%module% if errorlevel 1 ( echo "Error configuring %module%." exit 1 ) cmake --build . if errorlevel 1 ( echo "Error building %module%." exit 1 ) ctest --output-on-failure if errorlevel 1 ( echo "Error during the test of %module%." exit 1 ) ) if "%mode%"=="memcheck" ( set modevalid=yy :: Build in debug mode with test enable and memory check cmake -G "Ninja" %cmake_options% -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DMEMORY_CHECK=ON %FCICOMP_ROOT%\%module% if errorlevel 1 ( echo "Error configuring %module%." exit 1 ) cmake --build . if errorlevel 1 ( echo "Error building %module%." exit 1 ) ctest --output-on-failure -T memcheck if errorlevel 1 ( echo "Error during the test of %module%." exit 1 ) ) if "%mode%"=="coverage" ( set modevalid=yy :: Build in debug mode with test enable and test coverage cmake -G "Ninja" %cmake_options% -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DCOVERAGE_TESTING=ON %FCICOMP_ROOT%\%module% if errorlevel 1 ( echo "Error configuring %module%." exit 1 ) cmake --build . if errorlevel 1 ( echo "Error building %module%." exit 1 ) ctest --output-on-failure if errorlevel 1 ( echo "Error during the test of %module%." exit 1 ) ctest -T coverage if errorlevel 1 ( echo "Error during the test of %module%." exit 1 ) ) if "%mode%"=="release" ( set modevalid=yy :: Build in release mode echo cmake %cmake_options% -DCMAKE_BUILD_TYPE=Release %FCICOMP_ROOT%\%module% cmake -G "Ninja" %cmake_options% -DCMAKE_BUILD_TYPE=Release %FCICOMP_ROOT%\%module% if errorlevel 1 ( echo "Error configuring %module%." exit 1 ) cmake --build . if errorlevel 1 ( echo "Error building %module%." exit 1 ) ) if "%modevalid%"=="nn" ( echo "%BASH_SOURCE%: Unknown building mode: %mode%." rmdir /s/q "%BUILD_DIR%" exit 1 ) :end2fcidecomp-2.1.1/src/fcidecomp/gen/build.sh000077500000000000000000000115111473255640600204060ustar00rootroot00000000000000#!/bin/bash # ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # Script to build a module of the FCICOMP software. # # Usage: ./build.sh [module] [mode] [cmake-options] # with module in {fcicomp-jpegls, fcicomp-necdf-ext, fcicomp-test, ...} # mode in: {release, debug, test, coverage, memcheck} # and cmake-options are passed to the cmake command line. # # The FCICOMP_ROOT environment variable should be set before launching # this script. It tells the location of the root of the FCICOMP # software. It should be point on the upper directory of this script: # gen/.. # # This script launches cmake using the CMakeList.txt script at the in # the module directory. The software is build in ${FCICOMP_ROOT}/build # directory. Then it launches the build calling "make" and optionally # run the unit tests calling "ctest". # # Example: # ./build.sh fcicomp-jpegls release \ # -DCMAKE_PREFIX_PATH=/data/TEC_COMMON/external/charls/V_1_0 \ # -DCMAKE_INSTALL_PREFIX=/usr/local # # AUTHORS: # - THALES Services # - B-Open Solutions srl set -o nounset set -o errexit # Get the module to build module=$1 # Get the building mode mode=$2 # Get cmake options shift 2 cmake_options=$@ # If the FCICOMP_ROOT environment variable is not set, set the default # one: the upper directory of this script if [[ -z ${FCICOMP_ROOT:-} ]]; then FCICOMP_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd ) fi # Define the build directory BUILD_DIR=${FCICOMP_ROOT}/build/${module} # Test only if [[ "$mode" == "test" ]] && [[ -d $BUILD_DIR ]]; then # If the building directory already exists # Do not build but run the unit tests cd $BUILD_DIR ctest --output-on-failure exit $? fi # Check that the building folder does not already exists [[ -e $BUILD_DIR ]] && { echo "Remove the $BUILD_DIR folder first!"; exit 1; } # Create the building folder and move into it mkdir -p $BUILD_DIR || { echo "Error: cannot create the building directory: ${BUILD_DIR}." 1>&2 ; exit 1; } cd $BUILD_DIR # Message echo "Building $module ..." if [[ "$mode" == "test" ]]; then # Build in release mode with tests enable cmake $cmake_options -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=ON ${FCICOMP_ROOT}/${module} \ || { echo "Error configuring ${module}." 1>&2 ; exit 1; } make VERBOSE=1 || { echo "Error building ${module}." 1>&2 ; exit 1; } ctest --output-on-failure || { echo "Error during the test of ${module}." 1>&2 ; exit 1; } elif [[ "$mode" == "debug" ]]; then # Build in debug mode cmake $cmake_options -DCMAKE_BUILD_TYPE=Debug ${FCICOMP_ROOT}/${module} \ || { echo "Error configuring ${module}." 1>&2 ; exit 1; } make VERBOSE=1 || { echo "Error building ${module}." 1>&2 ; exit 1; } ctest --output-on-failure || { echo "Error during the test of ${module}." 1>&2 ; exit 1; } elif [[ "$mode" == "memcheck" ]]; then # Build in debug mode with test enable and memory check cmake $cmake_options -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DMEMORY_CHECK=ON ${FCICOMP_ROOT}/${module} \ || { echo "Error configuring ${module}." 1>&2 ; exit 1; } make VERBOSE=1 || { echo "Error building ${module}." 1>&2 ; exit 1; } ctest --output-on-failure -T memcheck || { echo "Error during the test of ${module}." 1>&2 ; exit 1; } elif [[ "$mode" == "coverage" ]]; then # Build in debug mode with test enable and test coverage cmake $cmake_options -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTING=ON -DCOVERAGE_TESTING=ON ${FCICOMP_ROOT}/${module} \ || { echo "Error configuring ${module}." 1>&2 ; exit 1; } make VERBOSE=1 || { echo "Error building ${module}." 1>&2 ; exit 1; } ctest --output-on-failure || { echo "Error during the test of ${module}." 1>&2 ; exit 1; } ctest -T coverage || { echo "Error during the test of ${module}." 1>&2 ; exit 1; } elif [[ "$mode" == "release" ]]; then # Build in release mode cmake $cmake_options -DCMAKE_BUILD_TYPE=Release ${FCICOMP_ROOT}/${module} \ || { echo "Error configuring ${module}." 1>&2 ; exit 1; } make VERBOSE=1 || { echo "Error building ${module}." 1>&2 ; exit 1; } else echo "${BASH_SOURCE[0]}: Unknown building mode: $mode." 2>&1 rm -rf $BUILD_DIR exit 1 fi fcidecomp-2.1.1/src/fcidecomp/gen/install.bat000077500000000000000000000053611473255640600211170ustar00rootroot00000000000000:: ============================================================= :: :: Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) :: :: 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. :: :: ============================================================= :: AUTHORS: :: - B-Open Solutions srl @echo on :: Get the module to build SET MODULE=%1 :: If the FCICOMP_ROOT environment variable is not set, set the default one: the upper directory of this script IF NOT DEFINED FCICOMP_COTS_ROOT ( pushd %BASH_SOURCE%\.. SET "FCICOMP_ROOT=%cd%" popd ) :: Define the build directory SET "BUILD_DIR=%FCICOMP_ROOT%\build\%MODULE%" :: Move to the build directory cd %BUILD_DIR% echo "Installing %MODULE% ..." :: Perform the install CALL cmake --install . || goto :error SET "INSTALL_MANIFEST=%BUILD_DIR%\install_manifest.txt" SET "CMAKECACHE_FILE=%BUILD_DIR%\CMakeCache.txt" echo manifest: "%INSTALL_MANIFEST%" , cmakecache: "%CMAKECACHE_FILE%" IF NOT EXIST "%INSTALL_MANIFEST%" ( echo Warning: The file install_manifest.txt has not been found in the building directory %BUILD_DIR%. goto :EOF ) :: here exists the install manifest IF NOT EXIST "%CMAKECACHE_FILE%" ( echo Error: Cannot find file: %CMAKECACHE_FILE%. goto :error ) :: here exists the cmake cache file FOR /f "tokens=2 delims==" %%a IN ('find "CMAKE_INSTALL_PREFIX:PATH=" "%CMAKECACHE_FILE%"') DO @set cmakeinstallprefixraw=%%a IF NOT DEFINED cmakeinstallprefixraw ( echo Warning: Cannot copy the install_manifest.txt file to the install directory: Install directory is not known. goto :EOF ) :: here cmakeinstallprefixraw is defined; it is a unix-style path SET "cmakeinstallprefix=%cmakeinstallprefixraw:/=\%" SET "DEST_DIR=%cmakeinstallprefix%\share\cmake" SET "DEST_DIRraw=%cmakeinstallprefixraw%/share/cmake" SET "DEST=%DEST_DIR%\%MODULE%_install_manifest.txt" SET "DESTraw=%DEST_DIRraw%/%MODULE%_install_manifest.txt" echo destdir: "%DEST_DIR%", dest: "%DEST%" IF NOT EXIST %DEST_DIR% ( echo Creating directory %DEST_DIR% mkdir %DEST_DIR% ) echo.>>"%INSTALL_MANIFEST%" echo %DESTraw%>>"%INSTALL_MANIFEST%" echo -- Copying: %INSTALL_MANIFEST% to %DEST% copy /y %INSTALL_MANIFEST% %DEST% goto :EOF :error echo Failed with error #%errorlevel%. exit 1 fcidecomp-2.1.1/src/fcidecomp/gen/install.sh000077500000000000000000000126101473255640600207560ustar00rootroot00000000000000#!/bin/bash # ============================================================= # # Copyright 2015-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - THALES Services # - B-Open Solutions srl # Script to install a module of the FCICOMP software. # # Usage: ./install.sh [module] # with module in {fcicomp-jpegls, fcicomp-necdf-ext, fcicomp-test, ...} # # The FCICOMP_ROOT environment variable should be set before launching # this script. It tells the location of the root of the FCICOMP # software. It should be point on the upper directory of this script: # gen/.. # # This script should be called after the ${FCICOMP_ROOT}/gen/build.sh # script used to build the module. # # This script launches "make install" in the module build directory: # ${FCICOMP_ROOT}/build/module. # # It also copies the install_manifest.txt file in the install directory. # # Example: # ./install.sh fcicomp-jpegls # set -o nounset set -o errexit # define programs used AWK="awk" # Get the module to build MODULE=$1 # If the FCICOMP_ROOT environment variable is not set, set the default # one: the upper directory of this script if [[ -z ${FCICOMP_ROOT:-} ]]; then FCICOMP_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd ) fi # Define the build directory BUILD_DIR=${FCICOMP_ROOT}/build/${MODULE} # Move to the build directory cd $BUILD_DIR # ==================================================================== # This function reads the input file and returns the value # corresponding to the input key # ==================================================================== function get_key_value() { local key=$1 local file=$2 # Get the line corresponding to that key in input file # and return an error if the line does not exist local line=$(cat $file | $AWK -v key="$key" "/^$key[ ]*=.*$/") || { echo "Error: the required field \"$key\" does not exist in the file: $file"; exit 1; } # Extract the value at the right side of the "=" local value=$(echo $line | $AWK -F "=" '{print $2}') || { echo "Error: cannot read the value of \"$key\" in the file: $file"; exit 1; } # Check that the value is not empty [[ "x$value" == "x" ]] && { echo "Error: cannot read the value of \"$key\" in the file: $file"; exit 1; } # Return the value echo $value } # ==================================================================== # Try to read the install_prefix in the CMakeCahe.txt file # ==================================================================== function get_install_prefix() { # output variable local __install_prefix=$1 # Define the CMakeCahe.txt file cmakecahe_file=${BUILD_DIR}/CMakeCache.txt if [[ -f ${cmakecahe_file} ]]; then # Locate the CMAKE_INSTALL_PREFIX in the CMakeCache.txt file install_prefix=$(get_key_value "CMAKE_INSTALL_PREFIX:PATH" $cmakecahe_file) # Return the install_prefix eval $__install_prefix="$install_prefix" else echo "Error: Cannot find file: ${cmakecahe_file}." fi } # ==================================================================== # Copy the install_manifest.txt file # from the building directory to the install directory # ==================================================================== function copy_install_manifest() { # Define the install_manifest.txt file install_manifest_file=${BUILD_DIR}/install_manifest.txt if [[ -f ${install_manifest_file} ]]; then # Try to read the install_prefix in the CMakeCahe.txt file get_install_prefix install_prefix if ! [[ -z ${install_prefix:-} ]]; then # Define the destination file and directory dest_dir=${install_prefix}/share/cmake dest=${dest_dir}/${MODULE}_install_manifest.txt # Create the destination directory if it does not exist [[ ! -e $dest_dir ]] && { echo "Creating directory $dest_dir"; mkdir -p $dest_dir; } # Append one line in the install_manifest.txt file echo $dest >> ${install_manifest_file} # Copy the install_manifest.txt file echo "-- Copying: ${install_manifest_file} to ${dest}" cp ${install_manifest_file} ${dest} else echo "Warning: Cannot copy the install_manifest.txt file to the install directory: Install directory is not known." fi else echo "Warning: The file install_manifest.txt has not been found in the building directory ${BUILD_DIR}." fi } # ==================================================================== # Main function # ==================================================================== function main() { # Message echo echo "Installing $MODULE ..." # Perform the install make install VERBOSE=1 || { echo "Error: cannot install ${MODULE}." 1>&2 ; exit 1; } # Copy the install_manifest.txt file from the building directory to the install directory copy_install_manifest } main $@fcidecomp-2.1.1/tests/000077500000000000000000000000001473255640600146225ustar00rootroot00000000000000fcidecomp-2.1.1/tests/test_CLI_TC_01_01.py000066400000000000000000000063521473255640600200360ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl """ This test checks that JPEG-LS compressed MTG FCI L1C products are correctly decompressed using the netCDF4 tool ``nccopy`` by comparing bands in the decompressed file with the same bands in a reference output. """ import os import subprocess import netCDF4 as nc import numpy as np import pytest TEST_DATA_PATH = os.environ.get("EPCT_TEST_DATA_DIR", "") INPUT_PATH = os.path.join(TEST_DATA_PATH, "MTG", "MTGFCIL1") COMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N_JLS_T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N_JLS_T_0072_0021.nc" )] DECOMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N__T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N__T_0072_0021.nc" )] BANDS = [ "ir_105", "ir_123", "ir_133", "ir_38", "ir_87", "ir_97", "nir_13", "nir_16", "nir_22", "vis_04", "vis_05", "vis_06", "vis_08", "vis_09", "wv_63", "wv_73" ] VARIABLES = [ "effective_radiance", "pixel_quality", "index_map" ] def test_decompression(tmpdir): assert "HDF5_PLUGIN_PATH" in os.environ.keys() for (comp_test_file, decomp_test_file) in zip(COMP_FILEPATH, DECOMP_FILEPATH): decomp_res_file = os.path.join(tmpdir, os.path.basename(decomp_test_file)) process = subprocess.run( f"nccopy -F none {comp_test_file} {decomp_res_file}", shell=True ) decomp_file_size = os.path.getsize(decomp_res_file) comp_file_size = os.path.getsize(comp_test_file) assert os.path.isfile(decomp_res_file) assert decomp_file_size > (comp_file_size * 4) ds_test = nc.Dataset(decomp_test_file, "r") ds_res = nc.Dataset(decomp_res_file, "r") for band in BANDS: for variable in VARIABLES: array_test = ds_test[f"data/{band}/measured/{variable}"][:] array_res = ds_res[f"data/{band}/measured/{variable}"][:] assert np.ma.allequal(array_test, array_res) fcidecomp-2.1.1/tests/test_PY_TC_01_01.py000066400000000000000000000055361473255640600177620ustar00rootroot00000000000000# ============================================================= # # Copyright 2021-2023, European Organisation for the Exploitation of Meteorological Satellites (EUMETSAT) # # 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. # # ============================================================= # AUTHORS: # - B-Open Solutions srl """ This test checks that JPEG-LS compressed MTG FCI L1C products are correctly decompressed when opened using the Python library ``netCDF4``, by comparing bands in the decompressed file with the same bands in a reference output. """ import os import netCDF4 as nc import numpy as np import pytest import fcidecomp TEST_DATA_PATH = os.environ.get("EPCT_TEST_DATA_DIR", "") INPUT_PATH = os.path.join(TEST_DATA_PATH, "MTG", "MTGFCIL1") COMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N_JLS_T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY--" "DIS-NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N_JLS_T_0072_0021.nc" )] DECOMP_FILEPATH = [os.path.join(INPUT_PATH, file_name) for file_name in ( "W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405000845_GTT_DEV_20200405000330_20200405000345_N__T_0001_0015.nc", "W_XX-EUMETSAT-Darmstadt_IMG+SAT_MTI1+FCI-1C-RRAD-FDHSI-FD--CHK-BODY---" "NC4E_C_EUMT_20200405120015_GTT_DEV_20200405115500_20200405115515_N__T_0072_0021.nc" )] BANDS = [ "ir_105", "ir_123", "ir_133", "ir_38", "ir_87", "ir_97", "nir_13", "nir_16", "nir_22", "vis_04", "vis_05", "vis_06", "vis_08", "vis_09", "wv_63", "wv_73" ] VARIABLES = [ "effective_radiance", "pixel_quality", "index_map" ] def test_decompression(): assert "HDF5_PLUGIN_PATH" in os.environ.keys() for (comp_test_file, decomp_test_file) in zip(COMP_FILEPATH, DECOMP_FILEPATH): with nc.Dataset(decomp_test_file, "r") as ds_test, nc.Dataset(comp_test_file, "r") as ds_res: for band in BANDS: for variable in VARIABLES: array_test = ds_test[f"data/{band}/measured/{variable}"][:] array_res = ds_res[f"data/{band}/measured/{variable}"][:] assert np.ma.allequal(array_test, array_res)