pax_global_header00006660000000000000000000000064136152623110014512gustar00rootroot0000000000000052 comment=f90160de8c0cff3c627eaae2994f6cec142e6f7c visualization.spectrum-3.0.3-Leia/000077500000000000000000000000001361526231100171275ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/.gitignore000066400000000000000000000010421361526231100211140ustar00rootroot00000000000000# build artifacts build/ visualization.*/addon.xml # Debian build files debian/changelog debian/files debian/*.log debian/*.substvars debian/.debhelper/ debian/tmp/ debian/kodi-visualization-*/ obj-x86_64-linux-gnu/ # commonly used editors # vim *.swp # Eclipse *.project *.cproject .classpath *.sublime-* .settings/ # KDevelop 4 *.kdev4 # gedit *~ # CLion /.idea # clion .idea/ # to prevent add after a "git format-patch VALUE" and "git add ." call /*.patch # to prevent add if project code opened by Visual Studio over CMake file .vs/ visualization.spectrum-3.0.3-Leia/.travis.yml000066400000000000000000000023471361526231100212460ustar00rootroot00000000000000language: cpp # # Define the build matrix # # Travis defaults to building on Ubuntu Precise when building on # Linux. We need Trusty in order to get up to date versions of # cmake and g++. # env: global: - app_id=visualization.spectrum matrix: include: - os: linux dist: xenial sudo: required compiler: gcc - os: linux dist: xenial sudo: required compiler: clang - os: osx osx_image: xcode9.3 before_install: - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y libgl1-mesa-dev; fi # # The addon source is automatically checked out in $TRAVIS_BUILD_DIR, # we'll put the Kodi source on the same level # before_script: - cd $TRAVIS_BUILD_DIR/.. - git clone --branch Leia --depth=1 https://github.com/xbmc/xbmc.git - cd ${app_id} && mkdir build && cd build - mkdir -p definition/${app_id} - echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt - cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons script: make visualization.spectrum-3.0.3-Leia/CMakeLists.txt000066400000000000000000000041701361526231100216710ustar00rootroot00000000000000cmake_minimum_required(VERSION 3.5) project(visualization.spectrum) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}) find_package(Kodi REQUIRED) if(WIN32) set(APP_RENDER_SYSTEM dx11) add_definitions(-DDIRECTX_SPEKTRUM_EXPORTS -D_WIN32PC -D_USRDLL) set(SHADER_FILES src/DefaultVertexShader.hlsl src/DefaultPixelShader.hlsl) set(SHADER_INCLUDES) foreach( SHADER_FILE ${SHADER_FILES} ) get_filename_component( FileName ${SHADER_FILE} NAME_WE ) if(${FileName} MATCHES "(.+Vertex.+)") set(ShaderType vs) elseif(${FileName} MATCHES "(.+Pixel.+)") set(ShaderType ps) else() message(FATAL_ERROR ${SHADER_FILE}": Unknown shader type.") endif() set( IncFile src/${FileName}.inc ) list( APPEND SHADER_INCLUDES ${IncFile} ) add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/${IncFile} COMMAND fxc /nologo /T${ShaderType}_4_0_level_9_1 /Vn ${FileName}Code /Fh ${IncFile} ${SHADER_FILE} MAIN_DEPENDENCY ${SHADER_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} VERBATIM) endforeach(SHADER_FILE) add_custom_target(generate ALL DEPENDS ${SHADER_INCLUDES}) set(SPECTRUM_SOURCES src/directx_spectrum.cpp) else() find_package(glm REQUIRED) if(APP_RENDER_SYSTEM STREQUAL "gl" OR NOT APP_RENDER_SYSTEM) find_package(OpenGl REQUIRED) set(DEPLIBS ${OPENGL_LIBRARIES}) set(INCLUDES ${OPENGL_INCLUDE_DIR}) add_definitions(${OPENGL_DEFINITIONS}) elseif(APP_RENDER_SYSTEM STREQUAL "gles") find_package(OpenGLES REQUIRED) set(DEPLIBS ${OPENGLES_LIBRARIES}) set(INCLUDES ${OPENGLES_INCLUDE_DIR}) add_definitions(${OPENGLES_DEFINITIONS}) endif() set(SPECTRUM_SOURCES src/opengl_spectrum.cpp) include_directories(${GLM_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/lib) endif() message(STATUS "Configured render system: ${APP_RENDER_SYSTEM}") include_directories(${INCLUDES} ${KODI_INCLUDE_DIR}/..) # Hack way with "/..", need bigger Kodi cmake rework to match right include ways (becomes done in future) build_addon(visualization.spectrum SPECTRUM DEPLIBS) include(CPack) visualization.spectrum-3.0.3-Leia/COPYING000066400000000000000000001045131361526231100201660ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . visualization.spectrum-3.0.3-Leia/FindOpenGLES.cmake000066400000000000000000000036361361526231100223160ustar00rootroot00000000000000#.rst: # FindOpenGLES # ------------ # Finds the OpenGLES2 and OpenGLES3 library # # This will define the following variables: # # OPENGLES_FOUND - system has OpenGLES # OPENGLES_INCLUDE_DIRS - the OpenGLES include directory # OPENGLES_LIBRARIES - the OpenGLES libraries # OPENGLES_DEFINITIONS - the OpenGLES definitions # if(CORE_PLATFORM_NAME_LC STREQUAL rbpi) set(_brcmprefix brcm) endif() if(PKG_CONFIG_FOUND) pkg_check_modules(PC_OPENGLES ${_brcmprefix}glesv2 QUIET) endif() if(NOT CORE_SYSTEM_NAME STREQUAL ios AND NOT CORE_SYSTEM_NAME STREQUAL darwin_embedded) find_path(OPENGLES_INCLUDE_DIR GLES2/gl2.h PATHS ${PC_OPENGLES_INCLUDEDIR}) find_library(OPENGLES_gl_LIBRARY NAMES ${_brcmprefix}GLESv2 PATHS ${PC_OPENGLES_LIBDIR}) else() find_library(OPENGLES_gl_LIBRARY NAMES OpenGLES PATHS ${CMAKE_OSX_SYSROOT}/System/Library PATH_SUFFIXES Frameworks NO_DEFAULT_PATH) set(OPENGLES_INCLUDE_DIR ${OPENGLES_gl_LIBRARY}/Headers) endif() find_path(OPENGLES3_INCLUDE_DIR GLES3/gl3.h) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(OpenGLES REQUIRED_VARS OPENGLES_gl_LIBRARY OPENGLES_INCLUDE_DIR) find_path(OPENGLES3_INCLUDE_DIR GLES3/gl3.h PATHS ${PC_OPENGLES_INCLUDEDIR}) if(OPENGLES_FOUND) set(OPENGLES_LIBRARIES ${OPENGLES_gl_LIBRARY}) if(OPENGLES3_INCLUDE_DIR) set(OPENGLES_INCLUDE_DIRS ${OPENGLES_INCLUDE_DIR} ${OPENGLES3_INCLUDE_DIR}) set(OPENGLES_DEFINITIONS -DHAS_GLES=3) mark_as_advanced(OPENGLES_INCLUDE_DIR OPENGLES3_INCLUDE_DIR OPENGLES_gl_LIBRARY) else() set(OPENGLES_INCLUDE_DIRS ${OPENGLES_INCLUDE_DIR}) set(OPENGLES_DEFINITIONS -DHAS_GLES=2) mark_as_advanced(OPENGLES_INCLUDE_DIR OPENGLES_gl_LIBRARY) endif() endif() visualization.spectrum-3.0.3-Leia/FindOpenGl.cmake000066400000000000000000000024071361526231100221210ustar00rootroot00000000000000#.rst: # FindOpenGl # ---------- # Finds the FindOpenGl library # # This will define the following variables:: # # OPENGL_FOUND - system has OpenGl # OPENGL_INCLUDE_DIRS - the OpenGl include directory # OPENGL_LIBRARIES - the OpenGl libraries # OPENGL_DEFINITIONS - the OpenGl definitions if(PKG_CONFIG_FOUND) pkg_check_modules(PC_OPENGL gl QUIET) endif() if(NOT CORE_SYSTEM_NAME STREQUAL osx) find_path(OPENGL_INCLUDE_DIR GL/gl.h PATHS ${PC_OPENGL_gl_INCLUDEDIR}) find_library(OPENGL_gl_LIBRARY NAMES GL PATHS ${PC_OPENGL_gl_LIBDIR}) else() find_library(OPENGL_gl_LIBRARY NAMES OpenGL PATHS ${CMAKE_OSX_SYSROOT}/System/Library PATH_SUFFIXES Frameworks NO_DEFAULT_PATH) set(OPENGL_INCLUDE_DIR ${OPENGL_gl_LIBRARY}/Headers) endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(OpenGl REQUIRED_VARS OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR) if(OPENGL_FOUND) set(OPENGL_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR}) set(OPENGL_LIBRARIES ${OPENGL_gl_LIBRARY}) set(OPENGL_DEFINITIONS -DHAS_GL=1) endif() mark_as_advanced(OPENGL_INCLUDE_DIR OPENGL_gl_LIBRARY) visualization.spectrum-3.0.3-Leia/Jenkinsfile000066400000000000000000000000351361526231100213110ustar00rootroot00000000000000buildPlugin(version: "Leia") visualization.spectrum-3.0.3-Leia/README.md000066400000000000000000000031441361526231100204100ustar00rootroot00000000000000# visualization.spectrum addon for Kodi This is a [Kodi](https://kodi.tv) visualization addon. [![Build Status](https://travis-ci.org/xbmc/visualization.spectrum.svg?branch=Leia)](https://travis-ci.org/xbmc/visualization.spectrum/branches) [![Build Status](https://ci.appveyor.com/api/projects/status/github/xbmc/visualization.spectrum?branch=Leia&svg=true)](https://ci.appveyor.com/project/xbmc/visualization-spectrum?branch=Leia) ![screenshot](https://raw.githubusercontent.com/xbmc/visualization.spectrum/Leia/visualization.spectrum/resources/screenshot-01.jpg) ## Build instructions When building the addon you have to use the correct branch depending on which version of Kodi you're building against. If you want to build the addon to be compatible with the latest kodi `master` commit, you need to checkout the branch with the current kodi codename. Also make sure you follow this README from the branch in question. ### Linux The following instructions assume you will have built Kodi already in the `kodi-build` directory suggested by the README. 1. `git clone --branch Leia https://github.com/xbmc/xbmc.git` 2. `git clone --branch Leia https://github.com/xbmc/visualization.spectrum.git` 3. `cd visualization.spectrum && mkdir build && cd build` 4. `cmake -DADDONS_TO_BUILD=visualization.spectrum -DADDON_SRC_PREFIX=../.. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../xbmc/kodi-build/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons` 5. `make` The addon files will be placed in `../../xbmc/kodi-build/addons` so if you build Kodi from source and run it directly the addon will be available as a system addon. visualization.spectrum-3.0.3-Leia/appveyor.yml000066400000000000000000000022711361526231100215210ustar00rootroot00000000000000version: BuildNr.{build} image: Visual Studio 2017 shallow_clone: true clone_folder: c:\projects\visualization.spectrum environment: app_id: visualization.spectrum matrix: - GENERATOR: "Visual Studio 15" CONFIG: Release - GENERATOR: "Visual Studio 15 Win64" CONFIG: Release - GENERATOR: "Visual Studio 15 Win64" CONFIG: Release WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.16299.0" - GENERATOR: "Visual Studio 15 ARM" CONFIG: Release WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.16299.0" build_script: - cd .. - git clone --branch Leia --depth=1 https://github.com/xbmc/xbmc.git - cd %app_id% - mkdir build - cd build - mkdir -p definition\%app_id% - echo %app_id% %APPVEYOR_BUILD_FOLDER% %APPVEYOR_REPO_COMMIT% > definition\%app_id%\%app_id%.txt - cmake -T host=x64 -G "%GENERATOR%" %WINSTORE% -DADDONS_TO_BUILD=%app_id% -DCMAKE_BUILD_TYPE=%CONFIG% -DADDONS_DEFINITION_DIR=%APPVEYOR_BUILD_FOLDER%/build/definition -DADDON_SRC_PREFIX=../.. -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons - cmake --build . --config %CONFIG% --target %app_id% visualization.spectrum-3.0.3-Leia/debian/000077500000000000000000000000001361526231100203515ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/debian/changelog.in000066400000000000000000000003001361526231100226210ustar00rootroot00000000000000kodi-visualization-spectrum (#PACKAGEVERSION#-#TAGREV#~#DIST#) #DIST#; urgency=low [ kodi ] * autogenerated dummy changelog -- Nobody Sat, 01 Jun 2013 00:59:22 +0200 visualization.spectrum-3.0.3-Leia/debian/compat000066400000000000000000000000021361526231100215470ustar00rootroot000000000000009 visualization.spectrum-3.0.3-Leia/debian/control000066400000000000000000000013321361526231100217530ustar00rootroot00000000000000Source: kodi-visualization-spectrum Priority: extra Maintainer: Nobody Build-Depends: debhelper (>= 9.0.0), cmake, kodi-addon-dev, libgles2-mesa-dev [arm64 armhf], libgl1-mesa-dev [i386 amd64], libglm-dev Standards-Version: 4.1.2 Section: libs Homepage: http://kodi.tv Package: kodi-visualization-spectrum Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Spectrum visualizer for Kodi Spectrum visualizer for Kodi Package: kodi-visualization-spectrum-dbg Section: debug Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: debug symbols for Spectrum visualizer for Kodi debug symbols for Spectrum visualizer for Kodi visualization.spectrum-3.0.3-Leia/debian/copyright000066400000000000000000000036171361526231100223130ustar00rootroot00000000000000Format: http://dep.debian.net/deps/dep5 Upstream-Name: visualization.spectrum Files: * Copyright: 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies 2005-2020 Team Kodi License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". Files: debian/* Copyright: 2013 Arne Morten Kvarving 2013 wsnipex 2005-2020 Team Kodi License: GPL-2+ This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". visualization.spectrum-3.0.3-Leia/debian/kodi-visualization-spectrum.install000066400000000000000000000000261361526231100274240ustar00rootroot00000000000000usr/lib/* usr/share/* visualization.spectrum-3.0.3-Leia/debian/rules000077500000000000000000000013101361526231100214240ustar00rootroot00000000000000#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 %: dh $@ override_dh_auto_configure: dh_auto_configure -- -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DUSE_LTO=1 override_dh_strip: dh_strip --dbg-package=kodi-visualization-spectrum-dbg override_dh_installdocs: dh_installdocs --link-doc=kodi-visualization-spectrum visualization.spectrum-3.0.3-Leia/debian/source/000077500000000000000000000000001361526231100216515ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/debian/source/format000066400000000000000000000000141361526231100230570ustar00rootroot000000000000003.0 (quilt) visualization.spectrum-3.0.3-Leia/depends/000077500000000000000000000000001361526231100205515ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/depends/common/000077500000000000000000000000001361526231100220415ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/depends/common/glm/000077500000000000000000000000001361526231100226205ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/depends/common/glm/flags.txt000066400000000000000000000001501361526231100244510ustar00rootroot00000000000000-DGLM_TEST_ENABLE_CXX_11=1 -DGLM_TEST_ENABLE=0 -DGLM_TEST_ENABLE_SIMD_SSE2=0 -DCMAKE_INSTALL_LIBDIR=lib visualization.spectrum-3.0.3-Leia/depends/common/glm/glm.sha256000066400000000000000000000001011361526231100243210ustar00rootroot000000000000003a073eb8f3be07cee74481db0e1f78eda553b554941e405c863ab64de6a2e954 visualization.spectrum-3.0.3-Leia/depends/common/glm/glm.txt000066400000000000000000000000711361526231100241360ustar00rootroot00000000000000glm https://github.com/g-truc/glm/archive/0.9.9.4.tar.gz visualization.spectrum-3.0.3-Leia/depends/osx/000077500000000000000000000000001361526231100213625ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/depends/osx/glm/000077500000000000000000000000001361526231100221415ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/depends/osx/glm/flags.txt000066400000000000000000000001501361526231100237720ustar00rootroot00000000000000-DGLM_TEST_ENABLE_CXX_11=1 -DGLM_TEST_ENABLE=0 -DGLM_TEST_ENABLE_SIMD_SSE2=1 -DCMAKE_INSTALL_LIBDIR=lib visualization.spectrum-3.0.3-Leia/depends/osx/glm/glm.sha256000066400000000000000000000001011361526231100236420ustar00rootroot000000000000003a073eb8f3be07cee74481db0e1f78eda553b554941e405c863ab64de6a2e954 visualization.spectrum-3.0.3-Leia/depends/osx/glm/glm.txt000066400000000000000000000000711361526231100234570ustar00rootroot00000000000000glm https://github.com/g-truc/glm/archive/0.9.9.4.tar.gz visualization.spectrum-3.0.3-Leia/lib/000077500000000000000000000000001361526231100176755ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/lib/kodi/000077500000000000000000000000001361526231100206235ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/lib/kodi/gui/000077500000000000000000000000001361526231100214075ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/lib/kodi/gui/gl/000077500000000000000000000000001361526231100220115ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/lib/kodi/gui/gl/GL.h000066400000000000000000000065151361526231100224730ustar00rootroot00000000000000/* * Copyright (C) 2005-2019 Team Kodi * This file is part of Kodi - https://kodi.tv * * SPDX-License-Identifier: GPL-2.0-or-later * See LICENSES/README.md for more information. */ #pragma once //============================================================================== /// /// \defgroup cpp_kodi_gui_gl Kodi OpenGL helpers /// \ingroup cpp_kodi_gui /// \brief Auxiliary functions for Open GL /// /// This group includes help for definitions, functions, and classes for /// OpenGL. /// /// To use OpenGL for your system, add the \ref GL.h "#include ". /// /// ///----------------------------------------------------------------------------- /// /// The \ref HAS_GL is declared if Open GL is required and \ref HAS_GLES if Open GL /// Embedded Systems (ES) is required, with ES the version is additionally given /// in the definition, this can be "2" or "3". /// /// ///----------------------------------------------------------------------------- /// /// Following \ref GL_TYPE_STRING define can be used, for example, to manage /// different folders for GL and GLES and make the selection easier. /// This are on OpenGL **"`GL`"** and on Open GL|ES **"`GLES`"**. /// **Example:** /// ~~~~~~~~~~~~~~~~~{.cpp} /// kodi::GetAddonPath("resources/shaders/" GL_TYPE_STRING "/frag.glsl"); /// ~~~~~~~~~~~~~~~~~ /// /// ///---------------------------------------------------------------------------- /// /// In addition, \ref BUFFER_OFFSET is declared in it which can be used to give an /// offset on the array to GL. /// **Example:** /// ~~~~~~~~~~~~~~~~~{.cpp} /// const struct PackedVertex { /// float position[3]; // Position x, y, z /// float color[4]; // Color r, g, b, a /// } vertices[3] = { /// { { -0.5f, -0.5f, 0.0f }, { 1.0f, 0.0f, 0.0f, 1.0f } }, /// { { 0.5f, -0.5f, 0.0f }, { 0.0f, 1.0f, 0.0f, 1.0f } }, /// { { 0.0f, 0.5f, 0.0f }, { 0.0f, 0.0f, 1.0f, 1.0f } } /// }; /// /// glVertexAttribPointer(m_aPosition, 3, GL_FLOAT, GL_FALSE, sizeof(PackedVertex), BUFFER_OFFSET(offsetof(PackedVertex, position))); /// glEnableVertexAttribArray(m_aPosition); /// /// glVertexAttribPointer(m_aColor, 4, GL_FLOAT, GL_FALSE, sizeof(PackedVertex), BUFFER_OFFSET(offsetof(PackedVertex, color))); /// glEnableVertexAttribArray(m_aColor); /// ~~~~~~~~~~~~~~~~~ #if HAS_GL #define GL_TYPE_STRING "GL" // always define GL_GLEXT_PROTOTYPES before include gl headers #if !defined(GL_GLEXT_PROTOTYPES) #define GL_GLEXT_PROTOTYPES #endif #if defined(TARGET_LINUX) #include #include #elif defined(TARGET_FREEBSD) #include #elif defined(TARGET_DARWIN) #include #include #elif defined(WIN32) #error Use of GL under Windows is not possible #endif #elif HAS_GLES >= 2 #define GL_TYPE_STRING "GLES" #if defined(WIN32) #error Use of GLES under Windows is not possible #elif defined(TARGET_DARWIN) #if HAS_GLES == 3 #include #include #else #include #include #endif #else #if HAS_GLES == 3 #include #include #else #include #include #endif #endif #endif #ifndef BUFFER_OFFSET #define BUFFER_OFFSET(i) ((char *)nullptr + (i)) #endif visualization.spectrum-3.0.3-Leia/lib/kodi/gui/gl/Shader.h000066400000000000000000000247351361526231100234030ustar00rootroot00000000000000/* * Copyright (C) 2005-2019 Team Kodi * This file is part of Kodi - https://kodi.tv * * SPDX-License-Identifier: GPL-2.0-or-later * See LICENSES/README.md for more information. */ #pragma once #include "GL.h" #include #include #include #include #include #define LOG_SIZE 1024 #define GLchar char namespace kodi { namespace gui { namespace gl { //======================================================================== /// CShader - base class class ATTRIBUTE_HIDDEN CShader { public: CShader() = default; virtual ~CShader() = default; virtual bool Compile(const std::string& extraBegin = "", const std::string& extraEnd = "") = 0; virtual void Free() = 0; virtual GLuint Handle() = 0; bool LoadSource(const std::string& file) { char buffer[16384]; kodi::vfs::CFile source; if (!source.OpenFile(file)) { kodi::Log(ADDON_LOG_ERROR, "CShader::%s: Failed to open file '%s'", __FUNCTION__, file.c_str()); return false; } size_t len = source.Read(buffer, sizeof(buffer)); m_source.assign(buffer); m_source[len] = 0; source.Close(); return true; } bool OK() { return m_compiled; } protected: std::string m_source; std::string m_lastLog; bool m_compiled = false; }; //------------------------------------------------------------------------ //======================================================================== /// CVertexShader class ATTRIBUTE_HIDDEN CVertexShader : public CShader { public: CVertexShader() = default; ~CVertexShader() override { Free(); } void Free() override { if (m_vertexShader) glDeleteShader(m_vertexShader); m_vertexShader = 0; } bool Compile(const std::string& extraBegin = "", const std::string& extraEnd = "") override { GLint params[4]; Free(); m_vertexShader = glCreateShader(GL_VERTEX_SHADER); GLsizei count = 0; const char *sources[3]; if (!extraBegin.empty()) sources[count++] = extraBegin.c_str(); if (!m_source.empty()) sources[count++] = m_source.c_str(); if (!extraEnd.empty()) sources[count++] = extraEnd.c_str(); glShaderSource(m_vertexShader, count, sources, nullptr); glCompileShader(m_vertexShader); glGetShaderiv(m_vertexShader, GL_COMPILE_STATUS, params); if (params[0] != GL_TRUE) { GLchar log[LOG_SIZE]; glGetShaderInfoLog(m_vertexShader, LOG_SIZE, nullptr, log); kodi::Log(ADDON_LOG_ERROR, "CVertexShader::%s: %s", __FUNCTION__, log); fprintf(stderr, "CVertexShader::%s: %s\n", __FUNCTION__, log); m_lastLog = log; m_compiled = false; } else { GLchar log[LOG_SIZE]; glGetShaderInfoLog(m_vertexShader, LOG_SIZE, nullptr, log); m_lastLog = log; m_compiled = true; } return m_compiled; } GLuint Handle() override { return m_vertexShader; } protected: GLuint m_vertexShader = 0; }; //------------------------------------------------------------------------ //======================================================================== /// CPixelShader class ATTRIBUTE_HIDDEN CPixelShader : public CShader { public: CPixelShader() = default; ~CPixelShader() { Free(); } void Free() override { if (m_pixelShader) glDeleteShader(m_pixelShader); m_pixelShader = 0; } bool Compile(const std::string& extraBegin = "", const std::string& extraEnd = "") override { GLint params[4]; Free(); if (m_source.length()==0) return true; m_pixelShader = glCreateShader(GL_FRAGMENT_SHADER); GLsizei count = 0; const char *sources[3]; if (!extraBegin.empty()) sources[count++] = extraBegin.c_str(); if (!m_source.empty()) sources[count++] = m_source.c_str(); if (!extraEnd.empty()) sources[count++] = extraEnd.c_str(); glShaderSource(m_pixelShader, count, sources, 0); glCompileShader(m_pixelShader); glGetShaderiv(m_pixelShader, GL_COMPILE_STATUS, params); if (params[0] != GL_TRUE) { GLchar log[LOG_SIZE]; glGetShaderInfoLog(m_pixelShader, LOG_SIZE, nullptr, log); kodi::Log(ADDON_LOG_ERROR, "CPixelShader::%s: %s", __FUNCTION__, log); fprintf(stderr, "CPixelShader::%s: %s\n", __FUNCTION__, log); m_lastLog = log; m_compiled = false; } else { GLchar log[LOG_SIZE]; glGetShaderInfoLog(m_pixelShader, LOG_SIZE, nullptr, log); m_lastLog = log; m_compiled = true; } return m_compiled; } GLuint Handle() override { return m_pixelShader; } protected: GLuint m_pixelShader = 0; }; //------------------------------------------------------------------------ //======================================================================== /// CShaderProgram class ATTRIBUTE_HIDDEN CShaderProgram { public: CShaderProgram() = default; CShaderProgram(const std::string &vert, const std::string &frag) { LoadShaderFiles(vert, frag); } virtual ~CShaderProgram() { ShaderFree(); } bool LoadShaderFiles(const std::string &vert, const std::string &frag) { if (!kodi::vfs::FileExists(vert) || !m_pVP.LoadSource(vert)) { kodi::Log(ADDON_LOG_ERROR, "%s: Failed to load '%s'", __func__, vert.c_str()); return false; } if (!kodi::vfs::FileExists(frag) || !m_pFP.LoadSource(frag)) { kodi::Log(ADDON_LOG_ERROR, "%s: Failed to load '%s'", __func__, frag.c_str()); return false; } return true; } bool CompileAndLink(const std::string& vertexExtraBegin = "", const std::string& vertexExtraEnd = "", const std::string& fragmentExtraBegin = "", const std::string& fragmentExtraEnd = "") { GLint params[4]; // free resources ShaderFree(); m_ok = false; // compiled vertex shader if (!m_pVP.Compile(vertexExtraBegin, vertexExtraEnd)) { kodi::Log(ADDON_LOG_ERROR, "GL: Error compiling vertex shader"); return false; } // compile pixel shader if (!m_pFP.Compile(fragmentExtraBegin, fragmentExtraEnd)) { m_pVP.Free(); kodi::Log(ADDON_LOG_ERROR, "GL: Error compiling fragment shader"); return false; } // create program object if (!(m_shaderProgram = glCreateProgram())) { kodi::Log(ADDON_LOG_ERROR, "CShaderProgram::%s: Failed to create GL program", __FUNCTION__); ShaderFree(); return false; } // attach the vertex shader glAttachShader(m_shaderProgram, m_pVP.Handle()); glAttachShader(m_shaderProgram, m_pFP.Handle()); // link the program glLinkProgram(m_shaderProgram); glGetProgramiv(m_shaderProgram, GL_LINK_STATUS, params); if (params[0] != GL_TRUE) { GLchar log[LOG_SIZE]; glGetProgramInfoLog(m_shaderProgram, LOG_SIZE, nullptr, log); kodi::Log(ADDON_LOG_ERROR, "CShaderProgram::%s: %s", __FUNCTION__, log); fprintf(stderr, "CShaderProgram::%s: %s\n", __FUNCTION__, log); ShaderFree(); return false; } m_validated = false; m_ok = true; OnCompiledAndLinked(); return true; } bool EnableShader() { if (ShaderOK()) { glUseProgram(m_shaderProgram); if (OnEnabled()) { if (!m_validated) { // validate the program GLint params[4]; glValidateProgram(m_shaderProgram); glGetProgramiv(m_shaderProgram, GL_VALIDATE_STATUS, params); if (params[0] != GL_TRUE) { GLchar log[LOG_SIZE]; glGetProgramInfoLog(m_shaderProgram, LOG_SIZE, nullptr, log); kodi::Log(ADDON_LOG_ERROR, "CShaderProgram::%s: %s", __FUNCTION__, log); fprintf(stderr, "CShaderProgram::%s: %s\n", __FUNCTION__, log); } m_validated = true; } return true; } else { glUseProgram(0); return false; } return true; } return false; } void DisableShader() { if (ShaderOK()) { glUseProgram(0); OnDisabled(); } } ATTRIBUTE_FORCEINLINE bool ShaderOK() { return m_ok; } ATTRIBUTE_FORCEINLINE CVertexShader& VertexShader() { return m_pVP; } ATTRIBUTE_FORCEINLINE CPixelShader& PixelShader() { return m_pFP; } ATTRIBUTE_FORCEINLINE GLuint ProgramHandle() { return m_shaderProgram; } virtual void OnCompiledAndLinked() {}; virtual bool OnEnabled() { return false; }; virtual void OnDisabled() {}; private: void ShaderFree() { if (m_shaderProgram) glDeleteProgram(m_shaderProgram); m_shaderProgram = 0; m_ok = false; } CVertexShader m_pVP; CPixelShader m_pFP; GLuint m_shaderProgram = 0; bool m_ok = false; bool m_validated = false; }; //------------------------------------------------------------------------ } /* namespace gl */ } /* namespace gui */ } /* namespace kodi */ visualization.spectrum-3.0.3-Leia/src/000077500000000000000000000000001361526231100177165ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/src/DefaultPixelShader.hlsl000066400000000000000000000014441361526231100243220ustar00rootroot00000000000000/* * Copyright (C) 2005-2020 Team Kodi * http://kodi.tv * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Kodi; see the file COPYING. If not, see * . * */ float4 main(float4 pos: SV_POSITION, float4 col : COLOR) : SV_TARGET { return col; }visualization.spectrum-3.0.3-Leia/src/DefaultVertexShader.hlsl000066400000000000000000000021301361526231100245070ustar00rootroot00000000000000/* * Copyright (C) 2005-2020 Team Kodi * http://kodi.tv * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Kodi; see the file COPYING. If not, see * . * */ struct VS_OUT { float4 pos : SV_POSITION; float4 col : COLOR; }; cbuffer cbViewProj : register(b0) { float4x4 view; float4x4 proj; }; cbuffer cbWorld : register(b1) { float4x4 world; }; VS_OUT main(float4 pos : POSITION, float4 col : COLOR) { VS_OUT r = (VS_OUT)0; r.pos = mul( pos, world); r.pos = mul(r.pos, view); r.pos = mul(r.pos, proj); r.col = col; return r; }visualization.spectrum-3.0.3-Leia/src/directx_spectrum.cpp000066400000000000000000000436551361526231100240230ustar00rootroot00000000000000/* * XMMS - Cross-platform multimedia player * Copyright (C) 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies * Copyright (C) 2005-2020 Team Kodi * http://kodi.tv * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * Wed May 24 10:49:37 CDT 2000 * Fixes to threading/context creation for the nVidia X4 drivers by * Christian Zander */ /* * Ported to XBMC by d4rk * Also added 'm_hSpeed' to animate transition between bar heights */ #include #include #include #include #include #include #define NUM_BANDS 16 #define NUM_VERTICIES 36 using namespace DirectX; using namespace DirectX::PackedVector; // Include the precompiled shader code. namespace { #include "DefaultPixelShader.inc" #include "DefaultVertexShader.inc" } typedef struct { XMFLOAT3 pos; XMFLOAT4 col; } Vertex_t; typedef struct { XMFLOAT4X4 view; XMFLOAT4X4 proj; } cbViewProj; typedef struct { XMFLOAT4X4 world; } cbWorld; #define VERTEX_FORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE) class CVisualizationSpectrum : public kodi::addon::CAddonBase, public kodi::addon::CInstanceVisualization { public: CVisualizationSpectrum(); ~CVisualizationSpectrum() override; bool Start(int channels, int samplesPerSec, int bitsPerSample, std::string songName) override; void Render() override; void AudioData(const float* audioData, int audioDataLength, float *freqData, int freqDataLength) override; ADDON_STATUS SetSetting(const std::string& settingName, const kodi::CSettingValue& settingValue) override; private: void SetBarHeightSetting(int settingValue); void SetSpeedSetting(int settingValue); void SetModeSetting(int settingValue); float heights[16][16], cHeights[16][16], m_scale; DWORD m_mode; // D3DFILL_SOLID; float m_y_angle, m_y_speed, m_y_fixedAngle; float m_x_angle, m_x_speed; float m_z_angle, m_z_speed; float m_hSpeed; void draw_vertex(Vertex_t * pVertex, float x, float y, float z, XMFLOAT4 color); int draw_rectangle(Vertex_t * verts, float x1, float y1, float z1, float x2, float y2, float z2, XMFLOAT4 color); void draw_bar(float x_offset, float z_offset, float height, float red, float green, float blue); void draw_bars(void); bool init_renderer_objs(); ID3D11Device* m_device = nullptr; ID3D11DeviceContext* m_context = nullptr; ID3D11VertexShader* m_vShader = nullptr; ID3D11PixelShader* m_pShader = nullptr; ID3D11InputLayout* m_inputLayout = nullptr; ID3D11Buffer* m_vBuffer = nullptr; ID3D11Buffer* m_cViewProj = nullptr; ID3D11Buffer* m_cWorld = nullptr; ID3D11RasterizerState* m_rsStateSolid = nullptr; ID3D11RasterizerState* m_rsStateWire = nullptr; ID3D11BlendState* m_omBlend = nullptr; ID3D11DepthStencilState* m_omDepth = nullptr; }; //-- Create ------------------------------------------------------------------- // Called on load. Addon should fully initalize or return error status // !!! Add-on master function !!! //----------------------------------------------------------------------------- CVisualizationSpectrum::CVisualizationSpectrum() : m_mode(3), m_y_angle(45.0f), m_y_speed(0.5f), m_x_angle(20.0f), m_x_speed(0.0f), m_z_angle(0.0f), m_z_speed(0.0f), m_hSpeed(0.05f) { m_context = (ID3D11DeviceContext*)Device(); m_context->GetDevice(&m_device); SetBarHeightSetting(kodi::GetSettingInt("bar_height")); SetSpeedSetting(kodi::GetSettingInt("speed")); SetModeSetting(kodi::GetSettingInt("mode")); m_y_fixedAngle = kodi::GetSettingInt("rotation_angle"); if (!init_renderer_objs()) kodi::Log(ADDON_LOG_ERROR, "Failed to init DirectX"); } //-- Destroy ------------------------------------------------------------------ // Do everything before unload of this add-on // !!! Add-on master function !!! //----------------------------------------------------------------------------- CVisualizationSpectrum::~CVisualizationSpectrum() { if (m_cViewProj) m_cViewProj->Release(); if (m_cWorld) m_cWorld->Release(); if (m_rsStateSolid) m_rsStateSolid->Release(); if (m_rsStateWire) m_rsStateWire->Release(); if (m_omBlend) m_omBlend->Release(); if (m_omDepth) m_omDepth->Release(); if (m_vBuffer) m_vBuffer->Release(); if (m_inputLayout) m_inputLayout->Release(); if (m_vShader) m_vShader->Release(); if (m_pShader) m_pShader->Release(); if (m_device) m_device->Release(); } //-- Render ------------------------------------------------------------------- // Called once per frame. Do all rendering here. //----------------------------------------------------------------------------- void CVisualizationSpectrum::Render() { bool configured = true; //FALSE; float factors[4] = { 1.0f, 1.0f, 1.0f, 1.0f }; m_context->OMSetBlendState(m_omBlend, factors, 0xFFFFFFFF); m_context->OMSetDepthStencilState(m_omDepth, 0); switch (m_mode) { case 1: // D3DFILL_POINT: case 2: // D3DFILL_WIREFRAME: m_context->RSSetState(m_rsStateWire); break; case 3: // D3DFILL_SOLID: m_context->RSSetState(m_rsStateSolid); break; } unsigned stride = sizeof(Vertex_t), offset = 0; m_context->IASetVertexBuffers(0, 1, &m_vBuffer, &stride, &offset); m_context->IASetInputLayout(m_inputLayout); m_context->VSSetShader(m_vShader, 0, 0); m_context->VSSetConstantBuffers(0, 1, &m_cViewProj); m_context->VSSetConstantBuffers(1, 1, &m_cWorld); m_context->PSSetShader(m_pShader, 0, 0); if(configured) { m_x_angle += m_x_speed; if (m_x_angle >= 360.0f) m_x_angle -= 360.0f; if (m_y_fixedAngle < 0.0f) { m_y_angle += m_y_speed; if(m_y_angle >= 360.0) m_y_angle -= 360.0; } else { m_y_angle = m_y_fixedAngle; } m_z_angle += m_z_speed; if (m_z_angle >= 360.0f) m_z_angle -= 360.0f; D3D11_MAPPED_SUBRESOURCE res; if (S_OK == m_context->Map(m_cWorld, 0, D3D11_MAP_WRITE_DISCARD, 0, &res)) { cbWorld *cWorld = (cbWorld*)res.pData; XMMATRIX matRotationX = XMMatrixRotationX(-XMConvertToRadians(m_x_angle)), matRotationY = XMMatrixRotationY(-XMConvertToRadians(m_y_angle)), matRotationZ = XMMatrixRotationZ(XMConvertToRadians(m_z_angle)), matTranslation = XMMatrixTranslation(0.0f, -0.5f, 5.0f), matWorld = matRotationZ * matRotationY * matRotationX * matTranslation; XMStoreFloat4x4(&cWorld->world, XMMatrixTranspose(matWorld)); m_context->Unmap(m_cWorld, 0); } draw_bars(); } } bool CVisualizationSpectrum::Start(int iChannels, int iSamplesPerSec, int iBitsPerSample, std::string szSongName) { int x, y; for(x = 0; x < 16; x++) { for(y = 0; y < 16; y++) { cHeights[y][x] = 0.0f; } } m_scale = 1.0f / log(256.0f); m_x_speed = 0.0f; m_y_speed = 0.5f; m_z_speed = 0.0f; m_x_angle = 20.0f; m_y_angle = 45.0f; m_z_angle = 0.0f; return true; } void CVisualizationSpectrum::AudioData(const float* pAudioData, int iAudioDataLength, float *pFreqData, int iFreqDataLength) { int i,c; int y=0; float val; int xscale[] = {0, 1, 2, 3, 5, 7, 10, 14, 20, 28, 40, 54, 74, 101, 137, 187, 255}; for(y = 15; y > 0; y--) { for(i = 0; i < 16; i++) { heights[y][i] = heights[y - 1][i]; } } for(i = 0; i < NUM_BANDS; i++) { for(c = xscale[i], y = 0; c < xscale[i + 1]; c++) { if (c y)) y = (int)(pAudioData[c] * (0x07fff+.5f)); } else continue; } y >>= 7; if(y > 0) val = (logf((float)y) * m_scale); else val = 0; heights[0][i] = val; } } void CVisualizationSpectrum::SetBarHeightSetting(int settingValue) { switch (settingValue) { case 1://standard m_scale = 1.f / log(256.f); break; case 2://big m_scale = 2.f / log(256.f); break; case 3://real big m_scale = 3.f / log(256.f); break; case 4://unused m_scale = 0.33f / log(256.f); break; case 0://small default: m_scale = 0.5f / log(256.f); break; } } void CVisualizationSpectrum::SetSpeedSetting(int settingValue) { switch (settingValue) { case 1: m_hSpeed = 0.025f; break; case 2: m_hSpeed = 0.0125f; break; case 3: m_hSpeed = 0.1f; break; case 4: m_hSpeed = 0.2f; break; case 0: default: m_hSpeed = 0.05f; break; } } void CVisualizationSpectrum::SetModeSetting(int settingValue) { switch (settingValue) { case 1: m_mode = 2; // D3DFILL_WIREFRAME; break; case 2: m_mode = 1; // D3DFILL_POINT; break; case 0: default: m_mode = 3; // D3DFILL_SOLID; break; } } //-- SetSetting --------------------------------------------------------------- // Set a specific Setting value (called from XBMC) // !!! Add-on master function !!! //----------------------------------------------------------------------------- ADDON_STATUS CVisualizationSpectrum::SetSetting(const std::string& settingName, const kodi::CSettingValue& settingValue) { if (settingName.empty() || settingValue.empty()) return ADDON_STATUS_UNKNOWN; if (settingName == "bar_height") { SetBarHeightSetting(settingValue.GetInt()); return ADDON_STATUS_OK; } else if (settingName == "speed") { SetSpeedSetting(settingValue.GetInt()); return ADDON_STATUS_OK; } else if (settingName == "mode") { SetModeSetting(settingValue.GetInt()); return ADDON_STATUS_OK; } else if (settingName == "rotation_angle") { m_y_fixedAngle = settingValue.GetInt(); return ADDON_STATUS_OK; } return ADDON_STATUS_UNKNOWN; } void CVisualizationSpectrum::draw_vertex(Vertex_t * pVertex, float x, float y, float z, XMFLOAT4 color) { pVertex->col = XMFLOAT4(color); pVertex->pos = XMFLOAT3(x, y, z); } int CVisualizationSpectrum::draw_rectangle(Vertex_t * verts, float x1, float y1, float z1, float x2, float y2, float z2, XMFLOAT4 color) { if(y1 == y2) { draw_vertex(&verts[0], x1, y1, z1, color); draw_vertex(&verts[1], x2, y1, z1, color); draw_vertex(&verts[2], x2, y2, z2, color); draw_vertex(&verts[3], x2, y2, z2, color); draw_vertex(&verts[4], x1, y2, z2, color); draw_vertex(&verts[5], x1, y1, z1, color); } else { draw_vertex(&verts[0], x1, y1, z1, color); draw_vertex(&verts[1], x2, y1, z2, color); draw_vertex(&verts[2], x2, y2, z2, color); draw_vertex(&verts[3], x2, y2, z2, color); draw_vertex(&verts[4], x1, y2, z1, color); draw_vertex(&verts[5], x1, y1, z1, color); } return 6; } void CVisualizationSpectrum::draw_bar(float x_offset, float z_offset, float height, float red, float green, float blue) { Vertex_t verts[NUM_VERTICIES]; int verts_idx = 0; float width = 0.1f; XMFLOAT4 color; if (1 == m_mode /*== D3DFILL_POINT*/) color = XMFLOAT4(0.2f, 1.0f, 0.2f, 1.0f); if (1 != m_mode /*!= D3DFILL_POINT*/) { color = XMFLOAT4(red, green, blue, 1.0f); verts_idx += draw_rectangle(&verts[verts_idx], x_offset, height, z_offset, x_offset + width, height, z_offset + 0.1f, color); } verts_idx += draw_rectangle(&verts[verts_idx], x_offset, 0.0f, z_offset, x_offset + width, 0.0f, z_offset + 0.1f, color); if (1 != m_mode /*!= D3DFILL_POINT*/) { color = XMFLOAT4(0.5f * red, 0.5f * green, 0.5f * blue, 1.0f); verts_idx += draw_rectangle(&verts[verts_idx], x_offset, 0.0f, z_offset + 0.1f, x_offset + width, height, z_offset + 0.1f, color); } verts_idx += draw_rectangle(&verts[verts_idx], x_offset, 0.0f, z_offset, x_offset + width, height, z_offset, color); if (1 != m_mode /*!= D3DFILL_POINT*/) { color = XMFLOAT4(0.25f * red, 0.25f * green, 0.25f * blue, 1.0f); verts_idx += draw_rectangle(&verts[verts_idx], x_offset, 0.0f, z_offset , x_offset, height, z_offset + 0.1f, color); } verts_idx += draw_rectangle(&verts[verts_idx], x_offset + width, 0.0f, z_offset , x_offset + width, height, z_offset + 0.1f, color); D3D11_MAPPED_SUBRESOURCE res; if (S_OK == m_context->Map(m_vBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &res)) { memcpy(res.pData, verts, sizeof(Vertex_t) * NUM_VERTICIES); m_context->Unmap(m_vBuffer, 0); } m_context->IASetPrimitiveTopology(m_mode != 1 /*D3DFILL_POINT*/ ? D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST : D3D11_PRIMITIVE_TOPOLOGY_POINTLIST); m_context->Draw(verts_idx, 0); } void CVisualizationSpectrum::draw_bars(void) { int x,y; float x_offset, z_offset, r_base, b_base; for(y = 0; y < 16; y++) { z_offset = -1.6f + ((15 - y) * 0.2f); b_base = y * (1.0f / 15); r_base = 1.0f - b_base; for(x = 0; x < 16; x++) { x_offset = -1.6f + (x * 0.2f); if (::fabs(cHeights[y][x]-heights[y][x])>m_hSpeed) { if (cHeights[y][x]CreateVertexShader(DefaultVertexShaderCode, sizeof(DefaultVertexShaderCode), nullptr, &m_vShader)) return false; // Create input layout D3D11_INPUT_ELEMENT_DESC layout[] = { { "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, { "COLOR", 0, DXGI_FORMAT_R32G32B32A32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }, }; if (S_OK != m_device->CreateInputLayout(layout, ARRAYSIZE(layout), DefaultVertexShaderCode, sizeof(DefaultVertexShaderCode), &m_inputLayout)) return false; // Create pixel shader if (S_OK != m_device->CreatePixelShader(DefaultPixelShaderCode, sizeof(DefaultPixelShaderCode), nullptr, &m_pShader)) return false; // create buffers CD3D11_BUFFER_DESC desc(sizeof(Vertex_t) * NUM_VERTICIES, D3D11_BIND_VERTEX_BUFFER, D3D11_USAGE_DYNAMIC, D3D11_CPU_ACCESS_WRITE); if (S_OK != m_device->CreateBuffer(&desc, NULL, &m_vBuffer)) return false; desc.ByteWidth = sizeof(cbWorld); desc.BindFlags = D3D11_BIND_CONSTANT_BUFFER; if (S_OK != m_device->CreateBuffer(&desc, NULL, &m_cWorld)) return false; cbViewProj cViewProj; XMStoreFloat4x4(&cViewProj.view, XMMatrixTranspose(XMMatrixIdentity())); XMStoreFloat4x4(&cViewProj.proj, XMMatrixTranspose(XMMatrixPerspectiveOffCenterLH(-1.0f, 1.0f, -1.0f, 1.0f, 1.5f, 10.0f))); desc.ByteWidth = sizeof(cbViewProj); desc.Usage = D3D11_USAGE_DEFAULT; desc.CPUAccessFlags = 0; D3D11_SUBRESOURCE_DATA initData = { 0 }; initData.pSysMem = &cViewProj; if (S_OK != m_device->CreateBuffer(&desc, &initData, &m_cViewProj)) return false; // create blend state D3D11_BLEND_DESC blendState = { 0 }; ZeroMemory(&blendState, sizeof(D3D11_BLEND_DESC)); blendState.RenderTarget[0].BlendEnable = true; blendState.RenderTarget[0].SrcBlend = D3D11_BLEND_ONE; blendState.RenderTarget[0].DestBlend = D3D11_BLEND_ZERO; blendState.RenderTarget[0].BlendOp = D3D11_BLEND_OP_ADD; blendState.RenderTarget[0].SrcBlendAlpha = D3D11_BLEND_ONE; blendState.RenderTarget[0].DestBlendAlpha = D3D11_BLEND_ZERO; blendState.RenderTarget[0].BlendOpAlpha = D3D11_BLEND_OP_ADD; blendState.RenderTarget[0].RenderTargetWriteMask = D3D11_COLOR_WRITE_ENABLE_ALL; if (S_OK != m_device->CreateBlendState(&blendState, &m_omBlend)) return false; // create depth state D3D11_DEPTH_STENCIL_DESC depthStencilDesc; ZeroMemory(&depthStencilDesc, sizeof(D3D11_DEPTH_STENCIL_DESC)); // Set up the description of the stencil state. depthStencilDesc.DepthEnable = true; depthStencilDesc.DepthWriteMask = D3D11_DEPTH_WRITE_MASK_ALL; depthStencilDesc.DepthFunc = D3D11_COMPARISON_LESS; depthStencilDesc.StencilEnable = true; depthStencilDesc.StencilReadMask = 0xFF; depthStencilDesc.StencilWriteMask = 0xFF; // Stencil operations if pixel is front-facing. depthStencilDesc.FrontFace.StencilFailOp = D3D11_STENCIL_OP_KEEP; depthStencilDesc.FrontFace.StencilDepthFailOp = D3D11_STENCIL_OP_INCR; depthStencilDesc.FrontFace.StencilPassOp = D3D11_STENCIL_OP_KEEP; depthStencilDesc.FrontFace.StencilFunc = D3D11_COMPARISON_ALWAYS; // Stencil operations if pixel is back-facing. depthStencilDesc.BackFace.StencilFailOp = D3D11_STENCIL_OP_KEEP; depthStencilDesc.BackFace.StencilDepthFailOp = D3D11_STENCIL_OP_DECR; depthStencilDesc.BackFace.StencilPassOp = D3D11_STENCIL_OP_KEEP; depthStencilDesc.BackFace.StencilFunc = D3D11_COMPARISON_ALWAYS; if (S_OK != m_device->CreateDepthStencilState(&depthStencilDesc, &m_omDepth)) return false; // create raster states D3D11_RASTERIZER_DESC rasterizerState; rasterizerState.CullMode = D3D11_CULL_NONE; rasterizerState.FillMode = D3D11_FILL_SOLID; rasterizerState.FrontCounterClockwise = false; rasterizerState.DepthBias = 0; rasterizerState.DepthBiasClamp = 0.0f; rasterizerState.DepthClipEnable = true; rasterizerState.SlopeScaledDepthBias = 0.0f; rasterizerState.ScissorEnable = false; rasterizerState.MultisampleEnable = false; rasterizerState.AntialiasedLineEnable = false; if (S_OK != m_device->CreateRasterizerState(&rasterizerState, &m_rsStateSolid)) return false; rasterizerState.FillMode = D3D11_FILL_WIREFRAME; if (S_OK != m_device->CreateRasterizerState(&rasterizerState, &m_rsStateWire)) return false; // we are ready return true; } ADDONCREATOR(CVisualizationSpectrum) visualization.spectrum-3.0.3-Leia/src/opengl_spectrum.cpp000066400000000000000000000407171361526231100236410ustar00rootroot00000000000000/* * XMMS - Cross-platform multimedia player * Copyright (C) 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson and 4Front Technologies * Copyright (C) 2005-2020 Team Kodi * http://kodi.tv * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* * Wed May 24 10:49:37 CDT 2000 * Fixes to threading/context creation for the nVidia X4 drivers by * Christian Zander */ /* * Ported to XBMC by d4rk * Also added 'm_hSpeed' to animate transition between bar heights * * Ported to GLES 2.0 by Gimli */ #define __STDC_LIMIT_MACROS #include #include #include #include #include #include #include #include #include #ifndef M_PI #define M_PI 3.141592654f #endif #define NUM_BANDS 16 class ATTRIBUTE_HIDDEN CVisualizationSpectrum : public kodi::addon::CAddonBase, public kodi::addon::CInstanceVisualization, public kodi::gui::gl::CShaderProgram { public: CVisualizationSpectrum(); ~CVisualizationSpectrum() override = default; bool Start(int channels, int samplesPerSec, int bitsPerSample, std::string songName) override; void Stop() override; void Render() override; void AudioData(const float* audioData, int audioDataLength, float* freqData, int freqDataLength) override; ADDON_STATUS SetSetting(const std::string& settingName, const kodi::CSettingValue& settingValue) override; void OnCompiledAndLinked() override; bool OnEnabled() override; private: void SetBarHeightSetting(int settingValue); void SetSpeedSetting(int settingValue); void SetModeSetting(int settingValue); GLfloat m_heights[16][16]; GLfloat m_cHeights[16][16]; GLfloat m_scale; GLenum m_mode; float m_y_angle, m_y_speed, m_y_fixedAngle; float m_x_angle, m_x_speed; float m_z_angle, m_z_speed; float m_hSpeed; void draw_bar(GLfloat x_offset, GLfloat z_offset, GLfloat height, GLfloat red, GLfloat green, GLfloat blue); void draw_bars(void); // Shader related data glm::mat4 m_projMat; glm::mat4 m_modelMat; GLfloat m_pointSize = 0.0f; std::vector m_vertex_buffer_data; std::vector m_color_buffer_data; #ifdef HAS_GL GLuint m_vertexVBO[2] = {0}; #endif GLint m_uProjMatrix = -1; GLint m_uModelMatrix = -1; GLint m_uPointSize = -1; GLint m_hPos = -1; GLint m_hCol = -1; bool m_startOK = false; }; CVisualizationSpectrum::CVisualizationSpectrum() : m_mode(GL_TRIANGLES), m_y_angle(45.0f), m_y_speed(0.5f), m_x_angle(20.0f), m_x_speed(0.0f), m_z_angle(0.0f), m_z_speed(0.0f), m_hSpeed(0.05f) { m_scale = 1.0 / log(256.0); SetBarHeightSetting(kodi::GetSettingInt("bar_height")); SetSpeedSetting(kodi::GetSettingInt("speed")); SetModeSetting(kodi::GetSettingInt("mode")); m_y_fixedAngle = kodi::GetSettingInt("rotation_angle"); m_vertex_buffer_data.resize(48); m_color_buffer_data.resize(48); } bool CVisualizationSpectrum::Start(int channels, int samplesPerSec, int bitsPerSample, std::string songName) { (void)channels; (void)samplesPerSec; (void)bitsPerSample; (void)songName; std::string fraqShader = kodi::GetAddonPath("resources/shaders/" GL_TYPE_STRING "/frag.glsl"); std::string vertShader = kodi::GetAddonPath("resources/shaders/" GL_TYPE_STRING "/vert.glsl"); if (!LoadShaderFiles(vertShader, fraqShader) || !CompileAndLink()) { kodi::Log(ADDON_LOG_ERROR, "Failed to create or compile shader"); return false; } int x, y; for(x = 0; x < 16; x++) { for(y = 0; y < 16; y++) { m_cHeights[y][x] = 0.0; } } m_x_speed = 0.0; m_y_speed = 0.5; m_z_speed = 0.0; m_x_angle = 20.0; m_y_angle = 45.0; m_z_angle = 0.0; m_projMat = glm::frustum(-1.0f, 1.0f, -1.0f, 1.0f, 1.5f, 10.0f); #ifdef HAS_GL glGenBuffers(2, m_vertexVBO); #endif m_startOK = true; return true; } void CVisualizationSpectrum::Stop() { if (!m_startOK) return; m_startOK = false; #ifdef HAS_GL glBindBuffer(GL_ARRAY_BUFFER, 0); glDeleteBuffers(2, m_vertexVBO); m_vertexVBO[0] = 0; m_vertexVBO[1] = 0; #endif } //-- Render ------------------------------------------------------------------- // Called once per frame. Do all rendering here. //----------------------------------------------------------------------------- void CVisualizationSpectrum::Render() { if (!m_startOK) return; #ifdef HAS_GL glBindBuffer(GL_ARRAY_BUFFER, m_vertexVBO[0]); glVertexAttribPointer(m_hPos, 3, GL_FLOAT, GL_FALSE, sizeof(GLfloat)*3, nullptr); glEnableVertexAttribArray(m_hPos); glBindBuffer(GL_ARRAY_BUFFER, m_vertexVBO[1]); glVertexAttribPointer(m_hCol, 3, GL_FLOAT, GL_FALSE, sizeof(GLfloat)*3, nullptr); glEnableVertexAttribArray(m_hCol); #else // 1rst attribute buffer : vertices glEnableVertexAttribArray(m_hPos); glVertexAttribPointer(m_hPos, 3, GL_FLOAT, GL_FALSE, 0, &m_vertex_buffer_data[0]); // 2nd attribute buffer : colors glEnableVertexAttribArray(m_hCol); glVertexAttribPointer(m_hCol, 3, GL_FLOAT, GL_FALSE, 0, &m_color_buffer_data[0]); #endif glDisable(GL_BLEND); #ifdef HAS_GL glEnable(GL_PROGRAM_POINT_SIZE); #endif glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LESS); // Clear the screen glClear(GL_DEPTH_BUFFER_BIT); m_x_angle += m_x_speed; if(m_x_angle >= 360.0) m_x_angle -= 360.0; if (m_y_fixedAngle < 0.0f) { m_y_angle += m_y_speed; if(m_y_angle >= 360.0) m_y_angle -= 360.0; } else { m_y_angle = m_y_fixedAngle; } m_z_angle += m_z_speed; if(m_z_angle >= 360.0) m_z_angle -= 360.0; m_modelMat = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, -0.5f, -5.0f)); m_modelMat = glm::rotate(m_modelMat, glm::radians(m_x_angle), glm::vec3(1.0f, 0.0f, 0.0f)); m_modelMat = glm::rotate(m_modelMat, glm::radians(m_y_angle), glm::vec3(0.0f, 1.0f, 0.0f)); m_modelMat = glm::rotate(m_modelMat, glm::radians(m_z_angle), glm::vec3(0.0f, 0.0f, 1.0f)); EnableShader(); draw_bars(); DisableShader(); glDisableVertexAttribArray(m_hPos); glDisableVertexAttribArray(m_hCol); glDisable(GL_DEPTH_TEST); #ifdef HAS_GL glDisable(GL_PROGRAM_POINT_SIZE); #endif glEnable(GL_BLEND); } void CVisualizationSpectrum::OnCompiledAndLinked() { // Variables passed directly to the Vertex shader m_uProjMatrix = glGetUniformLocation(ProgramHandle(), "u_projectionMatrix"); m_uModelMatrix = glGetUniformLocation(ProgramHandle(), "u_modelViewMatrix"); m_uPointSize = glGetUniformLocation(ProgramHandle(), "u_pointSize"); m_hPos = glGetAttribLocation(ProgramHandle(), "a_position"); m_hCol = glGetAttribLocation(ProgramHandle(), "a_color"); } bool CVisualizationSpectrum::OnEnabled() { // This is called after glUseProgram() glUniformMatrix4fv(m_uProjMatrix, 1, GL_FALSE, glm::value_ptr(m_projMat)); glUniformMatrix4fv(m_uModelMatrix, 1, GL_FALSE, glm::value_ptr(m_modelMat)); glUniform1f(m_uPointSize, m_pointSize); return true; } void CVisualizationSpectrum::draw_bar(GLfloat x_offset, GLfloat z_offset, GLfloat height, GLfloat red, GLfloat green, GLfloat blue ) { GLfloat width = 0.1f; m_vertex_buffer_data = { // Bottom { x_offset + width, 0.0f, z_offset + width }, { x_offset, 0.0f, z_offset }, { x_offset + width, 0.0f, z_offset }, { x_offset + width, 0.0f, z_offset + width }, { x_offset, 0.0f, z_offset + width }, { x_offset, 0.0f, z_offset }, { x_offset, 0.0f, z_offset + width }, { x_offset + width, 0.0f, z_offset }, { x_offset + width, 0.0f, z_offset + width }, { x_offset, 0.0f, z_offset + width }, { x_offset + width, 0.0f, z_offset }, { x_offset, 0.0f, z_offset }, // Side { x_offset, 0.0f, z_offset }, { x_offset, 0.0f, z_offset + width }, { x_offset, height, z_offset + width }, { x_offset, 0.0f, z_offset }, { x_offset, height, z_offset + width }, { x_offset, height, z_offset }, { x_offset + width, height, z_offset }, { x_offset, 0.0f, z_offset }, { x_offset, height, z_offset }, { x_offset + width, height, z_offset }, { x_offset + width, 0.0f, z_offset }, { x_offset, 0.0f, z_offset }, { x_offset, height, z_offset + width }, { x_offset, 0.0f, z_offset + width }, { x_offset + width, 0.0f, z_offset + width }, { x_offset + width, height, z_offset + width }, { x_offset, height, z_offset + width }, { x_offset + width, 0.0f, z_offset + width }, { x_offset + width, height, z_offset + width }, { x_offset + width, 0.0f, z_offset }, { x_offset + width, height, z_offset }, { x_offset + width, 0.0f, z_offset }, { x_offset + width, height, z_offset + width }, { x_offset + width, 0.0f, z_offset + width }, // Top { x_offset + width, height, z_offset + width }, { x_offset + width, height, z_offset }, { x_offset, height, z_offset }, { x_offset + width, height, z_offset + width }, { x_offset, height, z_offset }, { x_offset, height, z_offset + width }, { x_offset, height, z_offset + width }, { x_offset + width, height, z_offset }, { x_offset, height, z_offset }, { x_offset + width, height, z_offset }, { x_offset + width, height, z_offset + width }, { x_offset, height, z_offset + width } }; float sideMlpy1, sideMlpy2, sideMlpy3, sideMlpy4; if (m_mode == GL_TRIANGLES) { sideMlpy1 = 0.5f; sideMlpy2 = 0.25f; sideMlpy3 = 0.75f; sideMlpy4 = 0.5f; } else { sideMlpy1 = sideMlpy2 = sideMlpy3 = sideMlpy4 = 1.0f; } // One color for each vertex. They were generated randomly. m_color_buffer_data = { // Bottom { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, // Side { red * sideMlpy1, green * sideMlpy1, blue * sideMlpy1 }, { red * sideMlpy1, green * sideMlpy1, blue * sideMlpy1 }, { red * sideMlpy1, green * sideMlpy1, blue * sideMlpy1 }, { red * sideMlpy1, green * sideMlpy1, blue * sideMlpy1 }, { red * sideMlpy1, green * sideMlpy1, blue * sideMlpy1 }, { red * sideMlpy1, green * sideMlpy1, blue * sideMlpy1 }, { red * sideMlpy2, green * sideMlpy2, blue * sideMlpy2 }, { red * sideMlpy2, green * sideMlpy2, blue * sideMlpy2 }, { red * sideMlpy2, green * sideMlpy2, blue * sideMlpy2 }, { red * sideMlpy2, green * sideMlpy2, blue * sideMlpy2 }, { red * sideMlpy2, green * sideMlpy2, blue * sideMlpy2 }, { red * sideMlpy2, green * sideMlpy2, blue * sideMlpy2 }, { red * sideMlpy3, green * sideMlpy3, blue * sideMlpy3 }, { red * sideMlpy3, green * sideMlpy3, blue * sideMlpy3 }, { red * sideMlpy3, green * sideMlpy3, blue * sideMlpy3 }, { red * sideMlpy3, green * sideMlpy3, blue * sideMlpy3 }, { red * sideMlpy3, green * sideMlpy3, blue * sideMlpy3 }, { red * sideMlpy3, green * sideMlpy3, blue * sideMlpy3 }, { red * sideMlpy4, green * sideMlpy4, blue * sideMlpy4 }, { red * sideMlpy4, green * sideMlpy4, blue * sideMlpy4 }, { red * sideMlpy4, green * sideMlpy4, blue * sideMlpy4 }, { red * sideMlpy4, green * sideMlpy4, blue * sideMlpy4 }, { red * sideMlpy4, green * sideMlpy4, blue * sideMlpy4 }, { red * sideMlpy4, green * sideMlpy4, blue * sideMlpy4 }, // Top { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, { red, green, blue }, }; #ifdef HAS_GL glBindBuffer(GL_ARRAY_BUFFER, m_vertexVBO[0]); glBufferData(GL_ARRAY_BUFFER, m_vertex_buffer_data.size()*sizeof(glm::vec3), &m_vertex_buffer_data[0], GL_STATIC_DRAW); glBindBuffer(GL_ARRAY_BUFFER, m_vertexVBO[1]); glBufferData(GL_ARRAY_BUFFER, m_color_buffer_data.size()*sizeof(glm::vec3), &m_color_buffer_data[0], GL_STATIC_DRAW); #endif glDrawArrays(m_mode, 0, m_vertex_buffer_data.size()); /* 12*3 indices starting at 0 -> 12 triangles + 4*3 to have on lines show correct */ } void CVisualizationSpectrum::draw_bars(void) { int x, y; GLfloat x_offset, z_offset, r_base, b_base; for(y = 0; y < 16; y++) { z_offset = -1.6 + ((15 - y) * 0.2); b_base = y * (1.0 / 15); r_base = 1.0 - b_base; for(x = 0; x < 16; x++) { x_offset = -1.6 + ((float)x * 0.2); if (::fabs(m_cHeights[y][x]-m_heights[y][x])>m_hSpeed) { if (m_cHeights[y][x] 0; y--) { for(i = 0; i < 16; i++) { m_heights[y][i] = m_heights[y - 1][i]; } } for(i = 0; i < NUM_BANDS; i++) { for(c = xscale[i], y = 0; c < xscale[i + 1]; c++) { if (c y) y = (int)(pAudioData[c] * (INT16_MAX)); } else continue; } y >>= 7; if(y > 0) val = (logf(y) * m_scale); else val = 0; m_heights[0][i] = val; } } void CVisualizationSpectrum::SetBarHeightSetting(int settingValue) { switch (settingValue) { case 1://standard m_scale = 1.f / log(256.f); break; case 2://big m_scale = 2.f / log(256.f); break; case 3://real big m_scale = 3.f / log(256.f); break; case 4://unused m_scale = 0.33f / log(256.f); break; case 0://small default: m_scale = 0.5f / log(256.f); break; } } void CVisualizationSpectrum::SetSpeedSetting(int settingValue) { switch (settingValue) { case 1: m_hSpeed = 0.025f; break; case 2: m_hSpeed = 0.0125f; break; case 3: m_hSpeed = 0.1f; break; case 4: m_hSpeed = 0.2f; break; case 0: default: m_hSpeed = 0.05f; break; } } void CVisualizationSpectrum::SetModeSetting(int settingValue) { switch (settingValue) { case 1: m_mode = GL_LINES; m_pointSize = 0.0f; break; case 2: m_mode = GL_POINTS; m_pointSize = kodi::GetSettingInt("pointsize"); break; case 0: default: m_mode = GL_TRIANGLES; m_pointSize = 0.0f; break; } } //-- SetSetting --------------------------------------------------------------- // Set a specific Setting value (called from Kodi) // !!! Add-on master function !!! //----------------------------------------------------------------------------- ADDON_STATUS CVisualizationSpectrum::SetSetting(const std::string& settingName, const kodi::CSettingValue& settingValue) { if (settingName.empty() || settingValue.empty()) return ADDON_STATUS_UNKNOWN; if (settingName == "bar_height") { SetBarHeightSetting(settingValue.GetInt()); return ADDON_STATUS_OK; } else if (settingName == "speed") { SetSpeedSetting(settingValue.GetInt()); return ADDON_STATUS_OK; } else if (settingName == "mode") { SetModeSetting(settingValue.GetInt()); return ADDON_STATUS_OK; } else if (settingName == "rotation_angle") { m_y_fixedAngle = settingValue.GetInt(); return ADDON_STATUS_OK; } return ADDON_STATUS_UNKNOWN; } ADDONCREATOR(CVisualizationSpectrum) visualization.spectrum-3.0.3-Leia/visualization.spectrum/000077500000000000000000000000001361526231100236715ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/addon.xml.in000066400000000000000000000570261361526231100261170ustar00rootroot00000000000000 @ADDON_DEPENDS@ Visualisering wys a roterende 3D Spektrum Analiseerder عارض يظهر طيف محلل دوري ثلاثي الأبعاد Visualisation showing a rotating 3D Spectrum Analyzer Визуализация представяща ротиращ се 3D спектрален анализатор Visualització mostrant un analitzador d'espectre giratori 3D Vizualizace zobrazující rotující 3D spektrální analyzátor Visualisering der viser en roterende 3D-spektrumanalyse Diese Visualisierung zeigt eine rotierende Spektrum Analyse in 3D Οπτικοποίηση που εμφανίζει έναν περιστρεφόμενο τρισδιάστατο Αναλυτή Φάσματος Visualisation showing a rotating 3D Spectrum Analyzer Visualización que muestra un analizador de espectro en 3D girando Visualización que muestra un analizador de espectro en 3D girando Visualización que muestra un Analizador de Espectro giratorio 3D Visuaal, mis näitab pöörlevat 3D spektraalanalüüsi Pyörivä 3D-spektrianalysaattori Visualisation affichant un analyseur de spectre 3D en rotation Visualización que amosa un analizador de espectro virando en 3D DirectX Spectrum זהו חיזוי אשר מציג סיבובי 3D Spectrum Analyzer Vizualizacija koja prikazuje rotirajući 3D spektralni analizator Vizualizáció 3D spektrum analizátorral Myndskreyting sem sýnir þrívíddar rófgreini La visualizzazione mostra un analizzatore di spettro 3D rotante 回転する 3D スペクトラムアナライザーを表示する ビジュアライザー 회전하는 3D 스펙트럼 분석기를 보여지는 음악시각화 Vizualizacija rodo rotacinis 3D spektro analizatorių Визуализација која покажува ротирачки 3Д анализатор на спектар DirectX-visualisatie die een roterende 3D-spectrumanalyse weergeeft Visualisering som viser en roterende 3D ​​Spectrum Analyzer Wizualizacja pokazująca obracający się analizator widma w 3D Visualização que mostra um analisador espectral rotativo em 3D Visualização que mostra um analisador espectral rotativo em 3D Vizualizare cu afișarea unui analizor de spectru 3D rotativ Визуализация, показывающая вращающийся трёхмерный анализатор спектра Vizualizácia zobrazujúca rotujúci 3D spektrálny analyzátor Vizualizacija, ki prikatuje vrtečo 3D spektralno analizo Visualisering som visar en roterande 3D-spektrumanalysator การแสดงแสงสี ทำให้เห็นการหมุนแบบ 3 มิติ ของการวิเคราะห์คลื่นความถี่เสียง Візуалізація що показує обертаючийся 3D спектроаналізатор. 显示旋转三维频谱分析图像的可视化效果 顯示旋轉的3D頻譜分析視覺效果 Spectrum is 'n Visualisering wat 'n roterende 3D Spektrum Analiseerder, verbeeld met , vertoon wat op die maat van die musiek beweeg en 'n golf effek oor die spektrum rooster skep. Dit het ook verstellings vir die aanpas van spektrum staaf hoogte, sy spoed, en hoe die stawe verbeeld word (solied, punte, draad raamwerk) en is 'n lekker ligte, lae cpu verbruik visualisering wat fantasties lyk طيف هو تحليل بصري متحرك ثلاثي الابعاد للموسيقى! يتحرك بواسطة يرنامج على وزن الموسيقى في شكل موجة. توجد ايضا اعدادات لتعديل شبكة الطيف من حيث طول الاعمدة, سرعتها, وحتى شكلها (صلبة, نقاط, اسلاك) تعمل هذة بحمل خفيف, ومعالجة cpu ضئيلة لكنها تبدو رائعة Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great Spectrum е визуализация изобразяваща ротиращ се 3D спектрален анализатор (рендването се извършва с ). Ротацията е според ритъма на музиката и предизвиква вълнови ефект по спектрална решетка. Можете да настройвате височината на спектралните стълбове, скоростта и рендването - solid, points, wire frame. Характеризира се с отличен вид, като същевременно почти не натоварва процесора. Spectrum és una visualització que mostra un analitzador d'espectre giratori en 3D renderitzat amb que es mou al ritme de la música creant un efecte d'ona al llarg de la graella de l'espectre.⏎ També té opcions per ajustar l'alçada de la barra de l'espectre, la seva velocitat, i com es renderitzen les barres (sòlid, punts, malla de filferro). Una visualització que utilitza poca CPU i que és veu molt bé. Spectrum je vizualizace zobrazující rotující 3D spektrální analyzátor rendrovaný v , který se pohybuje v rytmu hudby a vytváří vlnový efekt napříč spektrální mřížkou. Obsahuje také nastavení pro přizpůsobení výšky sloupců spektra, rychlosti a způsobu vykreslení (vyplněný, body, drátový model). Je to velmi lehká vizualizace s nízkou zatíží CPU, která vypadá skvěle. -spektrum er en visualisering, der viser en roterende 3D-spektrumanalysator renderet i DirectX, som bevæger sig i takt til musikken og skaber en bølgeeffekt på tværs af spektrumfeltet. Den har også indstillinger til at justere spektrumliniens højde, fart og hvordan den bliver renderet (fast, punkter, trådramme). Det er en letvægtsvisualisering med lavt CPU-forbrug, som ser godt ud. Spectrum ist eine Visualisierung, die eine rotierende Spektrum Analyse in 3D zeigt. Die Visualisierung wird so gerendert, dass sie sich zum Takt der Musik bewegt und eine Welle über das Spektrum Grid legt. Es lässt sich neben der Höhe, die Geschwindigkeit als auch die Art der Balken (durchgehend, Punkte, Drahtgeflecht) einstellen. Eine schöne Visualisierung, die nur eine geringe CPU-Last erzeugt Το Spectrum είναι μία Οπτικοποίηση που εμφανίζει έναν περιστρεφόμενο τρισδιάστατο Αναλυτή Φάσματος που αποδίδεται μέσω και κινείται στο ρυθμό της μουσικής δημιουργώντας ένα κυματικό εφέ κατά μήκος του φασματικού πλέγματος. Διαθέτει ρυθμίσεις για τον ορισμό του ύψους των στηλών του φάσματος, του τρόπου απόδοσης των στηλών (συμπαγείς, σημειακές, συρματόπλεγμα), και είναι μία ελαφριά, εμφανίσιμη και χαμηλής υπολογιστικής ισχύος οπτικοποίηση Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great Spectrum es una visualización que muestra un analizador de espectro en 3D girando renderizado con que se mueve al ritmo de la música creando un efecto de onda en la rejilla del espectro. Se puede ajustar la altura de las barras, su velocidad, y como son renderizadas (sólido, puntos, malla). Es una visualización que utiliza poca CPU y muy agradable. Spectrum es una visualización que muestra un analizador de espectro en 3D girando, renderizado con , que se mueve al ritmo de la música creando un efecto de onda en la rejilla del espectro. Se puede ajustar la altura de las barras, su velocidad, y como son renderizadas (sólido, puntos, malla). Es una visualización que utiliza poca CPU y muy agradable. Espectro es una Visualización que muestra un Analizador de Especto en 3D rotando renderizado en que se mueve al ritmo de la música creando un efecto de onda a través del espectro de la red. También tiene configuraciones para ajustar la altura de la barra de espectro, su velocidad, y cómo las barras son renderizadas (sólidas, puntos, malla de alambre) y es una buena visualización liviana, de poco uso de cpu que se ve genial. Spectrum on visuaal, mis näitab 3D spektraalanalüüsi renderdatud 'is, mis liigub liigub muusika rütmis luues laineefekti üle spektraalvõrgustiku. Lisaks on olemas ka võimalus seadistada spektri kõrgust, selle kiirust ja kuidas ribasid renderdatakse (tahkis, punktid, sõrestik). Spectrum on hea väljanägemisega kerge ja vähese protsessorikasutusega visuaal. Näyttää pyörivän 3D-spektrianalysaattorin, joka liikkuu musiikin tahdissa tuottaen aaltotehosteen spektrikuvaajaan. Spektripalkin korkeuden, nopeuden, ja piirtotavan (täytetyt, pisteet, ääriviivat) voi asettaa asetuksista. Spectrum on kevyt visualisointi joka näyttää hyvältä. Spectrum est une visualisation affichant un analyseur de spectre 3D en rotation, sous . Il réagit au rythme de la musique, créant un effet d'onde sur la grille du spectre. Il propose divers paramètres pour ajuster la hauteur, la vitesse, et le rendu des barres du spectre (plein, points, fil de fer). Une visualisation légère, peu gourmande en CPU et agréable à regarder. Spectrum é unha Visualización que amosa un analizador de espectro virando en 3D renderizado con que se move ó ritmo da música creando un efecto de onde ó longo da grella do espectro. Tamén ten opcións para axustar a altura da barra, a velocidade e como se renderizan as barras (sólidas, puntos, malla) do espectro. É bonito, lixeiro, de baixo custo en CPU. Spectrum זהו חיזוי אשר מציג סיבובי 3D Spectrum Analyzer אשר זז לצלילי המוזיקה שיוצר אפקט גלים לרוחב רשת הספקטרום. יש אפשרות גם להגדיר את גובה פס הספקטרום, את המהירות, ואת התנהגות הפסים (filled, points, wire frame) וזהו חיזוי נחמד קל משקל לא מעמיס על המעבד ונראה נהדר. Spectrum je vizualizacija koja prikazuje rotirajući 3D spektralni analizator renderiran u -u koji se pokreće u ritmu muzike stvarajući efekt valova u spektralnoj mreži. Također sadrži i postavke za namještanje visine sprektralnih traka, njihove brzine, i načina na koji su prikazane (popunjeno, točke, žičani okvir). Vizualizacija izgleda sjajno te je malih memorijskih i CPU zahtjeva. Az Spectrum egy olyan vizualizáció ami egy 3D hang spektrum analizátort mutat segítségével megjelenítve, ami a zene ritmusára mozog egy hullám-effektust képezve a teljes spektrumhálón. Beállítható a spektrum oszlopok magassága, mozgási sebessége és hogy az oszlopok hogyan jelenjenek meg (teli, pontok, drótváz). Ez egy kis erőforrásigényű vizualizáció ami nagyon jól mutat. Spectrum er myndskreyting sem sýnir þrívíddar rófgreini sem snýst sem er teiknaður í og hreyfist í takt við tónlistina sem myndar bylgjuhreyfingu yfir rófið. Það er líka hægt að stilla hæð mælingana, hraða og hvernig þær eru teiknaðar (fyllt, punktar, útlínur) myndskrytingin setur lítið álag á örgjörva og lítur vel út Spectrum è una visualizzazione che mostra un analizzatore di spettro renderizzato in che si muove a tempo di musica creando un effetto onda attraverso la griglia. E' possibile regolare varie impostazioni: l'altezza delle barre, la velocità di risposta e come le barre sono renderizzate (piene, con punti o con righe). E' una visualizzazione rilassante e con basso uso del processore. Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in that moves to the beat of the music creating a wave effect across the spectrum grid. It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great 스펙트럼은 회전하는 3D 스펙트럼 분석기를 통해 음악시각화를 보여주며 음악의 비트가 만들어내는 웨이브 효과를 스펙트럼 그리드에 보여줍니다. 설정에서 스펙트럼 바의 높이, 속도, 바의 갯수 (채워짐, 점, 와이어 프레임)를 지정할수 있습니다. 가볍고 CPU를 많이 사용하지 않습니다. Spektro vizualizacija, kurioje besisukantį 3D spektro analizatorių, priimtą , katras juda į muzikos ritmą, įsteigiantis bangų poveikį visame spektro tinklelyje. Taip pat turi nustatymus nureguliuoti spektro juostos aukštį, jos greitį, ir teikiamas kraštines (kieta, taškai, tinklelio rėmas) ir yra gražus bei lengvas, mažai naudoja CPU vizualizacijai, ir atrodo puikiai Spectrum is a Visualisation showing a rotating 3D Spectrum Analyzer rendered in that moves to the beat of the music creating a wave effect across the spectrum grid.⏎ It also has settings to adjust the spectrum bar height, Its speed, and how the bars are rendered (solid, points, wire frame) and is a nice light weight, low cpu useage visualisation that looks great Spectrum is een visualisatie met een draaiende 3D ​​Spectrum Analyzer gerenderd in . Deze visualisatie beweegt op het ritme van de muziek en creëert een golf effect over het hele spectrum. ⏎ Het heeft instellingen om de barhoogte en de snelheid aan te passen, en hoe de staven worden weergegeven (vast, punten, draad frame) en is een mooie lichtgewicht visualisatie die weinig van de cpu vraagt en er geweldig uit ziet. Spectrum er en visualisering som viser et roterende 3D ​​Spectrum Analyzer gjengitt i som flytter til rytmen i musikken skaper en bølge effekt over hele spekteret rutenettet.⏎ Det har også innstillinger for å justere spekterets bar høyde, hastighet, og hvordan barene gjengis (solid, punkt, wireframe) og er en fin lett vekt, lav cpu brukende visualisering som ser flott ut Wizualizacja pokazuje obracający się, trójwymiarowy analizator widma, renderowany przy użyciu . Możesz ustawić wysokość słupków, ich prędkość i wygląd. Spectrum é uma visualização que mostra um analisador espectral 3D rotativo, renderizado em , que se sincroniza com o ritmo da música, criando assim um efeito de ondas na grelha espectral. Pode-se definir a altura das barras, a sua velocidade e como são renderizadas (sólido, pontos ou contorno). É uma visualização que não utiliza muito CPU e tem um aspecto fantástico. O Spectrum é uma visualização que mostra um analisador espectral rotativo 3D, renderizado em , que se sincroniza com a batida, criando assim um efeito de ondas na grelha espectral. Pode-se definir a altura das barras, a sua velocidade e como são renderizadas (sólido, pontos ou contorno). É uma visualização que utiliza pouco o CPU e com um visual fantástico. Spectrul este o vizualizare care afișează un analizor de spectre 3D rotativ randat în care se mișcă după bătăile muzicii creând un val dea-lungul grilei spectrale. De asemenea, are setări pentru ajustarea înălțimii bărilor spectrale, a vitezei, și a modului în care bările sunt randate (umplere, puncte, contur). Este o vizualizare cu consum redus al procesorului care arată fantastic de bine. Эта визуализация на основе показывает вращающийся трёхмерный анализатор спектра, который движется в такт музыке, создавая эффект волны по всему спектру сетки.⏎ Визуализация имеет настройки для регулировки высоты полос спектра, скорости движения и способа отображения полос (сплошной, точки, каркас), а также обладает небольшим размером и малой нагрузкой на процессор. Spectrum je vizualizácia zobrazujúca rotujúci 3D spektrálny analyzátor vykresľovaný pomocou , ktorý sa hýbe v rytme hudby a tak vytvára vlny naprieč mriežkou spektra.[CR] Zároveň má nastavenia upravujúce výšku stĺpcov spektra, ich rýchlosť a ako sú vykresľované (vyplnené, body, drôtový model). Je to jednoduchá vizualizácia s nízkou záťažou CPU, ktorá výborne vyzerá. Spectrum je vizualizacija, ki prikazuje vrtečo 3D spektralno analizato, generirano v , ki se premika v ritmu glasbe in ustvarja učinek valovanja v celotnem spektru. Vsebuje tudi nastavitve za prilagoditev višine spektra, hitrosti in oblike (polno, točke, okvir) ter je varčna vizualizacija z nizka porabo CPU-ja, ki izgleda super. Spektrum är en visualisering som visar en roterande 3D-spektrumanalysator renderad i . Den rör sig till musikens takt och skapar en vågeffekt över spektrat. -spektrum har inställningar för att justera staplarnas höjd, deras hastighet, hur de ska visas (solida, punkter, ramverk) och är en visualisering med låg cpu-användning samtidigt som den ser bra ut Spectrum เป็น การแสดงแสงสี ทำให้เห็นการหมุนกราฟวิเคราะห์คลื่นความถี่เสียง แบบ 3 มิติ ที่สร้างขึ้นโดย ที่ขยับไปตามจังหวะของเพลงที่สร้างผลกระทบเป็นคลื่นไปทั่วตารางความถี่. นอกจากนี้ยังมีการตั้งค่าเพื่อปรับความสูงของแท่งคลื่นความถี่,ความเร็วและกระบวนการที่แท่งแสดงผล (ของแข็ง, จุด, โครงลวด) ทั้งยังใช้ทรัพยากรน้อยได้ดี, การแสดงแสงสี ที่ใช้ซีพียูต่ำนั่นก็ดูยอดเยี่ยมทีเดียว Spectrum є візалізаціє що показує обертаючийся 3D спектроаналізатор що промальовується з використанням технології . Спектроаналізатор показує стовпчики змінної висоти що рухаються в такт з музикою і створюють ефект подібний до хвилі. Ви маєте можливість налаштувати висоту стовпчиків, їх швидкість і те як вони намальовані (Заповнені, контури, крапки). Це досить проста, і невимоглива до процесора візуалізація, але яка має чудовий вигляд. Spectrum可视化效果是渲染的一个旋转的三维频谱分析图像,频谱矩阵随着音乐节拍而象波浪起伏。 你还可以设置频谱棒的高度、变换速度、以及呈现效果(固体、点、框架)。这是一个不错的轻量级,低CPU使用率的可视化效果。 Spectrum 是使用 描繪顯示旋轉的3D頻譜分析視覺效果,頻譜格線隨著音樂節拍而像波浪起伏。 它還可以調整頻譜長條的高度、速度以及呈現效果(實心、點狀、線框)。它是個很好的輕量級、低 CPU 使用率的視覺化效果。 @PLATFORM@ GPL-2.0 https://github.com/xbmc/visualization.spectrum resources/icon.png resources/fanart.jpg resources/screenshot-01.jpg resources/screenshot-02.jpg resources/screenshot-03.jpg visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/000077500000000000000000000000001361526231100257035ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/fanart.jpg000066400000000000000000003723471361526231100277000ustar00rootroot00000000000000JFIF%% U%q5mh`H3 ֯w!"sȌ:< Ը؟hTU!E98PF iX+6(PQEQEQEQEQEQEQEQEQEP ($=CVCd}xg8B p{sJIJlzZ]}&Z,G)`9`:SZnFO^=j}))w00G?Z94S)$(aEPEPEM.5_71!ϧm9擲(Q]$>fp }:㊴<~ݑ"8InIfhUU&';J?N 3+uT7Diw8*+) z3\ޅwlXPw򨧊=6:hb#Y{tS6}6 Š(((((((((((tmQ8.muoQYS]jE[3Ƽt*Cs1Dvlnm X۪Zn[9ƽS^aԝi9n21Q]GoJL{~?ڲBSzj H'z~өykP2i€}Myh=:^+doQTe~F 9%nGң,X~]kr\|Ѭo\8Z+TpI(AEPEPEPEPE[]/Pxln< 'Bz`L"-P1? WHXQVΰ"2&^O<i|EzԊݒt_y]ucV7sd?2;zY73 kbK1wqWaw6_!k÷\Q"etY U9u,U:^E~mRk9z_/樐TApA8w:Oa(8;c ʶw"LsJ'鎇ņ@(pXSQ#r~_> }~q&;$I!jo,8 xT2.b$疚18+IDQAe7o 88S$H 1FCI[G ]Eym gT76BbιGl(k_jʙilrTP@o!A!ϡFtK,( C缶F7VL+m GcX-$u9F?W'Fd]r(7{CI~9GYbBvI>XmQNs]Oe#cpqV ƞaATkqFwǁS$K3ȬA TTuG[ztRlae?\sS HXs"m LBݯsT346XӷS՘QEQEQEQEQEBQd 9bQU8:V<;K{kD!ł~mG)o2 Gz6 UB }b-_x#xsR,5¶TsO2n#RH('vHdިƮgmR_y*k?ZyFfwe`Sܑ]yHWc.pȭMIm6EVV<ڵIs4QEŠ(+COu QYq̊dL.i/3>6[bp!98N9 n8R)]0-b2(PQET]nۑ栢dMYQ(mNs]K+)F[Vd9S]q0/c38Y`Sm;@5^s#2f9ֳ񌁥%NkPx$U,cš%f*#ؚ^T9&#ۜEљqSv6~c+ԓWջrimeXxi.qޜgK}or}Xc.y 𤙮@?VWVr&䥵kOopm/GROG5"$I2u@ME$m7: iX$͛:v aRN7g颱eb̷pyrx'BdndJ,3޴bo7o^ՓOu5 PK'kRrwlRrwNW3.Rp*忆gMH"f'Asw0"w1ivKa(п6̓-I l`Tƴ$SNeJ(6 ( t#=Hp?Crm@۰v|qU\m?i|^ w^b&r*$#zof-/1z~Mw6Gac <|kIx@(^Ջs=M*19ҺIБ銩%mxtol%}4snhYuB19AE ZmSp0x:EZ09Uk/e.[QE”1S$QIE4w@OmtU9u"$5'8J+euIC[jytCkg[a*)b3 +{[BXO%Wm 巓|.Q񌎵jշէ%Z}F0`/^Ni EԪxe Xw߮'u[]KHA #.b;kX8Sy;ym:4~[FX̓[&|e%5<c_mAqy#*ry }H(%g-жy=D'8Z] _CZ5)#c> @m" Qÿ#NbHs]x#[TNy,USZ)#mџeEb?ݫ.cy ֫K5L=pOh=4EJښFϔ#8VemvG\iƕpf:))RE}E6ڪo~co嚥cGTQWEq?Fn&lW}"9RJ;wԗnlaxr?:.JXӧ\391'ԚJb/zg?8*7gYtU}~1,pzYTΧoFEW8Š((((( 07tRrjN(IVBHe=GzVmJr[39Q-Z69<h  rםnE}19RA \.7q]0D l_rd!$G88o(O5 'qGjE9)9nC   ")$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHEC !!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE8"L !1AQaq"2#3BRbr$4C%ScDs5T&7!1AQ"2aqB#3R$Cb ?e8lݟS0Ko墛6ɴq=%r~kcYuxx"%,tsLf RXOϼ8<7Yig~{`\O9_7.01[>l7F h ,9ex+ic22rK! 2ㄞV\vˏ; C1rX|DcA$,FZx2X,o-{2OZ[c|-A$r|ܲX PRϴ0e7K/؟qáhBhǚ>a(qPxQnO$댥5R ߁(g~’i>{pJ˙7&]PI% l(\ͦY 8xOeG)2y4];p(M,e E&zwPI$Ug}0"6[XyY0ו$ nMk~0 &|Ik[}Tvۼʏ%ߜoeaK=9Wl Z暊1x[]3a.igsS^O0|VOϰEg E<9w!\Uc+>1OM aIIw#Ja6ߧB<뗚1߫_9+ܱ=㗌e)$g 7:Vcb^ uqQ6rpK9NJ7J.dwYRj ~r#??~Tku%Kt64Igl?#-b EGIIw~\Iϕ6>ۯ%U8s{toJKQǂ5JȬ'Nym2qSO;^yhek- oNTχ8qMajq&%9fRG Ťc6(m~̕Qrn1o87²QrV\yq5K ;A9gQ^X8lgwno*n#Qy~Ǘh9Wx=NE(8RV#9~D|'/!g{gdˑmw0ZrsrtpJ5[[)AvQ7[g9},1qTt1)9$Scurv.dԣ6XָFiAI9|{Fg5rI7u5Pbo=Seon%d>YݿqT"Բrħ)cMaeDnHsr$s.ϗg9>'$Zi'c-N%g-tHnw@ۿ=O @m)eG/s,/PcaXw3{%ʤrK=y6`rQo{%Δb\kY6NQVI%Ÿj-.y7*iǗu0^/k=:dMjR[mʼߟh2+x\odI$-Nqqo#ZJrQm'_Z%豜6{x#~h8q5)/wROu‹RdK>Y?cppu8^bsP1GֹvvʼnC/x<42`RË7d}ErX-ovfe'y-o'QKbheŬc;6k [!T石K76;UniFXqyďyA4稜L[(Am.xk=Q$e<{/= c[. -F ,FɵsJ1TOn&2(g#02,s$T;qNOs'1FUZy2ΰ36IXigl)WVxNO9F& ̛\q}0issKf̻e*ԧO1O;BݤuK*qk2eS|{8kQ9?eb<ϤV0cRrLby>}m(PcR:ʓۛ8G ()ec|f<qZ~Rns=qO^+F*mg ? G7wަeu6=~%%Uo2sIG />e'f|ܰ.9'ɕȥg>=lMh|xa%A >ۚ V߲9"qxIk&')O hG1Rv5$'XXX[穃9M. bYY,ĤXdz1.8lj l162*ZK){LFr]M7&Bj+ltL`F;FJ\T,r<{̶c{<-8I&m3i˯^wHK)$sӼ#>-Ǐydz6z$qV렋o-8m|tɪ|No/Xy%'7p2K3Kwc>,oվԔ^ي}R2/)Ï}nwlەFQq\g4*^aI%„bfVVuvRRr㗝{FĜKIufY5&W,ga3p"K uʇ4z K}C.IXPq{5_qriocO{+ofMn_b2cȰҒIt^}&9^qu OoxMwަM7/eŬF8wSe5=z?xk35[suf;u#o;nV_~rkjŘQf9Pp7шr.t|",kuRRgdv<ռIϓwɷϠ#)emd'eQVK36e>fvz6eaڙ̞1?~#EwÊ6Jw5,7˷Px\IkKoj9K$(g~6gn5sm)J>4.뻯CI8Gia,I?̣xl\-+_|M7}6ljb/>,\ ՚,eė,x(͊1J1 l>{d=qc$䰷3Megwm͟9${<-odV>e〣){Yk >u&?6H')'<߫1!nXf+tا[ėF%[!6aׯ8ٙ&gdȞ161(E5ow}/~#xv*ܠG`hN_mصU%>l$kF0q˒~5 ۧ8ǴTr⟪bZi&\b887fabxAI'=cUU}p{dՑ}{漾ÖV/*|m>HXO9Y]0og354YPqV|k~n;OQrTwn_ MFIce͝zQOa6|򝎄׳&}#6 ;%'-D#7rIŨǗ ~y7w&b=0Kn˒ _#YVwԢoxzRrQ[Ict p^m'jmsBRW.6ow/,yS,Pfrs[ `$3\xۯqp}"ifM.n/oo0z0Ea~($T6ꃛ4be$A'(glpv <Ǜ+=`64eeg MljxM i瞆a9a4v^2\QO{ 1T0ۓmճ<6 95͗T}\ 1G$0ҔO ."RxrQ1&ܞeg$i{.-| #Ǚcmr{S1ʌ;eˈai֜Ԟ}aJ'Ư2퍷2||<96o%mo^F#milͫ:Ĺ_pbRacd.V=ı8w,En/|eLA3'6VsްjN-Mw'UBq~qydXsK(' ){߱,4I,7͹fNM/u< O˖8{1Z1ݧ,eYIg4aJU1n/u,'ɼܼ^|A-ya%)7.>&%$߸y1g{K,Jk{9crQr.+9~ė,x}Qӭ4}fm*-{JYI )OxqJ\V!9%7BJ wS.sb[P^ʓo#9G\!,)F/<۵仴5%c2_@09W=$}xi3ieew .];G3o+''7$6w')re3|,E-I-Iᵔ1s.l f)am߀x{>/9}6` a94fg7d0Uqzyɿa`%ZO.*[tf^')ZImb1agwO]|Me&~Me.ig y%oe5!^e͗qx咖ٙ(G'\s3%$ܿKdjMK-XoB l܁vNBN2LĢ'uO FN2R]SɽWˌq\lQQ2Ogӟ?8ϺHeSMA(. <'l>jˌclnhoT(Or|ON\r^QXB)iau2\$ܱ%GDeͲyXgg۹lnk^eΛ~ \{M㎀bsSjQyMwPn{a4#p8 /$6)BPRj2kQQ6V^VXu(82xĖV%ˈ8`j1Q22vN^y7ʹV{v8{ ?N|rsjnSye m[ ˗rOxnCϗ8XO=q|^=6b8\w-T߽x e<+u+˫0c̹߃[\$()4` G>q`W*Xy\isrK)'Vb0ʳaywM`RQ+]^z띳P.R}C6FpEOr90͢ݹFĭܳEj1Ym#+oaX\9R’|16zʊqXyx 9iʆjY?ڗRwݧ`xl&Mu쳕iUi.j[7Ig/=M@)OgfJ*OyO <ϓl7cV;3%&6y[omd#').edyy1~icd_e+ggsg-&rn*/鱀3%qi]JVcT\^^o~%'ZD}}yXiT`Gˑ:)5T=U/V=nXjRMu,cj~zF+]RE'1SPp2vm,7Ġ$Yy]PuN;yh}.SRP]O/>X1LJqֹKA~<(Կ'h-zgIc[gBY"ۛrmZMxm8ߏGoCHf\5ʓoÿ9u% N!rٵu鮼[\ZL);E yvM9h@)ec)se9K;Uc%vMmk  ʹEI4 oIy}2߹gwe9M'$s.dI6%~( A'*Fgn^=r`ô*0\[aaZc㌼=f_+Qc޷Ka|;y~#ìڎrܵ汖z=U5gS"YQ,NXiw.OTUo;ak--DiŝȮIx*-M]~NNeqFOʖ.ۦ!SxIxi^:n^^Vr-(JXŲ*{S鯢B1$y21cRiLs ]*r_.xK o%$ߟ:gn,ZWƭdܪrJjO-̢'Q Bro53gs8]PrM$^%4h쌓#O;sIӬRq9$oؙ:++6ܡlIm5L>tuO1iu)|;[Mʸ'lf|d„v(e$=}_e;"6#ψ-D.g,}F#קW77屝=کI=O2Puu+is˓yemiӹm5"[Mai h͞cKybTW/#yg?Tq ƭDVQzr^'1m>l}2WDΗ2;ʶڔ^Z{~HSThuE<7:THq.^s4k+0)*9III-iLDlgȊRn~pr 6+5fnԝz?l6ڝUro).~>2Y򯣌zmUS\%/[,Y eMOv}c>>9!i#eu(1m{yo 33o9Mjt1~_7{k,Np/8Kژ֖lf0߻%v2*}~=JbrL 9BngV'9RWl)Dz]OK7=?iFK23:fpmNO=6wue&G f'(Ф|&n4d%.X)a~dQ<rR{lB$e̬-;&q3.UDq'-1bj0*“Y̰s;9^yk(t)9^yp3g4Ν.V9c>iQ %ʾWQEEv0sIw^Z]O9QDVtE,ts-[InEoO EVU+ȊaUvo' .G8ԭR]e%-凗s4 u:)_L&~f[ 6*MUQpU,6Y_lJ+q9-'k.U]1{XE>D1cUO /B;ij8&Ico3O79])gi,zvtrNq7/yAִ(lq(21Ԟ} E <pK-#M.mNRτzma ƸC/tDyF.srr7_*QfylD[%)igJ;W~&1Nm?kgl 99ǣas˖cu%*eg~7ithZ>*flQ ab=Q'K\QC8xs>DSZWdB)]Tp{g.f[qpVfYx_)KmVS8)7Tq/+vrJ3SY_$+(\6Q49;-\Xi:KL=6#% +/~+8Ù,N ,/յ!p=$jʌ>WFWi} iT™أ)K $pq])|iY_~qI_4%_xoNP2cDE7mveM5 oĆTKLa]s+]DeMO yu'Rbསye-_ Lin-{iȵ=锱e tҝVp}gmyMU>9Jril WQVRia%erSiIV)))5=Vq6[\ ˽9oG WEӯQg*M}3m'GV^:F1)+16eq0}$/++ ]UWJR Iݖ0ꋢ.&/[$*VYs8<5lrF~-9FIrE{a=j\_>pFd(%쭶m-koqЖzBI)G;/v<>E{&anoKt0-d0תrM?%)+v֞NiIf)5oo46VZrЎݶiM-\.-EqO9xK.g6V㘤ܶs2t<%c4OMU6ne_Gf.N˥|# z'Ѳ!SkԞ%Fs[USYϱ9[{+E;<\yFoXPK;?rvk}6JubιyT9v}/!դ8ôoV*ۢv\veU){2[5OI}&&cxi T֦U|1s=%=f00E%NƜ0ߟSh×I+k2,RlpiW\' S}ei{8QѼZ/]t窄+ϙ[9^)z9iiGNeח-f4uZ<+JM=*]_.bdBvSU8FIKdԺЬ|LoX]pY+8[n% :߃jjtlPRmB]0KqԶ'o%[9z_z:6̚rQyqG8>+pX=q/r|dIk(T(¬gp%+3ƹ$/\ ]z*߳KS Eec=ҔV]s#jye76[twvFqQ1'ͼzxQUjѶϋ""0,W,S7x[c/ȅYѵK9|ȥ-"N\r9yK Ԝ+d~_?MrU2쫞'bmMucyɹ&r99J}=9_g+lyQ%{V ة/fz,㨎J9K=,-&iE(u5Q]7D%D?^*7(I(/kAtn^sW%,|Q#5G/%iG-y"EW:GW$Gdvݭ]{s攲I|Q17OWe[~ 6|bx29W-qOn;$!89Izu-3Q].˗٧kr! խJŔx%Bo >VF.Ү^Uoë'(=c7Dci7[pgX%m?$at1 o*ˊxYcUo{jkVru뎯$<4I'=t}?N⻭yYVss6ʺ+)\}w~Ӈڜ&'bv,P^<=-ʕT헻[cBWbKGvSJ=+&Oϩ"z";VT5)b}=W^rۿb;(rEwé.2yqxiX[Ju򶥴Wr4f=^oZR}WῡjOIlߙ[6[9CV*䯛뜙'A&#ew[I|} ZDFنTll\gK9r؜U+뿴"][mRk;xxk>-;peSYmw&NrMFQo3%'y#jFff>wW,9Jƣ~f*8mrG(q7aVݮliy۶wZ'llK8ćXܪ盖͸n{FGrIsJymwt \ͷS 6҂AWZNMN>';e_vی F=dڎ} Psc~F-_GG|O 5O+'V1g.J/*/).J)Xe1USWMr,aF]s=)퟿{V8rwmC~ݪgΣ?gl㸁Qn-VNO7'%Yֽs3(7Yg$,}wп*Py]"8E'ܰ_ퟓWKjҾǛ;vϙ1~ Q&Tg/M$j.2)Ec8J+,SLgiTe,5jI~ѐɨaC+gyy'.Z[fNq 3盶k7EZww3Iֺ,~[Fk-w~fk\씗.9s8Oty^bҚy{l N0vG K5tU>^lrˢ0Q~DԤ1-(xJrm,/EƹeJw>%[x[OSr&"JY2Xx"cP{~Frsĥ ^enb"-3u6bʌ3&<psUɪq]G-T%5j%ަVFd5'-ҮSIe43VMG~$Qynne\a8o\)>~gH-Kms}{O'Mk˒k1{>)WMn0|k)kQj]2į*RÓyXioW~R{D.ʘvǴyz%%L껟oahwxR6̳+I_"k!8yt)(-MfIŬsum&s͔CxxHҸJtv_U״W/Lޛ 8=sZ5+߼a*{"x!mU a&KlVmyӲPVY^PYIgשpkWS?Z'._1*Z~NQ| l$ ,7*Qd){>C*Uۈ_YwJ"V9vHD3S{qĵ9s,Ed%lAhG {R fSla2Ų?hVVdM/s[q9.3nvhd1=ɬ')FI4<"[e(1;"ɥg9g;aWNa%(>%+cg;<=&2Ux.j Is&c覾_9{ksxku]WxecƐs%챏rywxE2qMeXxlgeKMG>+~i忆?N+KQriB-(N0qKlu4W>Y8){\i )\"bm8aN-(cfidl9zLvFi036╎^}} d )9={JTXyO̫;gʧ%!8&%j%IŽ<¶j8,(˿;fHm RόXRv)'4sj* 1[tCXܔSD>/]2=[Vc)'UIEnQjSk7_xM<)[% EnDWdjg.WζxLXP+}vM(J5;"ר+PJk/ 1,8og^^-EbOg콑3$3PW*:mSJ 2ghbQXX]zBq\[bw]}sѳd׵(3j]qk+b.Ail6AÒ4V5ʱf_#Lvኩӊ74tr58a.nE}dӚ[.b!hm ғO ɯióMXa&1ĢDvm\VO9O5=ܚlimQt1hNKdxg#Ilm>YJYK SV^Lhfʞm%)<Q>ws.s%RXmNqxKy,(J͎$Q2[eZiOL}N \ݕ⛙sʸ~D0Tˋmy!^g.g^7.nm[z+lIk> (bʒs5؁9W,U$r=k[Wa}yVfm6'ftGl6[Fا&ZJ8ܞQsPo1*\c\{Na6/y3Eyӧ8g#ޮO +ǝ,E'DOfO[F}ҿ+j\qM;cXGڜ]׆o̢>x:cZXBgK9n&p%sug 4ضn&7SkV;dK^71'oʑry7ՖL$=Svm5~e9CP&f@T'Ro-"qQydQ$KtyI6̽^FR/Orcvy~o3DlѬ+6eyr ǩYѷ+FTrX\zYm4kbFbENq߹e IǗgE B\2J̓M$T^:ZHY3߫ Ǖ+Wk=TT^S0Ho l'՚&<1+ɀMm5,ag&6YO&=Fw"]_F8 x0 Dp@pBi&)E~hi4ESL/qٟynKOCWٶe9:8J-uRXMLţ wb=~EߦZh㱞]{{Uz?^ՏOWpݾ5q. F\=QtߩIꦼRg@=EiK8Oc4݌Y)%+EY[yX54Y[yF}Exʩ/Ќž8eP mzyp;|#)kz6-W9o8,A)m(0Y91u8ҟꊕ9${U|QYku'whYQnZvog%-]hM5gb~_m%\"Uیa;z)B1n3IymĺI%uts?W.|Lͧ/A^ O/>3>TY=-(Ÿכ/⎉D^:eIgiFoIO\J~DCEQ?IcƛCricRNm?"ZDR})w;j {۞~P.vKg/σ+IԤn69owu#fZ}̲:oOFTO$oxwSG4 E% ok)]>2++2}&wLG5k>2-lAԹƣS <~'[O8xN? mN =<'ki ]o(]"cmx(%l8~ yjm,hfej|/IO:/{G;{G!+q_z!g։+DULꎝԦcxӴD94=3!VU~;5g$z<^lImGeuTJUYJ_RrY}mo_W[">yq-Vs/ن"[V;J GO9Kp[= '?ajM&b/SOԙCȀEh~-_/i4TeerSuUc8O?p!h{~S< >*5y|f_ *37fnKśW\횅pF+,q> g Ļz)W4=szzonQU_֬P8S$U<| waI-6N19;K8s<4HxI[(iz\27 tǙijM!hux=S5!\]kkudwJu|cesi87 Z}6CźNJݍVY}rvQ^zMz,Gn>я𶝪8a?YVmh]7Agu,?7EjqٙN|Mk[יz<]f/댿ckQ:yIl[}Wfdu=W>x)|(ic_-_qkr JM-йKuɵ%9a dGpemޒq5LGNNqz^ 8ou)}֖?k̡(V+tt'|zV5WYBJ[z3ȭV]%OL윽Io[馮=)U/[)vG5AkSziy4V&-Ӗ(:,cz#W hYM͓?a[J:5:}+D|sW-2Wui4—Db~R9J)z:]. u}Vc\79tRs%d?skLzk~6G,K-ĸSk[j\UVML['4e(-ꎅJLw\&mncuu#ُͷկ#Mu4WiEqoͲx8cG4E9b/͡T4>_ 7Ѻqg8'7kR+q_tCp-LvWU9K sK~5/^K׺7y4-f|gv}XVoMF*nFلԿ"9{SwNoԽ |+qQMR_2zE)#YG,^ū;Z\O/VG%Y3Eߊ7\(hEZl-jM&_Vߔ5^citl URߚ=v[pBih%Vq\K/\RwS;gsƯSIsg֯3<&GnKy^VS\ZnsshGp%SZmm:9tS1eFp{,9/_{jrMO?_iMgzXS4Knl8-a|Ν=Z{+n,82^IK^_}Fo!8U)iǒ-ju4ٗꩭY+RU ?,GWƣvqTbVWMB~0L.OR[qqyښ^?AxtK$FN.9ɧԢGuKqYM,kOtgVsrz(*]gSǮQi%m_6Oj^5(0 fW- ÿF^~cqI }B4FU_kU.9מO\|ek>jdlQBNh$uE}ڎ̃WuzmRJQOz)k5,Ynp׻QKG{QOOGGcK_ /8=ͱ)ã^FYh쓯X&i%e#*uw,NU٧?SWKʙ%T2_Oәk |mE-_۪Mt`tJ:t/(?Q %8i>DvҜ3r+sWwn]qmS\}[ekxƲՉN&j{zu=여y'7uF!j}D[m|mM9_~j-Xx+W{YI(|IYk±rӫ-SƊߛdDL"gҌEciG'v\e,I]8`u7[|"c(մ5 =5+4**VCR[Ie3m7K(XK=VW1~_=quSzyNqxh,ޣO[Zw"1O9AGT$KM&tJ5U3ksib|Z>sXz\\=#ZSSOl!T!_*[ݜé܎YjVt/xŝ#x4tȷ,}_Th7j3VٮU4"۹KC/fk?Ĭ7'"5*'LZюVӘt !'V,_'vrԛMYZekM8Nk.Q7E)IңKi]2|ѯVԧ ,rEՍ7+].YinZGJ3+6Zz~ɸ==㼤RrΕf0ƛOƶ#&u!X澤KGS}XY\s^JDNgiZD}g[.Wg9M\8jH;߲rfQ'=t|hЙ񇏫ƞ;g20}!t|VSF5׽8I|z*3{[|pnk/iʵsM|VʘZY׮{Ž4Qt*'9,=7J01ow[x98Og~Ϟ'\BN/&c_ZiLG3çOuoR߁~߈[=-p;mPpK=^sl6m5HiΗʧܯIyn'_YkQ\wnSizu=3߮%8Jgmu:sߺ=j>|*|ޖp[Y]ŴW/s==/w/ %w(٦8ƾ$r9<᚛]s60CXx=Dx5qz}TwdV_kv3oЮ,acem3XˑZ(\dN=#i&JzXENH~#tߩԉǣ0~ 'J'<~E 3~qM̮y"QurjnU͌ '?f9u*>-6E=$4IFo˖?#{8E)6?2vsg#]*uOSkLSc铌ZMƺgf;ֻCNc}"δ/GU}Db6R5AZej''ZMɯ+M9AE9?u=Gb 1(Ec/]<'54MVwy*Jģ(5=-iأ\~紦k?2N'xpamѭs%U_qm%=xmi6|"j.2%m*褒c[tr?_'3jik]Wd?M8ovNO9N y"5"IgNOoDz\Qtm弿3Y@)R5zI#ekzɼsB=DGj~Ml׊̞ĩYƿ'R8\If~Z#- oL;a?h&38ESeK2:G4j ,K;M4wKtmJ⎪^cx=WMhbf={Ug\ug;ɳBM$Z;;؞l[6\f#<#}"=[[+f}.yEI'bk1j>J+5~X&=Ot_,hgɪzK> wGtI$l cU'4 TKh0+ΞlyΊ|Xxe:sj'l6k.yXMIM>&3V _%\[{#2 g5$[!PtrSѨ-Y QiX%UgrΞSO4&k]8?5.men%Uygrdvp5+p;2tڿG4=׏1>SmnN1j+ӡ7E+[m7VQY}۾oCi8،§gU3}isi՞q*i~jޢV2V[Qm^Q#O'sxʛȏG<[zuGv?1*k~T&SWA>1w줊j,^e4SY~5_Gxķ,_,':t2p^:l^ 'XQGD%˩x:ūºыnPqkhץĹ){Σku4rƥy$SgE5)K̼2;ĩYhrR#eNrk8Z#cuRى]T$ƥ.m~G#t?MïUg}x&>;KdW˩.jZh.Syj8 ԪֺdNe5̉ҘuG]|'(I+&A2뚋YY".:=^O/^G:/xdzɬƹEƗj5mOx<|'z_z}O?$W֖U]|Sk|o';ztf?)dDݝ;~_J?D^+ ~-';-KxU+)Nsd\YZ7>|}y7lSgRr^M6a ߉zFd-_M}\z Veib {Ps PA57W4ïoi)||ГE E<6u8Wc;߶r!,g钳XiMf;.|:ZUuXʚ5X~4?"?n(٧^;T3t/~uʗk%+$X49㔚܌"u!G\~v+]5=Bԩl.G՜ 7^^{@\= Gk_Ͼ|-6g6Șc{8*PxYɦktE%ZKu:,yB\%7)kjy]/\^Rt=}~ǟ:i?g: ꪮ*T$w"k 痢g4q_۟kwجq(DēO`^B!m:-$ ;~uqL_{ɯ؇DR||jS /fHc_Z}}M$ypT?j ɕ x^M+Ij5>̹WMg Ǟ{33שl:Q-˧& )j[9ˡo UYMZQc'ܨ^}g/#Xw4pI!LעԃCMJ^*8<n/1m?b! Rg:q),ml&QQK9\CSRy;1W}~YWp\Y(tjcM7:|.D D{q] o j{(~1)k$}dCM]Z^Iʚg^78j(y4udgQ+dr9?6tY :pX+#ub.dRm69N/-∢aT[sJ71lGjdդs:KQL_-LV'USo<-o~S3{cY9ܭfq KMmJpsck:8TʥJģ9^@MbSڽB. .iZ)9h2sGА+1%mSqs/:$)Ydē̛f,^t47ťb>n/okg+0K4B:u!6Î=F  ߯u)gIgg}ZNGS5Y',?N3w==-u[:'(ɤה?zR3)P5)%.Z,gYeli俹r8dn2/^%IvWuiN,-[WO7j_GWW8I e#GJtZY+,?J/8댞[|w[>? 6ѝr17F\b)x<7UJZڛ>W?zRKNC] f?/P:s'q9Zrޤ*gS #0"A Dc[ 4Zv} zms[Y:QẹK⶞ յbٙy{#dM,50~/'z}D-=~h9uE&&3pRM.L[ģ= Q7&l^S~d?dW|cS>YFWR,c^S?5X\#9!9ȶ!4AB*O?Grma{_IB ftOQ\gJNOm]zMN.["/VGK?,2%Zbf#sKŸNWmO~gOVG-a?w˨5ǂڝmW#ȥ };9S &.Zk3i{7?Ȁt1~جlrQm%*(IwS]M$FoB7bUQeMLhtɴN]13.Q\EfKz&&ce-he 23ͷ])$%_ESg7*M҈ܭΝy6˵ -u;^9Bk12*cpsĹKtqN(rߥ9X|9P~9r4z]o iE$q-$V%teOKu Ŝk̺| RQ9TU:לBFsyX7צ=4zJ8PR˺vzh[szxG$_7uh躜u|!֢H)T4$1>8_b#ĭ(]K89?4+3쵷mX}_؟s5O&tX-*oOD}yžOg*c˖KO~l?9ݶ?9a~n%m5z*;rIGגpo):vQ_Kt]R(/ıOMUKG+(z2m]KDVQdiК|n?oL}?04~/)FrxR\Dk6NޓԬD^U9l[-5_$jEJjq*K[< g:vuY_ GӪOOymDq6߇Tq %ti=p#tӀUPsN_uDnW?e܇V]LG^5W߿D@O|L̶8.i|rK%p9rEed(X:q X̪^e $t&)1*^R^x(Q3sKCZ(I7YNLDJУJ n򎣪ēu'ɴwKZ_':+^- X=ECFN˿Gy4+L1ϡ~-gV1䰭P<^::Q+=mpG3uM5+9-OO Z`E190QTWɡ%7OԌ+edSCs)*?R3ik${'&x}a~%Xq^ [EUߔ"5뒮Pk |ѕe&,,k8^y5?ƞ*]rKѴ1%8VYcb]p *4ҏ66w*KX4ݜVdw9p}Z֖[T_Vp W#Ϳ:՘i:0kn'f˽Sgcjg liVp9?^k'wٴnpeA?eN]kGm:tt?eMe}ĺ77rM`vNFv̰p@quuzǻ9_}5=/51uKvWZ1`Yuttv6Zx*Y֓nԮTiwӃi"]7imRo$KyY]ۻN=r%T}&WTW'^)ѯUɼ_5:kGӥiqx|t5NQOޏF|խtxz-BS}rY}^ZYꠤk(fMw<cVԝtr'Ƈ8c(*l|{Kr6M`sia=gjH^~Nb,誓7CjB=ќiS$k|E}oɤ韚/ :cQ(-. |'*|%|S{X_wDKKF93~ӵqpuGxƹgQOO2'52!\> o5+J>ٗv5"mEfM$dq焣3jc\qSO-nO ΩW)BK/ i~ TV>,Եojh485 ޝiorg8'>|_Y>(+W߾ft*宖s߆N x]∥^#)BRK~Is/1WQߏ^69u5ZK$[^XRuNG4/5+7ɵ_GtPÛ,/Ҵ^KGis>R9q4.57?[usyε*'+Z~|b0JwW&/FBK:w>'^n^zŴOWUr^JE}W wtH- ůNS^-,mHI1tj-Uur5( $lkÖVxYן {4:F-Y[+1m? ;me~_M]ϙ\ 4eKzaVIm3mm'ShrԹ_s!'sHiVK_^^}~$Je!W9_V/2U7hIxMxOɔBYiKEyslyOųS9/}}vs?7_27ż%'F9k~+[-]w00lyy7Qu_wu;/L`NNb 9d'<1:\EqUYѯnOjW-R|CS?_ҰkMWj[K-Ds_,pk*|Oy}gs\BZ,}9$]SIۿtko5mU])v<46d똳SN[^ƻUb2Lںܓ1(N{atN;x\+()Iri%S:#ce UI~+@ fIx-VV:tYj^:Ag(< b'&ϳ8z:5g^ԟg-~k> 3_rgW?iq=E0moe:tzDviK-%cOJsxzW2:pԤX*$ciVAwkT&dFJqR]sP3+zMdfkk4KrSiq:(YYkE>},ߣj9?r?HtW̡ji>:FM y"zmFuUEܼ=Q體op+bƪ^=#m=i'eji\k}i_M(9A7/H HvkH%nQ*8/٣S9K_< .Q7֘FE[o?YW{Viy\q+.p˞:ZG+jXEyc*ۡS]1(c:h4pjTu8KLim1?/O%cܭ4tn9hPq'KK>2uMydunpIO(\al(c):S_,jNb%bĥ+o5 .LSNMLgZE&5U(Jp~&+3B쟔RG::ڰ(Z;ѯNڔDb<ɽ+襕Sh]kO-Yu9f?2)]TMGbW#WNr^bT\>nXܗfJpcyR)yL:ZN5ɧE6t8{ҫs~%CR8Mœ=맏6y~ecN2^{UKxϓLhϲ6icSO2xNVwn=V5x~(Z#o:S;p]4o[d5^,_Iuu-D^o?jwod͢7Υ-z?s0eikDu)lO2X?4 ŋ\u׈oS:G6:EKЄ5jT֭IV#3ɽwX_Sg[Z^د96m DC3j%X+ױ/RVZSg<Р%h ,SBЩbz[ux/RSVAZMD͝ /)(Acr]zgI2|g[^3bLVͻį vrPQkl<~f%%(o2h|R{?0Ybl~(Su~Y6M[=BqsYBOɝô8q~<ې«%[(ecu(Ol`n$[G6L'XN0г[zEr~bV=K%M[HR[ѯfÔ-?Y:>UiWiLajgE-Sވ>>q(j8>iK)Y4 YAszL~.H:u4d]j\-G)F>)Һ]j,۟xE`GV-5œuW&&RshvZ/>ur9V0㓛gmd_UէQqI7qLϬͯ-:;'JDCʮ2~Kg#Zʪ3ɦvzJhVI㱺V>mmlDhiG<ż?WKŚkcV2->ǞlmF+ +d+ۋL;'-intMȳwhlW(gO+8-Qn*1__ҊMNÆ*Zm/}fiAdÎbgK.ppC3,YW ߆IoTM[)]oġ2+OpXy&W&Q{htDѭ3./ VBjPBXZȡĵuMVxȵ.MMgWńIyq?~:eFI,RuʹrbKYu󔼳Bכe-Y-Z=)Թ.t2c.9bR:tQlH4`9w95>'tmꎵsuy6΢yV?l;+g-&]:u }_6شn=_ȾҒikI>S얤xŲJ._Xtdk!ɪok$:yw]R6TnC+rP?kxϡ8t8bB^(9iJkqßO8(xݦt42.?% lȾkIXF-!)r,vQQ>\IRSXZ3U?њtqi;WԌ58UE:4f3x]Ӭ\Zki>5%:Lm^ޯn1E]Pqj8O#ռNҗƪ]%ls=M>gFM98zFԨ4i#_m6[79AHrvW-,JpsXc>C&M"\mq9);Hؗ ìe'R,CMD=`cn]zSh_8NvQ=zpV=`KM=zrjD3(B-TyY;P߲r~KdR^XQHxA/}SOȴrDP={c-L;F-Rvs /U p 斉.[$a9W%*%ul"_~*O+59tƾ"&M/T=Es299?7 48T޶b+YAeC ŴTsW%ΦhywDNE&Ѵ,x\߿dWɥG~ݖ̧k*nX4tjݭyTbKglmIПxO>pdRGT\jg)Ic#KY =fm览+]o7Im 3NJi5+:ydۿ"՚xc.}W[KVN^ m^jG4E^%jVW,%L"=#O/'?Rs~Lr*D m{Yz2Q?D@\e.ιm_K\2ZӴ7V+ZvDFI<<΋kR(1%.!SZ/J{&-TZKXhFv?DhVj0Qת:iht*Oq_{Bu=NU`9ZG 4Tgjyi13лzcH+S} W 64ZDE-.i>˺_<&5$u?FJxͪ9bVɂȇMUrt._UlY~7O(OesUq.U)FQ8v'$VN~%.hJ$?2IDIGQ^vNǙRy9:gbI4#B}W/Ci5}3kD.Ɵ]7{5+e,tYyk^}l=΄$6#oF\3ۦprj^K+#/]pQ ަKu$8tcδM?01 Enr"W{MFswLo.Mɯ -2ٞM*Dz::W$DgV䲣Y_ī~I&""']U,zWߴ1*[!|y̖}RY)+8%mr,u9%$hy41MeK*r|<&-WJ?ziUs^YL++RkB E-J&͚cK;5oǼӏTת(B.딷BNe[u/(Y$vjmE+,/G.<+S(8/pjK%ZԙiH.̸mN8Rx뒕 KOQ*NJir?%ʸQZT6ghk+mui5'w7T5t,J]3oRs:-JMxq7ztӸ? &o5RDӌX5&4jGSxzjݾI6yx[dQ cQ ]JI1yx94K%9Oߓf|B KH q^fuWyrDfVŒ/ڊ) ; -+ϋ*\y nټ,r犥)u'6fm"b [%\Zj% ،FM3JQget'֒Mޖғ+ŝ >1YN oe `pİtFmjS*VN#M<>P2);55^'^j'0j+t{[z2o5óLJa/i>i皥jQS czROg9-h'q.Xd9,|×Q% ] x3qRCJ|֎%vǞjFN :)b^9K?3i;)X24W'%ʹH]\-\&ŧ #)Ql%LMniz\{G<,ƛN^m,ψia뮆n﫯nV=_j~5,I#Br`>5c*m}>c ӷSY|X:riןȯ>-Bc9|0o:=EJϺOܿTR:z-R^t0LN]}d5h73k_ңjaJyӘρi&U?ByޮK{~vV=ZMD͗j:c lDLdF]u(;&υ,O vJr_rQDk8~\9Nq_ az3yz6fȯ4t@KU ~xse}􈈅ЯjrMyn=Ҷq fq^h/AgZzD8خ JNW6oΝV?r;n;kl18B_ְ)JK&b^b~O"z SdJ'̔bt_s)\N]z3['nZ Vm__y\Կa/2W3iwRcs-Q)lfzc.sn_ְTkeefggynZktjJ,JG{ͯbFO2oŕ8"$Y|BͫrEm((u/Kŕxw &q&iZN0Թj| M}ӓce[Ϳ#A]NfK9m` 6[zX橨d10ӬZش]n U-G^ʮ/ܹ5Mz`_ZqS^'ht3\M?~矷j%˔WqqmI4s=|[Mb|饜rjx-:Q&MzLWSSʂ]L=DsG]XV՟F-ĦQR~̡(]G/t {WbP}8jnW_8w'w]pŰ,|/ض'˨8ϳ3_v ӝ׌[.NK"}.(m\ 甶ӞCSQ|Oksvyw-g94+9 d8V3U󓩇&k9:! YxFtg™֮\^( ҝZ6~ND9Gdyu 2mH*hr2G0iǃSjNҨJ*EN;&/z=Dyx iҨw:+ÞEkd!hu23#Ҩe%dŬ:! r86X(ZN[o5[imOϣ&q<0( 4y-9ӭwuWts_Y{,KYi=gU:ɝ /DoQ_lsJ݌hV9\\Z{TFo6hV1~b/H]ul=K>/:|34Qz~u_/#zvռY㖲 ؄ZhT(Ls o^KOԜ8e)k!V=eD &*DD5}v7jtu/4y/KWYg-UEx#Ǔ~=,'N?W)6DV/ ʥ=\kY_(ؿ?WS<~24a,dR^ry8z}=]s-eߦa͚ElixGcvG-ӋM?2ղx]IL+-EEƙXD^)?:4zߚLVgb9hnLIy2ݖ[ZdHɭڛ*}Q D.ұTMW6o(NZE+j_̟R4)D__tזK6tVdt4VDY*ZdHf2ZӬWP)HuK̘~Wm:F cL*yNC~^,~W -ƙ{W-*dJ![Pf<hݩo<$v"#+jZ+.ֱ\WˎgڋYĦ +eJjV|{%:O,}q5C'SZ8IÕuq/ϩ,cOSlq;7iJw)qs[ ߇ȿ(v_I,^mML[K>}4zXMl_p:њ>i5ќ; PZO;L/pG^Kg7C>]F?`,&Ö/ES)]%mtyWz\eⅰqX:gxrV{l2.\?+8v^3Ytz :ix9t48t>{Rqhv^3Yt +`U8јrq1.de(IJ-K<3ZZVGg8Ե'5:[-wĵ35(;߲RdP4"Q7Rm lag叫ӽ&2/Cߢ'75V}̧^˨G*K0/KT`B7S[SG/jQl=6C3F[MaE}8 Υo9i\>xW;a/[$YԚNqHb^ҏ5 /:lxNu˚J2]\ [ͶSidi>Inbrs#Vp~ٿ~Ptr_ɶ'8JrIS9u/Cz+Ķk)-^ Z/#KЬOx -`ǡ{ۄ*WŽj͢n]CRg8}4j6mb\R}_2ZҸO ?0 [@yI:ig5\\/aeߪov7եﻦrǥM梪+?9z?J'_v-V8ᕶ+ĵ.X8й_eYDl_g4"62t7kYœNXqruNig yT2[F/9+c(v즻V,2D[Fg&yrs.Ge WI>DK{O[Գl}Kej| $)7ro)`RQ)Tђ6"JRRM40Zbʥ.ZT-~Q|llS_s?r=_+1ʶ?a$kz|ƂUF淋פŲ\rQs1Akŭ}i͂RRNoj]>o1дV\[NU$aOOc)618{4GV9Ľ?b/R+<ÛB}awYuu{K˼f%\ڱTU(qSy VnW[,,vxzWU0QitN\.H/ ޛ;+Mtk LVt3SÍ|=}5|^k3*/x9:3Ͽ+K W}4|c{G>ML|%ady~Exiu59rLVrԷ%} E{7HQu(r7;D5k=$|FKC>eġ1杛Q8Eu'5ã5VX(he%_5欵#"r_83DZ_̊6KĺEIwybc'0O&<Kj.Vc4xu'ş:+ψ'j?ڊ-̢4 dRyjfL-4ns+sRESS+.^kFվ["k8tN0euFJuk𾟴IC#6ȿ3(8mm&ߑ=zKlۈDG*zŚSe#>,Q߹dھ9a&a<Cg Yv*>qِGY[=JNy'HOKu}`[fL&&'cԯ[+ٴ\%*Ta{Z+;ˊ|d?.f×K7h&7^zCE#bdRSi%y诇s/Mo^aHeSPDyѹ}Mlsk,O5Pt4SVۄXsI~Չ~wgdH5,ԥX~\\ 4jl*&YH3Lr^+RExVesrvWdWe(?Κttg*ά6iO3y!;m^FgEz9+Sj)su|*e\G8m\\3Uo'7\_7U,+k_wEڵksxfџmd$';i޲9[OOMUM5uY|\er\g6=?R~68M]SH_[(|rD06^zЦ1gI$gp\^to,gż"֣GrICw93(Izsڸ ԫwo .Uж_JqXF 6vol[o Ҟ&I:(aN25$Xρ"RPSMVL w')F+i/2G<4aɩw-btQzytT2iR~ЯUE*폦pWNe$bNj͏Ab|VÅەS.~Os|4g\O來'9F1 8'(T]I'u{o˸JDY5cyZ$+X*Vd}MM_j4hk͒4651SdZu7JZ\S*pxKr+qg}P޶_S)B0f1iIXo%P9Yâ;'Еon[pWE&yBΕ2^gFY59v|NW^cĤ ^iVOSu]z# +#:4E'9_"#D}i$y>uө+>)cF>orw[,x-AYԴ)V8eW,sYG4徘Kȉ(蔎W@Uk؋*5tJfV8f--⋺m~.5̢MM-1;Jm0)o35FWS_ʎi/m᰹e#/*):vԜUj9s X?%_WOF>ԓ丸$ת0vMa2jlinUsJPڟ(3n5^R \or.1JV{^k{Ovbvn._.t;tt;ݤH-N-6UNQNSYmugjqYG,K=ԥ;ix4ĚO80yu}ݒ.CY}iR@Oݣ];Z'"Fyo/y#7ne)!}{J>7[Z9{/KOL6%^R9}4y2sJK7^ݲ$%ӯm""}:HSo $wZ,ˮI|M&T0^Fj#˕JSm.욓ܿXj~ZQ}J!+%I%УjmiUu*x&V7LOogy_Nt~O&ۦԏm*<%͕Q4.*0+)·^1+4O-M}M=,53_lҒĖW<\dG[Om }y&'.>- }?QkΞN/o(RQKQgls6Z45<;8NS^1fUe)P~i-VvB ےK:Pz*D',5w,x78 ~O6hs^:dbko}9lÊJ>}\2ϖ!n+KDZu:Y}*6q *g9K=2V94ܼ^JKWҘo/Y U{7k){s^r]&*Rwu5NPP[Vɥ}/Qu*]~@՜R2AWB8v7?#K8-'8?+W]3I6edW^c/ l/حgW֙5"&2#}:eAG5{:ZlyyEImtm~1]/X1#ncvI9MhY<>(dy-|ՏByj-~gH8K-+(뜻tטՎ$ўaҮ\^4'4|/e1GY]^*c^x5Ԍ՞dgoȿsq1.FaPW|p%,!τQ4o–kʢb(4t{c{)/Dm^NNG+EpTYBxi\Ev-2[qRWjdpکMg"}{$dҒ;綍iYkȥVjPgArLãOQ-Xc:5]5ʔ_扴5XL⦧O1; 炼%( oQHm;'c)z!9-x.CA?+]+;6r39?zHjzF1":֜DuXrZ=D!*fm~ԗEV<ʸxrn'41(mA,|Ч(ɮh/'6x 6_W[6EHf(:_WR3.8׈OWV传vk^MtZ1u\4rV,uWw:̚KŲC~F=ȍKϽ0X[6TvDqn1klqK|Sv>{('4o+uµV{UgOJ5]er^̝Ozי1(`/(N Pk*sX)/ S߃^ۨ)~Ѳs['5jwv~׬Tu_s4TsrGi o(wlȚ39Ʀ!ˆ,J7W.fG7F<%FQ_FC/!_ Nk[ʍs"m<⋺[]V G[b[ׅb$r3u_?k^%3Xn|GwO^ b'Eone\Dwԧ޲Nf/^QWu}ݒ#Q3q;Jj3Xd[.Ey#~>O[Rc*C.NO2m3*ߗ2y~f)pWݢj}>FaVϼzBktw#r;+~U8NLEGIMcnTwLcxt#''m*|m s8UMe;vr?5u1^\YLg,'VVzJ֒9Vg5[A_luWStoZrNS'Yo(S/N{˵a䡨SV 9`' wKro&339޻_-;SW/dc jaOl,&طWRf}iRU/ g-;)o8N)zꭔ5S\,7\ҜYLTK,\ i8:oD&5y%tf0rGkQlJv2ĪQ8O,n?-&f2j_56En9\hK1n~%^jۣjϫ,5:m8)9?/9<笾}liN kj[V4@o-1c<4ls\yeﳄtG>fcfs\$:*-`l3Zlţi_Nu]Z_4W}wdDڥe35k8oH%֧=#t4fߗ.,iG^[ٜ9Z|I2W[k[V4 9<ɶǼ=L-5kك*5K엩LSє.h ky'=ҽlDfRrymflPsq{%gdr>c?MoVZEbѼ;q-=98? ~Mf-IxQ)F\3O gmz]~O_Z"knFx]lG/~Q{_io7*g9GіvGk#Hi6^k˯!T㔥݃YȥϣNo^YDJIdB0 fw%J qqm=L޾#}}d&Veeq^KdY+R)\>kt[QUwd_w=-x5'ŴC-$_&Y A=t/7}H"3Z[#)z(%$EGʼzmy}EtesЀ&Z+W,pT}_\-܏Puz錀 EG?SKǜz }Kf0ubz,OSJ8IԴb` rF"K9*}zQ"܂wYg6L ϳljoNCU^im:49G;%8Iyc.UŨ:-]?b\LsJv;W[y=خ,ɤΙӴpt/1nSOL__zk_q("⪋{[SJ/J5ѴnF|ubgu{o m2BKN_=jh=S}\ ls,?ѧz٥JxCiIbI5-z׃ܳ_Ri5k0d]68)+kdI=jrO;.9ǖٯhK'srR]2#yv ZWx2SJc^(tj4sU5s]kXmx2į<3mx2>R_S/ehuKNWQǩf668v9U|$󜧆Z_^%bٚ8Ԫ/1˱+H/Jx'.I>S&篧ۚLaj_8LEvߏG+ψ୿6?Q_Ҍ:NJlnEfIQQ6<H)IM͡5f#3eDXT85ytiב -4R4 @f=M'5ZRY'֟Uw$/J6s SP+wygaac_ôNY{Db_5olhuIIN-z3`z 0(J^FE1X[UҒ;R5yO/RzJ<|!Mu{X7RNFD95nݭnbn^+s/J#ʾ\teފd2ES;:w#Rh4tJ[ivƶ/rR*,pػnE{8Bs2~/ϩ1֎<qO2%j[o8J<@ L*N/),}{QȠi/ e9Mrr~-ZybBΑY(WcY[/NK+sXsS:9ݣ;L95cvN}9#nODǡ}\adȥ 7h o{RV#cԭoԳ{G i@%>&!~V r>udx;To ګ9'e8-AF},X:4VCK^*]f[91kbraTyG=6h cM1r~ dO YW_ZE<'z1bĤ0tƌ2NJ<"͒ޚWM|WsfP,q=();xF{ÚVksv(fM%URjtdLCn~G͢#i,/yӉ'*NyO WTmxKrM7WaygFo[Cַ^ɬK2Ȏ{+tw̝}&7姢7/TV|2nh;R=ʓ.<+K%xM֫^YvK E'oVb߇F^&gi]*xʬE.)FsOǩVt~Q3tVYҤ<ݚk]?G]vT7^G .R|R/ߏɖaǏG+8eyZb#/]jK1i#Y ׵$f0iLfc;|+o " e7En6kn:$0zB3XTY(iA$s7K*YԘT*g8o+g9'9JM>[(+q}fg(6%TDoSő:81 `ί^ZeSV=gE=N %iO -B+YNMoi8 urI~h iܤ&ߩK9݈ o}zCR9ٽ_xj%GR܀eQ߽*S|Kk> iPͪX+t*HT)kzK:)N8iok-hQ#/3LpyzM@Zڷ2zPoE"&ӈKAU(ڴuz3Zefnq^2źE9rAg*Kۥ-e+x<^Xū^}֋C:ߧ|qoe#͵frZE=,mxKt]|`H7굴beUe.')?6;9y9rЮjjm[20'O(y^܄g /C/k%jjIG6{hu"q;.PA=ED@r׊:uJ)WU>)-Ւ]7I7 /h2zW m̓9݃1H/ig{9F0 ^G#l=5[Cc9y)/<5N/wӪҷƥedzJ,ZOlfZ%^s'WSJc|wEv{5-o0.Y%6qD&%_ך,Ǘ7v9zjԏ]7,|#X לr֛Nf@U@O)%Kܞc&{LVRi旖J܋#f04+=dIE"4di^׉JmX%?xͫx>Zkjr)dG60O`f;z5FǣYC ΪӃIj읒nroԟVN|Vy_SihGjpRV>-:J굚%rΫYMxyw5m6J=2X޿`Q{CL.$2Y\:79޽MW+sֿ<^wYg&ׁ2̭zvdj ntrM9s*s8J^ilvzw~2ܳat=];S%6#=?UЭwݿ'#[{FVč_7 xMީ)YMK83u}5DޭU}ݒKê.߁ \:sJSRܹVQ~2:Nb{cfajUW0oѬv=>xZs?Eu}>.vzn+;#Ef}&z3uuǻ-MzOR\E4.?牊ıW ;ZJi`d0Z[auv{O:].>4!KM|V̘odsiT"+:C=S~Ǜ<|6w8鸽 uܗY'+S\oyHYMS\cJ`LNfa rW׽LLjE*{._%K!h Wz,S?~1µ{s_K p/~Ob{k8u:]m/jMf9F] ^f&crX6M>I[vV 'W*!kqf#m0P&̾("b%mIIlliBX%sibA=E7~Nn4m<3TӡPr>zRCOzB-J#'tnޙԉ'F7E4nU2]zLrj[9$ֿŝz]Fbfe2G;Y& ;=7hVo!1=k͕ARxm$qRn"#n}(/pa7;t uw{*[VvrrvpVT?:֬f)՞\pZV;ZYq~ ;aZN!T~2=Sاv;:{~Uk^9ڷAE?.WN>]O'#=æPym*N=LLW$ǁmk^C*.OM\9n_п Z"k"kDGygmH6l *^s2=m⹟~e^ 6n#)חS}6v8N./M?`NX8/2JV\':юZ&>ֺ* ht7_S5eveQ[y#z[}8yЬB5:3%~(=5%fG=^B3(/M?3118XEd"u*? 5(WEx,-%tޏ=#eKa<$=ɬ녞S9l{rzzrMy2k*YvGuڻy $Qm~<ze,GŢ7SJӄYmߋ0rxK-Z ݖff;8w_ kjݑy_wh4jmEz+MJK+ =&k9'gBNj /%z7zVm.>Z׫-9:n!z9^{+;l:l'|Z~haT$kGYZ&=vu|{m/G5[R~_RQ8,Sc51;s+ݩ>c麛G۫SvUs:Kħg |!d;4`׉OGu;ci%.U.W:R5'yHԘ~[[ilu aUN (ݓ[?CllP)u8ctSMΕ2EoGoq]WAWoM#Zz<J# UN UW\p9G9V8ۅv_:NVʯwF?QID&~-tQՕ?ċ[r)F|ͫy^6EJ:;pĉhl9Sxʒ{ e(K/Ks3Ȯ 'Egp^hFNr7)yn>xEts?vKiU}w,48m?[]b~>v^8M16ꩧߚςݜum/@S_F9?k]xuPǜbnɶ;GQetWNe&,W~P^fZ=>J+MB莍z7YIEa$=Ο Kol{yx884f녋eKxzyuKL˩ _O})T%YWq^Ӟ%LO FMV=;m=mM)'O.Ziy'I#h({]?zV2t۔yAf9#/~7iJ0Z[99Ky5jNol5:~w4˕믤rYJ>%~W=Wш<| /\IIf-5}6Q[,@ qJ*KI2 뗻y^E)]YuWu#t n3l{C_d>1 HOUtm1\h_]|;1-zk,~7kWKk;aZBz$GЮo-?vь珿fYRvNǙɳPxZfQex6[UzF2 q{Mө%EݳakibhĨyvIh}M:)ls&̆Ferq>Lќzx黎Oڷ\NT[o7 +8JX^_=Vk7>zӣKuRKmދql]=M1{Go%-tpT5]\.OkVX;W/T%]mS #N?އ+3? Ueƺa+,c⺎>EnVᗺ~q ~jUu55 vɹ>HDz_SNfg8s×e 8.2Ma\^$~gs>-^SǴꮺjqo 썹'rjHxc/7%7Y0{z~ knPҺuU/r~fOZÅ,gR:^tǜxj\뚩U>W߆NN)_Ӷ}q:ML})i]⭲poնFfjW泚Xx >;~ 8zy|NugV/{#n1;5r=ztqlXB0Nq㍳{^$iR_T<^xgҋ]ptz;<uze7iL|ۣYgp]z}b7Wa"ufx7Ktըή[d3踿ZVi.3o jάi,g?vnմ)JZY-{XyatJ[=>^Moq.Uʴ˒{!'u59v'y;G.]6qv)IEE׽~qu~N\ӷ˧ɑ(Lk)sYj5zz#_գV+Ζkqbk^7k87ku6^Mib11:8f)ʫ957Y´;AeqejPa8xʼg-:hi~_߈|kO[Fۥm|(Jq^Bbdֿmo8w]xd4:,Ge|p6ߦ pn7z>64Lx/|T>Ixy8qkONJPx)n24uյG' uwiWE*$Uµ:ezGmn)D8%)1{8&_D5sޫ6w6DO%NѝKLxǗ莏W٠^<ʅlRrܥ#G /HbkO;]nri e ۣronShm|*jmRp!ZObs;ǻp]^lt{.pmwh/'v76wώD;&d')GWgo+kTTzPiVKp9杓˲5]%Uإ!Wiqsn8FFjtʹG2/"4VymEX9A鵼6+cd)E~VVZːKFU8԰Fm}&gOK}A \%П+'k1|#Q,uQFZ^3&Ve({M`2pY؎zݙ?>yyO#EbsǏ7tFT\mEo7Ba,E%c~œ44û/Œzoº^xgw fS>?Wq}]+7|oE[M?3RP$+G2i%*aMwl^+=av7~F:5'i&m弚WnzTս2 e%RWřjkRDF\[ɃԍMI/om\ӶS]3:ZTY%`NeYgM=MlY(N1^_!8om_lrɼRym5SYĻ_+C"'2'qf2$%i*rNMI]wjNI;o>&#*ݸ9smƾ!Zjrmw|B%eu:jQPQaK{}\_I>xs9p;2VY,n=Ǒ`St1_hBb#ͳ\DqK~UuzR[IB'4./g¾zJtP*踾AijGW̙ű-m(wy|~ jt$M3RS2J7g Zw55YTc<ח=w镳_sKV-]y9}-n_d뇾W'w&WSٮi(>#NJY͒tqk{3{NKѾeV.U)c ȗ icNK'e ݡNBVWknA,Cj!͜?mZqyV2GFKtkX^6٧χa5]#ܖGǙg??]\1?ضyY\6|2sueh{rN-~q-pw>Vq,uݧ04*(ME,gjXǵDVd ?l)j-Jk rMKCǷ˷q=y.3ْm~ #.U [~i̠]0o_ts( )Տ_ /UYA/yJOFgow͞5Yi͹\ב/ IŦD,At+nT21Gg3a/cմڜ]^}9VLyftOx(L@oor7\?侙}%ԾTl_ߠ7C;4WRSg5]U_kg$İtGMkbζزVSjiGٗ2ǎRfYf]mOL~{'qO9$U?ܫc߻gaR]:IQ?%(ͯ/Ԛs,4Ȃ|n,yYs,& ɼrO?,9BOٺ oU\bwg~m8[x8d:3ŤFn"U?c2 /OVOzx[U;՚JUs()r$"g(i/iyo3Zn\#<5{C)[MtK^K/>2ebvŋ)Cxd9a~b[{/mldӅi>̋潾x-+evkUPS[Es,Ƥ%[~fk w܊"~/$b}fӲ+4i)Q[4R_QMA%b)%mU͕HWdl˒֓nzk5#]<χ]Y+SvtHӨw93>IZmc3#lj,ڡϧyv/۾2uf)7ǜx9uM]XfR;~uU|q%Kk474Ul:xt< ߫4st-Nr(ɨ,x}78T~'-Reݏqi+YdbՑ57{Lmy-굺{xVK )]lO Epkռh:3n?5B],u4\?OW٭zz+Ŋ .Iۆ8ݴO䫯5o5$J\m6"Q慏vC~#~C]F*a+?g-fJvÞ;[ٖMkiZs^7֝jE"QO8Y,pν%|yIZi&fkkJ՝}&z~צ<ܧNGgQfU\үOyx_A Z+#T4ZY".% L-=}D3ӜhDh[YEke(<26m2u3%uRuOSɚ#tbZnN fR9TTchZW ٣UIWTj(ѯ3!q%i閞+3Υ1{ijhr봒Sqf::oQ]fjuzz(jXal8Z Љ;o^!wpu:{%vOJ0DYgGnDZsjVSN_醟kR ۟4vMSf];j2QRDٔFSk8o~J!qW$jK*R%|EMҪEVyv7+ ÎW/э]tu'|muʱc5:}OQ5B#S!e6yB5&i9j{jrI w]ŵZn-::4Omk=׫ o_˳..NE-|m60oELLf0Gugfgupv֟-\6ZOkKK1.,e}O2_?&Ԍ[|;\>U9ϩwL/M~RF5B5$M׊qKFWe52olxE'7&͹%(Mcya?$5'_Eb"#6eU<.N/lMo=s=l˕.1#m[tY4GvgisFrRo+Z89s,RIlϛRmb+ۘMsr:]3*Iߟ]l(W8=vĿ"䪦vvUI=[I5]v^&ә"Y=7^܊z}bfsfRYf_#Sn{ wZF5>IZo^{;㥶MqKvoWrEd֟S>yg)-niϰrnO-jtSU䜲'O}I/hͯ%I:eZgyn ix7Pp3` O#e6κ0-IY/z3i˜nk)(d2OƇcm8O6Ӓ@+-4#Y~;U+Ӕ4kVʉ6I~rY(f#E}Na=nGIb˳?ԋOmNRpt*rMt3y=Vf"cl~|sK5iEQy)6GB>! 9%fc]5(*1SKū>xpQw$xߙjMjVY^/(ivU5-˕s^3ōLm۽K+$6gSVU[a%XtY90(M wi[d%B,eOGPQ_q,)?ܝ.ӳmgXWuGYW88_Y%gɯ'}[in9-d':%k)<4|ˣft?g9M9a[׊ijqk=Qf\ed-,5iR}NܴI7xɺRO?Gy|I1zqp|ho;}ٲGJkʹo?o"N)2IlRNQiU%[ҋm_5~W$|r5nV1-#Jsar*_LZ|%䱅--aY)O UQYZq|w^e=3w?芗7 Gbgr-NMlZ[onifO ;I8YAoбFrPrɼg-b}Q9eDz(z^'QZ>^ldB a'o лI9Z쌛xIإqiŤLWK'iixrۛ˒rJK|FRC խȬvj1)7.ֱ+$嫖G[-2p+gn31Fe(F>Y(8I{5-Wܮgyjkʥeeֽ3 KpI7cD쥷t""'7W|a3,gM/6`*MoiNR@&ֵ6[J5VU5|Mk6BViTӊI'%u]}}+cZϹ[v8q=o_m̪\q_w/֯Ut 9KE}YS7W?:4TltU;Q曊*!:)_JSIT,+kMф[QYx]fuJzǹm=(d/VOGvccV7%Ck.\:2_?e:ff9 fs>{ſ=jjZ bIakn]Mt5tk{WSCJS_[jM$'UY .4$;?Eڴ_ǜJѧL}>1h[4[k_2XOǽW>6ߤF5;˛_w?CKM!Vp7YQ}Z}]%lz):QN/{rZUVT]xYIqO -N>wgFrW)>E-i.[CGv2뷮-.E]آi F em^336ǹgysOWLb1%'sijmjJ4ʟٿiiRtk5j wxtm}W'%tF5Y]ɩgɤJq-b񟽞{IzMT*ַd%k’+i~Ukr>Xi)YTj6q˯RӹJ Uڗm2qz]NqkyVK+N A)|ti9%'b)SnGIS +)vG-4Ȯuw7MVq&N:.6< zkx/smCWE#$;E5=%VRKPk4SW-Ll5#E&Ćt=W ;MT>՜F~仉taZQXf77:ieѣUe3ZPtU6j_jqq_n,.\ySK.\;<'O(*uJ ],ߧwLʥDBS,lLN"3H:;gM_TF1-p҇vWK"{GS+zypuZOAm^bwtGړv}ε#ypAџW .LS.Yb_5\QFuj'-)>(:Nx7t4,-SB챀{;-Es}};MCƪqS~m{/ݴm9F-IEEa)Ea m<4| ^tmǿ-(IN.}KvQ`7{I%F>%зݭF'-k1~Ojo+n/<߉\twqn.[;%2ZD[N\XMSjm_5*%,u24t:&҃\y(Eӟ9wkOd'' {8OӸ a.;ƤE1%*s줒#:K//]֥63hǽiю?Em\45>hr8)mMlF"x" ڌ4Vfu&'9/4tF۫u-䢲a|\Yq|IEx,3լd/3k n\u}^>hI-zMҍQ$I#Xɨ33)Ҷ'3enGz 3r)FK[#)Aa%HkHݦvݫIeE6׏OU3{EKU f_4O|& tzJ;͙J[%{c5cKghG?k+|6U,.1V+N&+ypcV'ZyQ`6SQ;U1益*e cůjvuVOT\m 7OOSTc _d*jt˚? c;ⱙgχxV[ez:IW9,ı8E\Y=Cڪs ƻ﫚(E58G?J| }_\YhLMmKwN&??џ?KĴGImzΫl*?ܟ݋p֘). F| 銗do4U߳.V8V5Y+*s:fr:1Y-_t:ZKtCIGJKr,]cyVQVẮ h||įcgANI+$ʚϮ1+츖h}j$8VO;.ikHgkoh[7-W>Ntϳ15x>iRQ7k0_ltSOetj-8t<.oI]q}5r(٩Iٝ<6bLN?3-1zZ?%GOeW(h,z7)zS8ŕOuSV8-Lz,jIa4ݕӯ#tMJ 3y2f1f1[Vj\Rp^!PB*5_t 4BvB\7Q}NZ?,vnZtǏhUjT6JIEtI~˹Tގ7Yr_QOEg-f5>Od]7KuM-]Rx9~=YK\1J?/ dEK3||z`_|N2j%SPvXI/V"<~?~gn?)tS 3øp妎v_iʾtlYg9,6^Ζ;->VWHgWߜ䨸,j+ꬋu1XgO}ǻX\3$eS>vx-OSN] }oMܥ_q SIsG+W5=:/M ej,o؋k#v-3G߻גzm^j?q^/ψ]enh̨o_Mm5q=;5KSc͎4x^ilקs:>W^k'gWeBݷs+({/Csk_i]zY7R:}S57AW1پ~C긝v_Ie|]2Q p|roŧS^M GSsWn%O3qEYĬp)XX+4{DԸ VnuKS{ы{wέ*k}*ϫQGQ%(YwBSW0qWS'rdD7&EU[+;ӋHWm:''(Bj*Mw>-JQEmFK+w˫YN VxUO?<7O'[nkV<bplie-Uݪda%qE-U->rsdYrw .^5rWDTDVcHtOIu*8޺&dWqUJ]1JnW =qK[--SPв\'=Vv?V.p^% g쩵L"m.k&13XbzM5g־W->I\\'^hnCWT|޺$i[\ݬd,fYZ"՘_SS433ߪʸK~ dxBi]N\QXm?W8GSO|c=k-j[z[ՎfxG.%Nr B^XfS*v]X$jt}[CP*0l୅o*R2r8/>z)]n|_癤Z1?v钱l4]1͕NIFRxYωK)⍵r>E'wծemgKhƚ^ɦع'jg278_Ai5 } v_\/M,#ZKru/Om)~__]?X=V/g>ܰ{?[-T43K4ҹuoWeV.9= 拆kC~yx}uŵ콣"Z{,&^T}~*-N',BM.qmYsmsfM7޶cJ3 8bly/Mdr2ʹ[ ިҴhKg+ ,}Ĥӌe^ P|>3MӧJ׉%MByy}v>SqpIygQ7Xrƞ|zP>X'[4ܘ~<;b\4lk2ģ|Ҫy|?oqԤ盦8_=^Ϊ'ʞWz^'%.m$U~,$oмV&#m13Y_g .̳ӜV{N&1(cqoShDm^'yoz2v]|e vZ˗<{c$TXmۼ>MEYN;=/wv1$5$GT7]ϫf]'K՚Ҽ().dba[1)귟8NXicsYK4X)9؅e:9JYv<Z6gtۉC/fO i)l#IGq^/-%7~J/lNm<؉].Y$iRQ~K8^/JEceK#aXu Fi4<[ŕbӘ*|f0l\ee(Wɭr6*u?-I>!Vsh6/Њ6FRyr܉,.|Wky"#+&[yy[#Jѿ"Z=\flʆrKBKsdF:`柅k5z-Fk լfӅ0_]&®!|a/GSM>7xiBpܕݣ%' Nbf'35\+YZ\)Ԭ,Y9:tN5/n}%P;6c5׵#ώTOѯ^z[<_Ŀ񋥥࢕Kۇ߱U;G+UPu$Q?D髝|2ىG8jLԵ9xm~3|R*:sio \z#qN9[ԥbullsi&q/ik:Z^Qj=UԚMg~Hݞ2),qls4|9ndI?>5|r14DW:jKJөۥ'uÌzټtiWvV4AQ\Gp?DZ#d:Y'!֣ {i4jL-tt:=г*AQp}z>6dw-GeVbj+{I^rusZZ[j %+nci"LNf~ry赼k½'[3||GW|{p]JhSs}E7_8jsuM.WIWxjZ"y?;=Gxe~'Ū:7d]iJ=rx=x8ʣ'߿O̱fLz-iEJXfe=s誧}}|CC:n֔4ug4Ťo-x5uOZ튕ʗʞ^\ JlGI<ɴ񇷞<:ۭ|S3;-k7V̴aψ-B+6BgՉb>B=eUkQSch]kģfGf1kiOvWVv=|sGl'ǗVzeRv9Ni-M\Eξ/tGS1:w?4+u[aeTKQ$QgNM贶K_훖_200SZ MŲY_FZjL秳1U?SkjoS)0.EIt"jj5!lua {Q~eyj5wmjW!I?]NiZe.hŭ>bGo$UӤ8r\?GSSrg&1NP8bpK4k]c[yPOdGn8ZmXXWMN9~&h᦭j5/܎7r]Q]|>ST? w]vPӔA Zݳ/>m:G fOе_ Y,OU%Dkf6_5ֶTJf>;bc wΕ՟?ŴavSY6߁wQCKif:I>imP{fѵ9ͶxVڟDg7g9Gi-uuX),w%饚ޥ/z7;U(%Nm5q(z[%q3SŊ-ow'C׬3;ZjRi5_6Vb m&KR~Ӕ_q/LZSrM t/.k"z($5ӼGk $+ρwoq㑡^fxQj;x.mX;mRQi'^ħ^Iu.s'ɏ +BϷW)~-gqюgkdzx^~缥CUc./?3청w,jqr}me.O9~pRcriZ嗖h?mwieF޵dyqO]pU8.ӝ<',IBΩ%|ϛ*o|;8vJz.sjJr貟khhaaEOܔ\4֫4K m?sUdUs匚.9s]IgI"#vO+G_.\Z#~%r̤RJ\]?in_-ЈmgMj!gL'=l㒬34Tr^{֊NQԾrQkI)tO/1i;%䣔s.2QY{uٚFP9X ڌfQO+;xc,k)Q$QI.QĖe*]Ll+(+Q~qlBN2W-~ D_;kr?_ҎQkooЇCFSO ~/6jec1M6s <'ڋ;g9Of {URJ~.R+A>re9W\T<O[y6c5"+)R]/g]~o>G^jNOԖ̶G>0J;^d ߖƧ-6Q :ູpYUVvmoOj=E6ۥJWKu q=bf~_Roj6}]Ksn)-φBu8tZN׬[(֖#'ݟĞYV}Hoo?/<\_jP6l-r/Ionʹe=:^߄p𺮣dzQcYtt)pHӺ4b==Tm|x>.}%nx}:&IZYrlK7 [VQ,Sk7Ntc.#{nU}:?IqhuRa5dٜS7|;&=nA8K8VfSOkM-GOzW9ҚYXw۫[4G{SSdgd2KKr4}QvO̹_Ohlt0%ʯJ kCfw_:gYYGu騄jHW~UEZv')\$y8_at)xi]lw%;\>WF4Kz/g*VW<|Vk_ъQOtkrZMv^+捲N2kUQaQR/*piV7MʲTt۸Lc?TQ^7Sئ|;vdjXit])h'\,R t8uWOOEVU ]̬ͭ3XkxEH(.=#mek8 Izm;Jʔĭ Wui|Nv##_ WvMn6Iͨ%-1;xۊFyuzezucMF2ρkKQl \uUW9&;x&'6A7YD.s%#k,.ecF7ස4Z*P\)O]}.6z6jkQtT'bs{2jޗC)j4k!Y+BZ)et9r&㝇n6ҵnMWVEؔ",3Ho+;#-=yk4PGM7g2.-VU R^ x2f1lYLVNPF+URrΚBtvïμ7%&t+yʸ[ (lљ^TUqߏѡSZXvS¸.NծN)+kj'{߉b8#Uk-J6*8,L4pl/jgZp:1ӻ)jT z}5;NImנߣMFmY1iflM)-he񓌹 OnV8{RmNqٍ?˵WM*xU|UwѕlPʥkġl_WQSc%d}w#5ϝORmȺxtZk:BȽ5AJs]$8N>K"c Ž?|Y97˒z*9+q/i[1$qk')<Ow_mɶml9@sL-5xG;ZY*,;u1</]'^q˿哭SnlӺ?gg֘s驆RNl.\_b85)%(f2[we{,˖kݢK;[5/E:h"c6u2ʞ|FnxMir-SdTVmU5Hhy6z{ϔó7vN9qrU)cﻼ)'E9mmޙO j!9L{s*&i\Iӧq1{8&KE7&Kɬ?Sn3Pi/,/UqɽPVkI{i5ӚqVdguxQZ9%$~wKįQ'&nǴu>VR];xDb.֚W-4٩OkEI7,Qix~_|z&=ҔdGsfI)g9mo"#֘kLvͶgG6~䧢ΖMmgxf-4j-זi~ҋӫT w5= נ^+JY55ef9xz N)Ym͕zDO߹ֱԮdž|z-e|sWL.gͳ;$)bB{˕e3[bbTLZ+yk[[9M*ۇjİWFP=og (8[{O8+5fjSe'ã;F5FAmN.?ŞS]]rOKN8^-b|7t8RxYMmGUNjzjIN yN4i"{iEz tEJMN缟7/1*Kvqeo5 %= _Mcf-U?ܖM{Uzt# ι%%)~}ZbkX5JuѨmo)sV3KEf_* UJr={O,-_b~)g sEM t-+j/o_'ώRVVs,tiYOiu>N8FdB5I(elgIdeggg$V}_Zݾ_?85ٹҖq~tW7yC }nCzupn19_1ev3>)8gԭYz~oB?FsOiM%QYϳSJSyVwe1]:}lMlzZm.1;|ؿ6cӉx~Qp}U5vjiV>&-rʌȻuV0ԖKYz2پE +|؆Ioy{nXkUJU;l.=Lf\ u 媍J3N%^=*j<-qG r{K,&>FΤǟ͌b511 VkȸȼecO*NkyX{lgKeUjvFI2$uitU'V1kv:o[_G򦟲[ҽtډjg뎗;w5B jYFNzf3~r³1N؏gxX5iUCCKNԹsgָ Va5ep#N]ir:~uzz.N\Sj$/Xm~'֜ov#gZh֚Dq]vrP_d8u!Tii_R}CW([˟f} pV'<#̥ڝRSlkOϸQGuҦ {),cUEXRۊ%EKV=_3^^E1'itq>_}{Z'hl+LAi+j0ߙz۪B<6jyLuOZlcge̶{6xPwO=Ik<̼ws $GUj',e㢔uGY*jކc55Eiq Y9<2*kZlhW\sdRK2Lg3cɧE)K Y6շjutSXHƅ=YMgiﺫ5*{R]cxg9x|H'F,8o_jTTOڂV_fUS_ ',oq )3N{odR1mW0z^K.asE'mnV'(*_G~b~Ʀ8VWV'>~N&7m$Ek:cs] zBT(.n 6se8EAUVrljEߴ-O:㪫Qd_ xjuN0Vc;sg:z<4[v9kuj+I._dDN1T]PkNZ˽ oJ8:K'MN '/̱>C7]œm3_J3KQ+sgߙ5 0qۗڊ'GFlAKbE 5$ƚu4WmYym%sH7gG9V^Ue1낵N:xFػe,vm'9OXd{5~6Pgڨ9{IKz-yu ~Xe<黚}-3~ VR\e|}LRHꔬgu//حT 8WEhIBR,rYyK8/&֮LJjTLs[e9Gn<ы>+Y[=7Cf2TcL޳˷Cq=5şG)^%ӿCR>{éΕsM.KcqxMl{&F<+3 tr_:%|B]1ǗN"t+ݡ'c .F<~9+R|SKz ~WTjb%=7#5`w:hYgA un5<2xՔ>NYu]5]t<W\-p%6NNSbINIgg{/tUvϻLoNwYS]WvW")˔>:+6Vkj՗896ko>liU6?zGcx5UY_yN]-uϗVbi~i~&Z)$n<>%}1{Ui_4NV3 ooMq ?y'HQ\~Ԟ싊ا=[9]LM+DGS[?{0׃!\]j6Js}Ov'p?"}^ el'9+Fjxc-NZU5ԕ E[8BIlÊYSE ~?[^WUR8in62Ut'yߛ讜B14m3t-Vw,̙h%|?dz]D ' k'ޢ.kJc-bpIiʶ[=t9IBYq?|jُKt%)%rm)Ͼ7Cm(J<;IOX$hrLg.[ewz ~Z'1Je:}Jmiow2YmvB㜼ui{L&+es?I?YG%SDa&i=MYmuNF~#.e㞞?8ZˠR1qqӫvݩPR4j$ܜ#bQCU<'[Ms>ebb'd^ aY-ߓb[*=%'7͑B߫1麈VdwLjNxZ#շ/ͣ9F:6qz2:rOcli/VMK8_5k>SQW%=6̖5|.l?RnM㟒LZ<ͶLEѼ"Q{nvyd6d 'gjh֑Dcl,yzu{1eaܶ&""F ,/CC{O)CZ"/ahII+PvU݃j>8.:]UY7G8(i)m:޽õg̹z)k鰹{N0Fv{}n캴UV0Y5])'Qb^4&Ago}M ++yYYEf=6}_#S{($.]ڕ8/ȭzE;$&7e>D*Ti6bbfLMb|ۇRv=b&48?~yٝ-fVk䍐J(I/oU-E'W3rvKvSSezZe{Z{3[N>|G= t. /*d6W' J/ T4Ze1ϱ>INEAIʺ/"&c<ֈVZK穆Vǝ2ڭMߨSe99_wwY\ޒn3rlE|S4{syi֮ţF}>5:[:pY$4^6f}Sf->)=o})פXKƕK:Znص>̩L{Kc[WEɵ=2մZ{| "c?_I͒] kj5BnZv\FVk(|խLyc 1 %]q˝syPWY(/<(t=Sv9Kor6A{-BF/ s/63*U7%`OՊ߶rïĚ)j,j#,>Fi~tg ys'>{|GU)*ӕʋ(UN>{?߿o FIB/!=y%f2d$hUIfRXp'SV=j/.0RImw3%$6U-E|ѷ4)5Ui9z4mZ`Z-6sJ8R_Bv>*Қ92XŦ,Syi;teȯH87sG"RYro\cR2\ѥp:~g%9c/b43SgŋlJr@0g;!Z˥689C¤ E2(ljrèiz(ū%Be)hKU #ڥj˞JvVϲ-_ܫQ:3ߪݯ/Yjzjӣ<[sEcID+7ܽz#td.TrAQ-n0[O߃mEm1NPqio du J+k1MӚİӚZ--^_9I¾)d&\gM~ENiVr|F8e"[9˻*!:SqK>oxC -RgN8~{s[$(\]CMT|Ra8=i;0ʱ۩?Ԛ5T祑 vUU˚rgK=&d^x)jg*5Ѳ89d6VmۻZ/trs*ux7JBٯ&~M:RiT%Ѯe U8!*$E9V~>KWboR>\mq"%3a:nݹۿgEu$a/ԯ M댗+i2Ӳfq5As9:6[x Vҿ(*^Z\w!nlr[<|tzemK.X^EQ,MEIEt9)h팶jLO*<,SXNf䫆Ż,jǒMs7 ƨQro།%C*5Ch[9k15yrRˎqeW֫MŤ7FSռx'Wl\"gFo13V&'-:;g),o7pv&cuqd^I.?CKbK&q0VڽbVߙg8krR{EG“F`w9>%9Km&oiL_WRAK]rrIs(43> "3V5OW7G]I4z}De,gЦ E"k1^u3Xn-=8!za9$T~F*뜹y, d4vNS(8}fj5zyë́qxktZfk1XK} eխerG#W]urxs""ywLs;3F/?ac:;ыi9]Q *iF^(QgUX픽M4GT%iUⓝmF_]dknNOXŹ l>Hf;`iV9-MZȻuQOƠ^w}NMTJtcdPwY\ouitUU98dڋރY)(>V߼ϗ,ik^/EWep#bėDŽܤ"mkҎ +9Rr4mj֛oS>G]vY.3T[CT4P']*lc', itkId#>%OSgg^3Pj_+R#ץN7CN>qY(O#o:Ie%2[O;K ?fz;B]r0g sgi>&KX,ɖ+lki{9N$rRrm.f}=mۙffs*-p٨Rf7%2MԘJ=4]I_il$͆X# N;fQpROg.}2XUFɩFPq̔|שJFoKr3Z~)-&z;uσd+l9$ܻ^ۣ[1 %o:y˖*.M,xP3*vw0IqQZJN&Zm,G9kR'ܝ)%镱;Ma8%¨h5n[\Lo]<]U)DӄR6m>b/4KrW2-oF5%muIfAc~E6vWBR3寶5)ڇ/+fY+H]k#V.UJZ[󉬃Yt&~i*.vsE i4, 1?-(jf1 B&_/UtU-}Zg 9jcUѮGZJIM&f ֥by:Џ4*0v8IIRON^-kk.WʖsVVBdg(ԣ7 9IOn&!SfSIrS6R.N6^K/G[_$%(F<[nٕ)=jjdjSoO<Ψ>)c3-lfeniK$ZKAB* &Qin!5f $^;Piŵݔ\SLqO|a?/p+ x"+xĭzLۺ{8ʺXsCSZTOl^ٿmصcV.TJ2}\S.|I &-,gk1-9tau*{/.Vc[^liOFʜ9Xɳ7')e/X0M+3mJHB)X mu}**(= 9^fwI$vNsW9B]3P ,Ѫ-KO ĹfĬ6"'XDNJMS9UQnnTMaF W3Xx~b&'|GmZj/%-l4mUS8Mw٫5zy5 HӼ[G;&K] EmNaga4zh֗i8)SFZ1oz&jlSJMcuXmNER%F:}v:W*bcob1mciVYsK M3ZuC?/]:ή)c3&gsA;,݈72-5MrB2g(6'<2J4)8EZ+gLDfmED=dsrM5o5+#Y +z+x}}ē9qVB:&J')7f5Z{,4TS1Ǧrnu;[g$#+[d*씔Wql HȵJs*:iNU]4у]sdV4-㘏3uTv0[P֦KS->DlPu63o ;i+> [j)߉9őf%̗yiG։~f )žcN1J*<]i6X=#SRu/727[.S(ǫ"յ+jꉌKgr#)ѵjV:fc9CRHN~{Yv]&|wNq@PQ+k>&m3visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/icon.png000066400000000000000000000034321361526231100273430ustar00rootroot00000000000000PNG  IHDR?1tEXtSoftwareAdobe ImageReadyqe<IDATxOSeqX^@23Q/R$33E٦u$8k@^!$|$l~w}/[@ @ @ @ @ @ @ @ @ ]w[p; O%g$Se@.]E3_|]r@ AgiYg A _'%g.]D @ |ЌdV !@ w@ ̅qro_o{@ gW? 4xs#\MQ ]`gW~Y!1 !Y `^ww@ k }&vQ\7> 4b @0 @ @ 0ab!LnFsMU q>4v޾NhOJI88|*=$L|Kt[lYW@Dy[!+ƗF6w ,^5L/6یX[<6Ŏ;f̚wGG-]!>K/_ji,_&Xث"ge{=p|ɯauNs bcw{06/ 0)nLZr9nn6WㅟmO[3(q,U*KK;h更\io=5;nko/۠;+LGqr칺j饅B]8(i)ڏ( Ӎݾ;ecWd"[bh∏G5?_aXÅ[,*MCt;nxbv8!_c<4-jqp#?_ggGb)?FH3% pӵcvӱ0!+Ϟ{=34'q 慶bW7…Ç|$;t 5ZR9ߥNc?l_8Zwy>}CxlV_& 2q7 u0b=W:f4Xzw9@bsktcy ؘxH\zKWH39}.-4؞ MeW7LĞ]؈O6͙8~'{R~ ?ju-}2n@zWdN~U釻0NqVOzҨ)~>3fJ찚$02O\b.]aڞs7)p @  @ @ @ @ @ @ ,,+ :lhWIENDB`visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/000077500000000000000000000000001361526231100274665ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.af_za/000077500000000000000000000000001361526231100341565ustar00rootroot00000000000000strings.po000066400000000000000000000025471361526231100361400ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.af_za# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Afrikaans (http://www.transifex.com/projects/p/xbmc-main/language/af/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: af\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modus" msgctxt "#30001" msgid "Filled" msgstr "Gevul" msgctxt "#30002" msgid "Wireframe" msgstr "Draad Raamwerk" msgctxt "#30003" msgid "Points" msgstr "Punte" msgctxt "#30004" msgid "Bar Height" msgstr "Staaf Hoogte" msgctxt "#30005" msgid "Small" msgstr "Klein" msgctxt "#30006" msgid "Default" msgstr "Verstek" msgctxt "#30007" msgid "Big" msgstr "Groot" msgctxt "#30008" msgid "Very Big" msgstr "Baie Groot" msgctxt "#30009" msgid "Speed" msgstr "Spoed" msgctxt "#30010" msgid "Very Slow" msgstr "Baie Stadig" msgctxt "#30011" msgid "Slow" msgstr "Stadig" msgctxt "#30012" msgid "Default" msgstr "Verstek" msgctxt "#30013" msgid "Fast" msgstr "Vinnig" msgctxt "#30014" msgid "Very Fast" msgstr "Baie Vinnig" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.am_et/000077500000000000000000000000001361526231100341635ustar00rootroot00000000000000strings.po000066400000000000000000000027301361526231100361370ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.am_et# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Amharic (http://www.transifex.com/projects/p/xbmc-main/language/am/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: am\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Mode" msgstr "ዘዴ " msgctxt "#30001" msgid "Filled" msgstr "ተሞልቷል" msgctxt "#30002" msgid "Wireframe" msgstr "የሽቦ ክፈፍ " msgctxt "#30003" msgid "Points" msgstr "ነጥቦች " msgctxt "#30004" msgid "Bar Height" msgstr "የባሩ እርዝመት" msgctxt "#30005" msgid "Small" msgstr "ትንሽ " msgctxt "#30006" msgid "Default" msgstr "ነባር " msgctxt "#30007" msgid "Big" msgstr "ትልቅ " msgctxt "#30008" msgid "Very Big" msgstr "በጣም ትልቅ " msgctxt "#30009" msgid "Speed" msgstr "ፍጥነት" msgctxt "#30010" msgid "Very Slow" msgstr "በጣም በዝግታ " msgctxt "#30011" msgid "Slow" msgstr "በዝግታ " msgctxt "#30012" msgid "Default" msgstr "ነባር " msgctxt "#30013" msgid "Fast" msgstr "በፍጥነት " msgctxt "#30014" msgid "Very Fast" msgstr "በጣም በፍጥነት " visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ar_sa/000077500000000000000000000000001361526231100341635ustar00rootroot00000000000000strings.po000066400000000000000000000027751361526231100361500ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ar_sa# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Arabic (http://www.transifex.com/projects/p/xbmc-main/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" msgctxt "#30000" msgid "Mode" msgstr "الوضع" msgctxt "#30001" msgid "Filled" msgstr "ممتلء" msgctxt "#30002" msgid "Wireframe" msgstr "سلكي" msgctxt "#30003" msgid "Points" msgstr "نقط" msgctxt "#30004" msgid "Bar Height" msgstr "شريط الارتفاع" msgctxt "#30005" msgid "Small" msgstr "صغير" msgctxt "#30006" msgid "Default" msgstr "الافتراضية" msgctxt "#30007" msgid "Big" msgstr "كبير" msgctxt "#30008" msgid "Very Big" msgstr "كبير جدا" msgctxt "#30009" msgid "Speed" msgstr "سرعة" msgctxt "#30010" msgid "Very Slow" msgstr "ب\\يء جدا" msgctxt "#30011" msgid "Slow" msgstr "بطيء" msgctxt "#30012" msgid "Default" msgstr "الافتراضية" msgctxt "#30013" msgid "Fast" msgstr "سريع" msgctxt "#30014" msgid "Very Fast" msgstr "سريع جدا" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.az_az/000077500000000000000000000000001361526231100342025ustar00rootroot00000000000000strings.po000066400000000000000000000012261361526231100361550ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.az_az# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Azerbaijani (http://www.transifex.com/projects/p/xbmc-main/language/az/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: az\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30009" msgid "Speed" msgstr "Sürət" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.be_by/000077500000000000000000000000001361526231100341565ustar00rootroot00000000000000strings.po000066400000000000000000000026511361526231100361340ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.be_by# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Belarusian (http://www.transifex.com/projects/p/xbmc-main/language/be/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: be\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30001" msgid "Filled" msgstr "Filled" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Points" msgctxt "#30004" msgid "Bar Height" msgstr "Bar Height" msgctxt "#30005" msgid "Small" msgstr "Small" msgctxt "#30006" msgid "Default" msgstr "Default" msgctxt "#30007" msgid "Big" msgstr "Вялікі" msgctxt "#30008" msgid "Very Big" msgstr "Very Big" msgctxt "#30009" msgid "Speed" msgstr "Speed" msgctxt "#30010" msgid "Very Slow" msgstr "Very Slow" msgctxt "#30011" msgid "Slow" msgstr "Slow" msgctxt "#30012" msgid "Default" msgstr "Default" msgctxt "#30013" msgid "Fast" msgstr "Fast" msgctxt "#30014" msgid "Very Fast" msgstr "Very Fast" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.bg_bg/000077500000000000000000000000001361526231100341365ustar00rootroot00000000000000strings.po000066400000000000000000000027571361526231100361230ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.bg_bg# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Bulgarian (http://www.transifex.com/projects/p/xbmc-main/language/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Режим" msgctxt "#30001" msgid "Filled" msgstr "Запълнен" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Точков" msgctxt "#30004" msgid "Bar Height" msgstr "Височина на стълбовете" msgctxt "#30005" msgid "Small" msgstr "Малка" msgctxt "#30006" msgid "Default" msgstr "Стандартна" msgctxt "#30007" msgid "Big" msgstr "Голяма" msgctxt "#30008" msgid "Very Big" msgstr "Много голяма" msgctxt "#30009" msgid "Speed" msgstr "Скорост" msgctxt "#30010" msgid "Very Slow" msgstr "Много бавна" msgctxt "#30011" msgid "Slow" msgstr "Бавна" msgctxt "#30012" msgid "Default" msgstr "Стандартна" msgctxt "#30013" msgid "Fast" msgstr "Бърза" msgctxt "#30014" msgid "Very Fast" msgstr "Много бърза" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.bs_ba/000077500000000000000000000000001361526231100341445ustar00rootroot00000000000000strings.po000066400000000000000000000017401361526231100361200ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.bs_ba# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Bosnian (http://www.transifex.com/projects/p/xbmc-main/language/bs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bs\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Režim" msgctxt "#30005" msgid "Small" msgstr "Malo" msgctxt "#30006" msgid "Default" msgstr "Podrazumjevano" msgctxt "#30009" msgid "Speed" msgstr "Brzina" msgctxt "#30012" msgid "Default" msgstr "Podrazumjevano" msgctxt "#30013" msgid "Fast" msgstr "Brzo" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ca_es/000077500000000000000000000000001361526231100341505ustar00rootroot00000000000000strings.po000066400000000000000000000025511361526231100361250ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ca_es# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Catalan (http://www.transifex.com/projects/p/xbmc-main/language/ca/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30001" msgid "Filled" msgstr "Sòlid" msgctxt "#30002" msgid "Wireframe" msgstr "Malla" msgctxt "#30003" msgid "Points" msgstr "Punts" msgctxt "#30004" msgid "Bar Height" msgstr "Alçada de la barra" msgctxt "#30005" msgid "Small" msgstr "Petit" msgctxt "#30006" msgid "Default" msgstr "Per defecte" msgctxt "#30007" msgid "Big" msgstr "Gran" msgctxt "#30008" msgid "Very Big" msgstr "Molt gran" msgctxt "#30009" msgid "Speed" msgstr "Velocitat" msgctxt "#30010" msgid "Very Slow" msgstr "Molt lent" msgctxt "#30011" msgid "Slow" msgstr "Lent" msgctxt "#30012" msgid "Default" msgstr "Per defecte" msgctxt "#30013" msgid "Fast" msgstr "Ràpid" msgctxt "#30014" msgid "Very Fast" msgstr "Molt ràpid" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.cs_cz/000077500000000000000000000000001361526231100341775ustar00rootroot00000000000000strings.po000066400000000000000000000026221361526231100361530ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.cs_cz# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Czech (http://www.transifex.com/projects/p/xbmc-main/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" msgctxt "#30000" msgid "Mode" msgstr "Režim" msgctxt "#30001" msgid "Filled" msgstr "Vypněný" msgctxt "#30002" msgid "Wireframe" msgstr "Drátový model" msgctxt "#30003" msgid "Points" msgstr "Body" msgctxt "#30004" msgid "Bar Height" msgstr "Výška sloupce" msgctxt "#30005" msgid "Small" msgstr "Malá" msgctxt "#30006" msgid "Default" msgstr "Výchozí" msgctxt "#30007" msgid "Big" msgstr "Velká" msgctxt "#30008" msgid "Very Big" msgstr "Velmi velká" msgctxt "#30009" msgid "Speed" msgstr "Rychlost" msgctxt "#30010" msgid "Very Slow" msgstr "Velmi pomalu" msgctxt "#30011" msgid "Slow" msgstr "Pomalu" msgctxt "#30012" msgid "Default" msgstr "Výchozí" msgctxt "#30013" msgid "Fast" msgstr "Rychle" msgctxt "#30014" msgid "Very Fast" msgstr "Velmi rychle" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.cy_gb/000077500000000000000000000000001361526231100341615ustar00rootroot00000000000000strings.po000066400000000000000000000026251361526231100361400ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.cy_gb# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Welsh (http://www.transifex.com/projects/p/xbmc-main/language/cy/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cy\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;\n" msgctxt "#30000" msgid "Mode" msgstr "Modd" msgctxt "#30001" msgid "Filled" msgstr "Llanwyd" msgctxt "#30002" msgid "Wireframe" msgstr "Ffrâm weiar" msgctxt "#30003" msgid "Points" msgstr "Pwyntiau" msgctxt "#30004" msgid "Bar Height" msgstr "Uchder Bar" msgctxt "#30005" msgid "Small" msgstr "Bach" msgctxt "#30006" msgid "Default" msgstr "Rhagosodiad" msgctxt "#30007" msgid "Big" msgstr "Mawr" msgctxt "#30008" msgid "Very Big" msgstr "Mawr Iawn" msgctxt "#30009" msgid "Speed" msgstr "Cyflymder" msgctxt "#30010" msgid "Very Slow" msgstr "Araf Iawn" msgctxt "#30011" msgid "Slow" msgstr "Araf" msgctxt "#30012" msgid "Default" msgstr "Rhagosodiad" msgctxt "#30013" msgid "Fast" msgstr "Cyflym" msgctxt "#30014" msgid "Very Fast" msgstr "Cyflym Iawn" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.da_dk/000077500000000000000000000000001361526231100341405ustar00rootroot00000000000000strings.po000066400000000000000000000025531361526231100361170ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.da_dk# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Danish (http://www.transifex.com/projects/p/xbmc-main/language/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Tilstand" msgctxt "#30001" msgid "Filled" msgstr "Fyldt" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Punkter" msgctxt "#30004" msgid "Bar Height" msgstr "Bokshøjde" msgctxt "#30005" msgid "Small" msgstr "Lille" msgctxt "#30006" msgid "Default" msgstr "Standard" msgctxt "#30007" msgid "Big" msgstr "Stor" msgctxt "#30008" msgid "Very Big" msgstr "Meget stor" msgctxt "#30009" msgid "Speed" msgstr "Hastighed" msgctxt "#30010" msgid "Very Slow" msgstr "Meget langsom" msgctxt "#30011" msgid "Slow" msgstr "Langsom" msgctxt "#30012" msgid "Default" msgstr "Standard" msgctxt "#30013" msgid "Fast" msgstr "Hurtig" msgctxt "#30014" msgid "Very Fast" msgstr "Meget hurtig" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.de_de/000077500000000000000000000000001361526231100341365ustar00rootroot00000000000000strings.po000066400000000000000000000032301361526231100361060ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.de_de# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: German (http://www.transifex.com/projects/p/xbmc-main/language/de/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modus" msgctxt "#30001" msgid "Filled" msgstr "Ausgefüllt" msgctxt "#30002" msgid "Wireframe" msgstr "Drahtgeflecht" msgctxt "#30003" msgid "Points" msgstr "Punkte" msgctxt "#30004" msgid "Bar Height" msgstr "Balkenhöhe" msgctxt "#30005" msgid "Small" msgstr "Klein" msgctxt "#30006" msgid "Default" msgstr "Standard" msgctxt "#30007" msgid "Big" msgstr "Groß" msgctxt "#30008" msgid "Very Big" msgstr "Sehr groß" msgctxt "#30009" msgid "Speed" msgstr "Geschwindigkeit" msgctxt "#30010" msgid "Very Slow" msgstr "Sehr langsam" msgctxt "#30011" msgid "Slow" msgstr "Langsam" msgctxt "#30012" msgid "Default" msgstr "Standard" msgctxt "#30013" msgid "Fast" msgstr "Schnell" msgctxt "#30014" msgid "Very Fast" msgstr "Sehr schnell" msgctxt "#30015" msgid "Point size" msgstr "Punktgröße" msgctxt "#30016" msgid "%i pixel" msgstr "" msgctxt "#30017" msgid "Rotation position" msgstr "Drehposition" msgctxt "#30018" msgid "%i°" msgstr "%i°" msgctxt "#30019" msgid "Turn continuously" msgstr "Durchgehend drehen" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.el_gr/000077500000000000000000000000001361526231100341665ustar00rootroot00000000000000strings.po000066400000000000000000000027511361526231100361450ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.el_gr# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Greek (http://www.transifex.com/projects/p/xbmc-main/language/el/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Μέθοδος" msgctxt "#30001" msgid "Filled" msgstr "Γέμισαν" msgctxt "#30002" msgid "Wireframe" msgstr "Συρματόπλεγμα" msgctxt "#30003" msgid "Points" msgstr "Σημεία" msgctxt "#30004" msgid "Bar Height" msgstr "Ύψος Στηλών" msgctxt "#30005" msgid "Small" msgstr "Μικρό" msgctxt "#30006" msgid "Default" msgstr "Προεπιλογή" msgctxt "#30007" msgid "Big" msgstr "Μεγάλο" msgctxt "#30008" msgid "Very Big" msgstr "Πολύ Μεγάλο" msgctxt "#30009" msgid "Speed" msgstr "Ταχύτητα" msgctxt "#30010" msgid "Very Slow" msgstr "Πολύ Αργά" msgctxt "#30011" msgid "Slow" msgstr "Αργά" msgctxt "#30012" msgid "Default" msgstr "Προεπιλογή" msgctxt "#30013" msgid "Fast" msgstr "Γρήγορα" msgctxt "#30014" msgid "Very Fast" msgstr "Πολύ Γρήγορα" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.en_gb/000077500000000000000000000000001361526231100341505ustar00rootroot00000000000000strings.po000066400000000000000000000027661361526231100361350ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.en_gb# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: English (http://www.transifex.com/projects/p/xbmc-main/language/en/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #settings labels msgctxt "#30000" msgid "Mode" msgstr "" msgctxt "#30001" msgid "Filled" msgstr "" msgctxt "#30002" msgid "Wireframe" msgstr "" msgctxt "#30003" msgid "Points" msgstr "" msgctxt "#30004" msgid "Bar Height" msgstr "" msgctxt "#30005" msgid "Small" msgstr "" msgctxt "#30006" msgid "Default" msgstr "" msgctxt "#30007" msgid "Big" msgstr "" msgctxt "#30008" msgid "Very Big" msgstr "" msgctxt "#30009" msgid "Speed" msgstr "" msgctxt "#30010" msgid "Very Slow" msgstr "" msgctxt "#30011" msgid "Slow" msgstr "" msgctxt "#30012" msgid "Default" msgstr "" msgctxt "#30013" msgid "Fast" msgstr "" msgctxt "#30014" msgid "Very Fast" msgstr "" msgctxt "#30015" msgid "Point size" msgstr "" msgctxt "#30016" msgid "%i pixel" msgstr "" msgctxt "#30017" msgid "Rotation position" msgstr "" msgctxt "#30018" msgid "%i°" msgstr "" msgctxt "#30019" msgid "Turn continuously" msgstr "" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.en_us/000077500000000000000000000000001361526231100342075ustar00rootroot00000000000000strings.po000066400000000000000000000032071361526231100361630ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.en_us# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: English (US) (http://www.transifex.com/projects/p/xbmc-main/language/en_US/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: en_US\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30001" msgid "Filled" msgstr "Filled" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Points" msgctxt "#30004" msgid "Bar Height" msgstr "Bar Height" msgctxt "#30005" msgid "Small" msgstr "Small" msgctxt "#30006" msgid "Default" msgstr "Default" msgctxt "#30007" msgid "Big" msgstr "Big" msgctxt "#30008" msgid "Very Big" msgstr "Very Big" msgctxt "#30009" msgid "Speed" msgstr "Speed" msgctxt "#30010" msgid "Very Slow" msgstr "Very Slow" msgctxt "#30011" msgid "Slow" msgstr "Slow" msgctxt "#30012" msgid "Default" msgstr "Default" msgctxt "#30013" msgid "Fast" msgstr "Fast" msgctxt "#30014" msgid "Very Fast" msgstr "Very Fast" msgctxt "#30015" msgid "Point size" msgstr "Point size" msgctxt "#30016" msgid "%i pixel" msgstr "%i pixel" msgctxt "#30017" msgid "Rotation position" msgstr "Rotation position" msgctxt "#30018" msgid "%i°" msgstr "%i°" msgctxt "#30019" msgid "Turn continuously" msgstr "Turn continuously" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.eo/000077500000000000000000000000001361526231100335015ustar00rootroot00000000000000strings.po000066400000000000000000000014571361526231100354620ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.eo# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Esperanto (http://www.transifex.com/projects/p/xbmc-main/language/eo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30006" msgid "Default" msgstr "Default" msgctxt "#30009" msgid "Speed" msgstr "Rapideco" msgctxt "#30012" msgid "Default" msgstr "Default" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.es_ar/000077500000000000000000000000001361526231100341675ustar00rootroot00000000000000strings.po000066400000000000000000000026041361526231100361430ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.es_ar# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Spanish (Argentina) (http://www.transifex.com/projects/p/xbmc-main/language/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_AR\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modo" msgctxt "#30001" msgid "Filled" msgstr "Sólido" msgctxt "#30002" msgid "Wireframe" msgstr "Malla" msgctxt "#30003" msgid "Points" msgstr "Puntos" msgctxt "#30004" msgid "Bar Height" msgstr "Altura de la barra" msgctxt "#30005" msgid "Small" msgstr "Pequeña" msgctxt "#30006" msgid "Default" msgstr "Por defecto" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Muy grande" msgctxt "#30009" msgid "Speed" msgstr "Velocidad" msgctxt "#30010" msgid "Very Slow" msgstr "Muy lenta" msgctxt "#30011" msgid "Slow" msgstr "Lenta" msgctxt "#30012" msgid "Default" msgstr "Por defecto" msgctxt "#30013" msgid "Fast" msgstr "Rápida" msgctxt "#30014" msgid "Very Fast" msgstr "Muy rápida" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.es_es/000077500000000000000000000000001361526231100341745ustar00rootroot00000000000000strings.po000066400000000000000000000025701361526231100361520ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.es_es# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Spanish (http://www.transifex.com/projects/p/xbmc-main/language/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modo" msgctxt "#30001" msgid "Filled" msgstr "Sólido" msgctxt "#30002" msgid "Wireframe" msgstr "Malla" msgctxt "#30003" msgid "Points" msgstr "Puntos" msgctxt "#30004" msgid "Bar Height" msgstr "Altura de la barra" msgctxt "#30005" msgid "Small" msgstr "Pequeña" msgctxt "#30006" msgid "Default" msgstr "Por defecto" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Muy grande" msgctxt "#30009" msgid "Speed" msgstr "Velocidad" msgctxt "#30010" msgid "Very Slow" msgstr "Muy despacio" msgctxt "#30011" msgid "Slow" msgstr "Despacio" msgctxt "#30012" msgid "Default" msgstr "Por defecto" msgctxt "#30013" msgid "Fast" msgstr "Rápido" msgctxt "#30014" msgid "Very Fast" msgstr "Muy rápido" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.es_mx/000077500000000000000000000000001361526231100342115ustar00rootroot00000000000000strings.po000066400000000000000000000026041361526231100361650ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.es_mx# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Spanish (Mexico) (http://www.transifex.com/projects/p/xbmc-main/language/es_MX/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es_MX\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modo" msgctxt "#30001" msgid "Filled" msgstr "Lleno" msgctxt "#30002" msgid "Wireframe" msgstr "Malla de alambre" msgctxt "#30003" msgid "Points" msgstr "Puntos" msgctxt "#30004" msgid "Bar Height" msgstr "Altura de Barra" msgctxt "#30005" msgid "Small" msgstr "Chico" msgctxt "#30006" msgid "Default" msgstr "Por defecto" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Muy Grande" msgctxt "#30009" msgid "Speed" msgstr "Velocidad" msgctxt "#30010" msgid "Very Slow" msgstr "Muy Lento" msgctxt "#30011" msgid "Slow" msgstr "Lento" msgctxt "#30012" msgid "Default" msgstr "Por defecto" msgctxt "#30013" msgid "Fast" msgstr "Rápido" msgctxt "#30014" msgid "Very Fast" msgstr "Muy Rápido" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.et_ee/000077500000000000000000000000001361526231100341575ustar00rootroot00000000000000strings.po000066400000000000000000000025571361526231100361420ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.et_ee# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Estonian (http://www.transifex.com/projects/p/xbmc-main/language/et/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Režiim" msgctxt "#30001" msgid "Filled" msgstr "Täidetud" msgctxt "#30002" msgid "Wireframe" msgstr "Sõrestik" msgctxt "#30003" msgid "Points" msgstr "Punkte" msgctxt "#30004" msgid "Bar Height" msgstr "Riba kõrgus" msgctxt "#30005" msgid "Small" msgstr "Väike" msgctxt "#30006" msgid "Default" msgstr "Vaikimisi" msgctxt "#30007" msgid "Big" msgstr "Suur" msgctxt "#30008" msgid "Very Big" msgstr "Väga suur" msgctxt "#30009" msgid "Speed" msgstr "Kiirus" msgctxt "#30010" msgid "Very Slow" msgstr "Väga aeglane" msgctxt "#30011" msgid "Slow" msgstr "Aeglane" msgctxt "#30012" msgid "Default" msgstr "Vaikimisi" msgctxt "#30013" msgid "Fast" msgstr "Kiire" msgctxt "#30014" msgid "Very Fast" msgstr "Väga kiire" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.eu_es/000077500000000000000000000000001361526231100341765ustar00rootroot00000000000000strings.po000066400000000000000000000025611361526231100361540ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.eu_es# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Basque (http://www.transifex.com/projects/p/xbmc-main/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modua" msgctxt "#30001" msgid "Filled" msgstr "Betea" msgctxt "#30002" msgid "Wireframe" msgstr "Burdin-haria" msgctxt "#30003" msgid "Points" msgstr "Puntuak" msgctxt "#30004" msgid "Bar Height" msgstr "Barra garaiera" msgctxt "#30005" msgid "Small" msgstr "Txikia" msgctxt "#30006" msgid "Default" msgstr "Lehenetsia" msgctxt "#30007" msgid "Big" msgstr "Handia" msgctxt "#30008" msgid "Very Big" msgstr "Oso handia" msgctxt "#30009" msgid "Speed" msgstr "Abiadura" msgctxt "#30010" msgid "Very Slow" msgstr "Oso poliki" msgctxt "#30011" msgid "Slow" msgstr "Poliki" msgctxt "#30012" msgid "Default" msgstr "Lehenetsia" msgctxt "#30013" msgid "Fast" msgstr "Azkarra" msgctxt "#30014" msgid "Very Fast" msgstr "Oso azkarra" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fa_af/000077500000000000000000000000001361526231100341325ustar00rootroot00000000000000strings.po000066400000000000000000000014051361526231100361040ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fa_af# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Persian (http://www.transifex.com/projects/p/xbmc-main/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30006" msgid "Default" msgstr "پیش فرض" msgctxt "#30009" msgid "Speed" msgstr "سرعت" msgctxt "#30012" msgid "Default" msgstr "پیش فرض" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fa_ir/000077500000000000000000000000001361526231100341565ustar00rootroot00000000000000strings.po000066400000000000000000000015031361526231100361270ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fa_ir# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Persian (Iran) (http://www.transifex.com/projects/p/xbmc-main/language/fa_IR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa_IR\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "حالت" msgctxt "#30006" msgid "Default" msgstr "پیش فرض" msgctxt "#30009" msgid "Speed" msgstr "سرعت" msgctxt "#30012" msgid "Default" msgstr "پیش فرض" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fi_fi/000077500000000000000000000000001361526231100341525ustar00rootroot00000000000000strings.po000066400000000000000000000025631361526231100361320ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fi_fi# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Finnish (http://www.transifex.com/projects/p/xbmc-main/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Muoto" msgctxt "#30001" msgid "Filled" msgstr "Täytetty" msgctxt "#30002" msgid "Wireframe" msgstr "Rautalanka" msgctxt "#30003" msgid "Points" msgstr "Pisteet" msgctxt "#30004" msgid "Bar Height" msgstr "Palkin korkeus" msgctxt "#30005" msgid "Small" msgstr "Pieni" msgctxt "#30006" msgid "Default" msgstr "Oletus" msgctxt "#30007" msgid "Big" msgstr "Suuri" msgctxt "#30008" msgid "Very Big" msgstr "Erittäin suuri" msgctxt "#30009" msgid "Speed" msgstr "Nopeus" msgctxt "#30010" msgid "Very Slow" msgstr "Erittäin hidas" msgctxt "#30011" msgid "Slow" msgstr "Hidas" msgctxt "#30012" msgid "Default" msgstr "Oletus" msgctxt "#30013" msgid "Fast" msgstr "Nopea" msgctxt "#30014" msgid "Very Fast" msgstr "Erittäin nopea" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fo_fo/000077500000000000000000000000001361526231100341665ustar00rootroot00000000000000strings.po000066400000000000000000000015321361526231100361410ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fo_fo# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Faroese (http://www.transifex.com/projects/p/xbmc-main/language/fo/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fo\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30005" msgid "Small" msgstr "Líti" msgctxt "#30006" msgid "Default" msgstr "Vanligt" msgctxt "#30009" msgid "Speed" msgstr "Fer" msgctxt "#30012" msgid "Default" msgstr "Vanligt" msgctxt "#30013" msgid "Fast" msgstr "Skjótt" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fr_ca/000077500000000000000000000000001361526231100341505ustar00rootroot00000000000000strings.po000066400000000000000000000025631361526231100361300ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fr_ca# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: French (Canada) (http://www.transifex.com/projects/p/xbmc-main/language/fr_CA/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr_CA\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30001" msgid "Filled" msgstr "Plein" msgctxt "#30002" msgid "Wireframe" msgstr "Fil de fer" msgctxt "#30003" msgid "Points" msgstr "Points" msgctxt "#30004" msgid "Bar Height" msgstr "Hauteur de barre" msgctxt "#30005" msgid "Small" msgstr "Petit" msgctxt "#30006" msgid "Default" msgstr "Défaut" msgctxt "#30007" msgid "Big" msgstr "Grand" msgctxt "#30008" msgid "Very Big" msgstr "Très Grand" msgctxt "#30009" msgid "Speed" msgstr "Vitesse" msgctxt "#30010" msgid "Very Slow" msgstr "Très Lent" msgctxt "#30011" msgid "Slow" msgstr "Lent" msgctxt "#30012" msgid "Default" msgstr "Défaut" msgctxt "#30013" msgid "Fast" msgstr "Rapide" msgctxt "#30014" msgid "Very Fast" msgstr "Très Rapide" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fr_fr/000077500000000000000000000000001361526231100341745ustar00rootroot00000000000000strings.po000066400000000000000000000025441361526231100361530ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.fr_fr# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: French (http://www.transifex.com/projects/p/xbmc-main/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30001" msgid "Filled" msgstr "Plein" msgctxt "#30002" msgid "Wireframe" msgstr "Fil de fer" msgctxt "#30003" msgid "Points" msgstr "Points" msgctxt "#30004" msgid "Bar Height" msgstr "Hauteur de barre" msgctxt "#30005" msgid "Small" msgstr "Petit" msgctxt "#30006" msgid "Default" msgstr "Défaut" msgctxt "#30007" msgid "Big" msgstr "Grand" msgctxt "#30008" msgid "Very Big" msgstr "Très Grand" msgctxt "#30009" msgid "Speed" msgstr "Vitesse" msgctxt "#30010" msgid "Very Slow" msgstr "Très Lent" msgctxt "#30011" msgid "Slow" msgstr "Lent" msgctxt "#30012" msgid "Default" msgstr "Défaut" msgctxt "#30013" msgid "Fast" msgstr "Rapide" msgctxt "#30014" msgid "Very Fast" msgstr "Très Rapide" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.gl_es/000077500000000000000000000000001361526231100341675ustar00rootroot00000000000000strings.po000066400000000000000000000025631361526231100361470ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.gl_es# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Galician (http://www.transifex.com/projects/p/xbmc-main/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modo" msgctxt "#30001" msgid "Filled" msgstr "Cheo" msgctxt "#30002" msgid "Wireframe" msgstr "Malla" msgctxt "#30003" msgid "Points" msgstr "Puntos" msgctxt "#30004" msgid "Bar Height" msgstr "Altura da barra" msgctxt "#30005" msgid "Small" msgstr "Pequeno" msgctxt "#30006" msgid "Default" msgstr "Predeterminado" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Moi grande" msgctxt "#30009" msgid "Speed" msgstr "Velocidade" msgctxt "#30010" msgid "Very Slow" msgstr "Moi lenta" msgctxt "#30011" msgid "Slow" msgstr "Lenta" msgctxt "#30012" msgid "Default" msgstr "Predeterminada" msgctxt "#30013" msgid "Fast" msgstr "Rápida" msgctxt "#30014" msgid "Very Fast" msgstr "Moi rápida" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.he_il/000077500000000000000000000000001361526231100341565ustar00rootroot00000000000000strings.po000066400000000000000000000026351361526231100361360ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.he_il# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/xbmc-main/language/he/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "מצב" msgctxt "#30001" msgid "Filled" msgstr "Filled" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Points" msgctxt "#30004" msgid "Bar Height" msgstr "גובה פס" msgctxt "#30005" msgid "Small" msgstr "קטן" msgctxt "#30006" msgid "Default" msgstr "ברירת מחדל" msgctxt "#30007" msgid "Big" msgstr "גדול" msgctxt "#30008" msgid "Very Big" msgstr "גדול מאוד" msgctxt "#30009" msgid "Speed" msgstr "מהירות" msgctxt "#30010" msgid "Very Slow" msgstr "איטי מאוד" msgctxt "#30011" msgid "Slow" msgstr "איטי" msgctxt "#30012" msgid "Default" msgstr "ברירת מחדל" msgctxt "#30013" msgid "Fast" msgstr "מהיר" msgctxt "#30014" msgid "Very Fast" msgstr "מהיר מאוד" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.hi_in/000077500000000000000000000000001361526231100341645ustar00rootroot00000000000000strings.po000066400000000000000000000015431361526231100361410ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.hi_in# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Hindi (Devanagiri) (http://www.transifex.com/projects/p/xbmc-main/language/hi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "विधि" msgctxt "#30006" msgid "Default" msgstr "डिफ़ॉल्ट" msgctxt "#30009" msgid "Speed" msgstr "गति" msgctxt "#30012" msgid "Default" msgstr "डिफ़ॉल्ट" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.hr_hr/000077500000000000000000000000001361526231100342005ustar00rootroot00000000000000strings.po000066400000000000000000000026561361526231100361630ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.hr_hr# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Croatian (http://www.transifex.com/projects/p/xbmc-main/language/hr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hr\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" msgctxt "#30000" msgid "Mode" msgstr "Način" msgctxt "#30001" msgid "Filled" msgstr "Popunjeno" msgctxt "#30002" msgid "Wireframe" msgstr "Žičani okvir" msgctxt "#30003" msgid "Points" msgstr "Točke" msgctxt "#30004" msgid "Bar Height" msgstr "Visina trake" msgctxt "#30005" msgid "Small" msgstr "Malo" msgctxt "#30006" msgid "Default" msgstr "Zadano" msgctxt "#30007" msgid "Big" msgstr "Veliko" msgctxt "#30008" msgid "Very Big" msgstr "Vrlo veliko" msgctxt "#30009" msgid "Speed" msgstr "Brzina" msgctxt "#30010" msgid "Very Slow" msgstr "Vrlo sporo" msgctxt "#30011" msgid "Slow" msgstr "Sporo" msgctxt "#30012" msgid "Default" msgstr "Zadano" msgctxt "#30013" msgid "Fast" msgstr "Brzo" msgctxt "#30014" msgid "Very Fast" msgstr "Vrlo brzo" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.hu_hu/000077500000000000000000000000001361526231100342065ustar00rootroot00000000000000strings.po000066400000000000000000000025741361526231100361700ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.hu_hu# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/xbmc-main/language/hu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mód" msgctxt "#30001" msgid "Filled" msgstr "Kitöltött" msgctxt "#30002" msgid "Wireframe" msgstr "Drótváz" msgctxt "#30003" msgid "Points" msgstr "Pontok" msgctxt "#30004" msgid "Bar Height" msgstr "Oszlopmagasság" msgctxt "#30005" msgid "Small" msgstr "Alacsony" msgctxt "#30006" msgid "Default" msgstr "Alapérték" msgctxt "#30007" msgid "Big" msgstr "Nagy" msgctxt "#30008" msgid "Very Big" msgstr "Nagyon nagy" msgctxt "#30009" msgid "Speed" msgstr "Sebesség" msgctxt "#30010" msgid "Very Slow" msgstr "Nagyon lassú" msgctxt "#30011" msgid "Slow" msgstr "Lassú" msgctxt "#30012" msgid "Default" msgstr "Alapérték" msgctxt "#30013" msgid "Fast" msgstr "Gyors" msgctxt "#30014" msgid "Very Fast" msgstr "Nagyon gyors" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.id_id/000077500000000000000000000000001361526231100341465ustar00rootroot00000000000000strings.po000066400000000000000000000025371361526231100361270ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.id_id# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Indonesian (http://www.transifex.com/projects/p/xbmc-main/language/id/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "Mode" msgctxt "#30001" msgid "Filled" msgstr "Diisi" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Point" msgctxt "#30004" msgid "Bar Height" msgstr "Tinggi bar" msgctxt "#30005" msgid "Small" msgstr "Kecil" msgctxt "#30006" msgid "Default" msgstr "Standar" msgctxt "#30007" msgid "Big" msgstr "Besar" msgctxt "#30008" msgid "Very Big" msgstr "Sangat Besar" msgctxt "#30009" msgid "Speed" msgstr "Kecepatan" msgctxt "#30010" msgid "Very Slow" msgstr "Sangat Pelan" msgctxt "#30011" msgid "Slow" msgstr "Pelan" msgctxt "#30012" msgid "Default" msgstr "Standar" msgctxt "#30013" msgid "Fast" msgstr "Cepat" msgctxt "#30014" msgid "Very Fast" msgstr "Sangat Cepat" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.is_is/000077500000000000000000000000001361526231100342045ustar00rootroot00000000000000strings.po000066400000000000000000000025531361526231100361630ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.is_is# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/xbmc-main/language/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Hamur" msgctxt "#30001" msgid "Filled" msgstr "Fyllt" msgctxt "#30002" msgid "Wireframe" msgstr "Útlínur" msgctxt "#30003" msgid "Points" msgstr "Punktar" msgctxt "#30004" msgid "Bar Height" msgstr "Hæð" msgctxt "#30005" msgid "Small" msgstr "Lítið" msgctxt "#30006" msgid "Default" msgstr "Sjálfgefið" msgctxt "#30007" msgid "Big" msgstr "Stórt" msgctxt "#30008" msgid "Very Big" msgstr "Mjög stórt" msgctxt "#30009" msgid "Speed" msgstr "Hraði" msgctxt "#30010" msgid "Very Slow" msgstr "Mjög hægt" msgctxt "#30011" msgid "Slow" msgstr "Hægt" msgctxt "#30012" msgid "Default" msgstr "Sjálfgefið" msgctxt "#30013" msgid "Fast" msgstr "Hratt" msgctxt "#30014" msgid "Very Fast" msgstr "Mjög hratt" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.it_it/000077500000000000000000000000001361526231100342065ustar00rootroot00000000000000strings.po000066400000000000000000000025661361526231100361710ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.it_it# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Italian (http://www.transifex.com/projects/p/xbmc-main/language/it/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modalità" msgctxt "#30001" msgid "Filled" msgstr "Piene" msgctxt "#30002" msgid "Wireframe" msgstr "A righe" msgctxt "#30003" msgid "Points" msgstr "A punti" msgctxt "#30004" msgid "Bar Height" msgstr "Altezza barre" msgctxt "#30005" msgid "Small" msgstr "Piccolo" msgctxt "#30006" msgid "Default" msgstr "Predefinito" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Molto grande" msgctxt "#30009" msgid "Speed" msgstr "Velocità" msgctxt "#30010" msgid "Very Slow" msgstr "Molto lento" msgctxt "#30011" msgid "Slow" msgstr "Lento" msgctxt "#30012" msgid "Default" msgstr "Predefinito" msgctxt "#30013" msgid "Fast" msgstr "Veloce" msgctxt "#30014" msgid "Very Fast" msgstr "Molto veloce" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ja_jp/000077500000000000000000000000001361526231100341615ustar00rootroot00000000000000strings.po000066400000000000000000000026661361526231100361450ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ja_jp# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Japanese (http://www.transifex.com/projects/p/xbmc-main/language/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "モード" msgctxt "#30001" msgid "Filled" msgstr "フィル" msgctxt "#30002" msgid "Wireframe" msgstr "ワイヤーフレーム" msgctxt "#30003" msgid "Points" msgstr "ポイント" msgctxt "#30004" msgid "Bar Height" msgstr "バーの高さ" msgctxt "#30005" msgid "Small" msgstr "小さい" msgctxt "#30006" msgid "Default" msgstr "デフォルト" msgctxt "#30007" msgid "Big" msgstr "大きい" msgctxt "#30008" msgid "Very Big" msgstr "とても大きい" msgctxt "#30009" msgid "Speed" msgstr "表示時間" msgctxt "#30010" msgid "Very Slow" msgstr "とてもゆっくり" msgctxt "#30011" msgid "Slow" msgstr "ゆっくり" msgctxt "#30012" msgid "Default" msgstr "デフォルト" msgctxt "#30013" msgid "Fast" msgstr "速く" msgctxt "#30014" msgid "Very Fast" msgstr "とても速く" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ko_kr/000077500000000000000000000000001361526231100342035ustar00rootroot00000000000000strings.po000066400000000000000000000025531361526231100361620ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ko_kr# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Korean (http://www.transifex.com/projects/p/xbmc-main/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "모드" msgctxt "#30001" msgid "Filled" msgstr "채워짐" msgctxt "#30002" msgid "Wireframe" msgstr "와이어 프레임" msgctxt "#30003" msgid "Points" msgstr "점" msgctxt "#30004" msgid "Bar Height" msgstr "바 높이" msgctxt "#30005" msgid "Small" msgstr "낮음" msgctxt "#30006" msgid "Default" msgstr "보통" msgctxt "#30007" msgid "Big" msgstr "높음" msgctxt "#30008" msgid "Very Big" msgstr "매우 높음" msgctxt "#30009" msgid "Speed" msgstr "속도" msgctxt "#30010" msgid "Very Slow" msgstr "매우 느림" msgctxt "#30011" msgid "Slow" msgstr "느림" msgctxt "#30012" msgid "Default" msgstr "보통" msgctxt "#30013" msgid "Fast" msgstr "빠름" msgctxt "#30014" msgid "Very Fast" msgstr "매우 빠름" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.lt_lt/000077500000000000000000000000001361526231100342145ustar00rootroot00000000000000strings.po000066400000000000000000000027341361526231100361740ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.lt_lt# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Lithuanian (http://www.transifex.com/projects/p/xbmc-main/language/lt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lt\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Režimas" msgctxt "#30001" msgid "Filled" msgstr "Pripildytas" msgctxt "#30002" msgid "Wireframe" msgstr "Tinklelio modelis" msgctxt "#30003" msgid "Points" msgstr "Taškai" msgctxt "#30004" msgid "Bar Height" msgstr "Juosta aukštai" msgctxt "#30005" msgid "Small" msgstr "Mažas" msgctxt "#30006" msgid "Default" msgstr "Numatytas" msgctxt "#30007" msgid "Big" msgstr "Didelis" msgctxt "#30008" msgid "Very Big" msgstr "Labai didelis" msgctxt "#30009" msgid "Speed" msgstr "Prezentacijos rodymo laikas" msgctxt "#30010" msgid "Very Slow" msgstr "Labai lėtas" msgctxt "#30011" msgid "Slow" msgstr "Lėtas" msgctxt "#30012" msgid "Default" msgstr "Numatytas" msgctxt "#30013" msgid "Fast" msgstr "Greitas" msgctxt "#30014" msgid "Very Fast" msgstr "Labai greitas" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.lv_lv/000077500000000000000000000000001361526231100342205ustar00rootroot00000000000000strings.po000066400000000000000000000026301361526231100361730ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.lv_lv# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Latvian (http://www.transifex.com/projects/p/xbmc-main/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Veids" msgctxt "#30001" msgid "Filled" msgstr "Pildīts" msgctxt "#30002" msgid "Wireframe" msgstr "Tīkla režgis" msgctxt "#30003" msgid "Points" msgstr "Punkti" msgctxt "#30004" msgid "Bar Height" msgstr "Stieņa augstums" msgctxt "#30005" msgid "Small" msgstr "Mazs" msgctxt "#30006" msgid "Default" msgstr "Noklusētais" msgctxt "#30007" msgid "Big" msgstr "Liels" msgctxt "#30008" msgid "Very Big" msgstr "Ļoti liels" msgctxt "#30009" msgid "Speed" msgstr "Ātrums" msgctxt "#30010" msgid "Very Slow" msgstr "Ļoti mazs" msgctxt "#30011" msgid "Slow" msgstr "Lēns" msgctxt "#30012" msgid "Default" msgstr "Noklusētais" msgctxt "#30013" msgid "Fast" msgstr "Ātrs" msgctxt "#30014" msgid "Very Fast" msgstr "Loti ātrs" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.mk_mk/000077500000000000000000000000001361526231100341745ustar00rootroot00000000000000strings.po000066400000000000000000000030071361526231100361460ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.mk_mk# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Macedonian (http://www.transifex.com/projects/p/xbmc-main/language/mk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mk\n" "Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n" msgctxt "#30000" msgid "Mode" msgstr "Режим" msgctxt "#30001" msgid "Filled" msgstr "Исполнето" msgctxt "#30002" msgid "Wireframe" msgstr "Мрежесто" msgctxt "#30003" msgid "Points" msgstr "Поени" msgctxt "#30004" msgid "Bar Height" msgstr "Висина на бар" msgctxt "#30005" msgid "Small" msgstr "Мало" msgctxt "#30006" msgid "Default" msgstr "Подразбирачко" msgctxt "#30007" msgid "Big" msgstr "Големо" msgctxt "#30008" msgid "Very Big" msgstr "Многу големо" msgctxt "#30009" msgid "Speed" msgstr "Брзина" msgctxt "#30010" msgid "Very Slow" msgstr "Многу споро" msgctxt "#30011" msgid "Slow" msgstr "Споро" msgctxt "#30012" msgid "Default" msgstr "Подразбирачко" msgctxt "#30013" msgid "Fast" msgstr "Брзо" msgctxt "#30014" msgid "Very Fast" msgstr "Многу брзо" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ms_my/000077500000000000000000000000001361526231100342225ustar00rootroot00000000000000strings.po000066400000000000000000000013001361526231100361660ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ms_my# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Malay (http://www.transifex.com/projects/p/xbmc-main/language/ms/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ms\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30005" msgid "Small" msgstr "Kecil" msgctxt "#30009" msgid "Speed" msgstr "Kelajuan" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.mt_mt/000077500000000000000000000000001361526231100342165ustar00rootroot00000000000000strings.po000066400000000000000000000016531361526231100361750ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.mt_mt# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Maltese (http://www.transifex.com/projects/p/xbmc-main/language/mt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mt\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : (n%100>10 && n%100<20 ) ? 2 : 3);\n" msgctxt "#30000" msgid "Mode" msgstr "Mode:" msgctxt "#30006" msgid "Default" msgstr "Difolt" msgctxt "#30009" msgid "Speed" msgstr "Veloċita'" msgctxt "#30012" msgid "Default" msgstr "Difolt" msgctxt "#30013" msgid "Fast" msgstr "Mgħaġġel" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.my_mm/000077500000000000000000000000001361526231100342145ustar00rootroot00000000000000strings.po000066400000000000000000000032651361526231100361740ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.my_mm# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Burmese (http://www.transifex.com/projects/p/xbmc-main/language/my/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: my\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "အခြေအနေ" msgctxt "#30001" msgid "Filled" msgstr "ဖြည့်စွက်မည်" msgctxt "#30002" msgid "Wireframe" msgstr "အခြေခံဖွဲ့စည်းမှု" msgctxt "#30003" msgid "Points" msgstr "အမှတ်များ" msgctxt "#30004" msgid "Bar Height" msgstr "ဘား အမြင့်" msgctxt "#30005" msgid "Small" msgstr "သေးငယ်သော" msgctxt "#30006" msgid "Default" msgstr "မူလအတိုင်း" msgctxt "#30007" msgid "Big" msgstr "ကြီးမားသော" msgctxt "#30008" msgid "Very Big" msgstr "ပို၍ကြီးမားသော" msgctxt "#30009" msgid "Speed" msgstr "အမြန်နှုန်း" msgctxt "#30010" msgid "Very Slow" msgstr "ပို၍နှေးသော" msgctxt "#30011" msgid "Slow" msgstr "နှေးသော" msgctxt "#30012" msgid "Default" msgstr "မူလအတိုင်း" msgctxt "#30013" msgid "Fast" msgstr "အမြန်" msgctxt "#30014" msgid "Very Fast" msgstr "ပို၍မြန်သော" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.nb_no/000077500000000000000000000000001361526231100341715ustar00rootroot00000000000000strings.po000066400000000000000000000025501361526231100361450ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.nb_no# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Norwegian (http://www.transifex.com/projects/p/xbmc-main/language/no/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: no\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modus" msgctxt "#30001" msgid "Filled" msgstr "Fylt" msgctxt "#30002" msgid "Wireframe" msgstr "Trådramme" msgctxt "#30003" msgid "Points" msgstr "Punkter" msgctxt "#30004" msgid "Bar Height" msgstr "Søylehøyde" msgctxt "#30005" msgid "Small" msgstr "Liten" msgctxt "#30006" msgid "Default" msgstr "Standard" msgctxt "#30007" msgid "Big" msgstr "Stor" msgctxt "#30008" msgid "Very Big" msgstr "Veldig stor" msgctxt "#30009" msgid "Speed" msgstr "Hastighet" msgctxt "#30010" msgid "Very Slow" msgstr "Veldig sakte" msgctxt "#30011" msgid "Slow" msgstr "Sakte" msgctxt "#30012" msgid "Default" msgstr "Standard" msgctxt "#30013" msgid "Fast" msgstr "Rask" msgctxt "#30014" msgid "Very Fast" msgstr "Veldig rask" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.nl_nl/000077500000000000000000000000001361526231100342005ustar00rootroot00000000000000strings.po000066400000000000000000000025341361526231100361560ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.nl_nl# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Dutch (http://www.transifex.com/projects/p/xbmc-main/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modus" msgctxt "#30001" msgid "Filled" msgstr "Gevuld" msgctxt "#30002" msgid "Wireframe" msgstr "Draden" msgctxt "#30003" msgid "Points" msgstr "Punten" msgctxt "#30004" msgid "Bar Height" msgstr "Balkhoogte" msgctxt "#30005" msgid "Small" msgstr "Klein" msgctxt "#30006" msgid "Default" msgstr "Standaard" msgctxt "#30007" msgid "Big" msgstr "Groot" msgctxt "#30008" msgid "Very Big" msgstr "Heel groot" msgctxt "#30009" msgid "Speed" msgstr "Snelheid" msgctxt "#30010" msgid "Very Slow" msgstr "Zeer traag" msgctxt "#30011" msgid "Slow" msgstr "Traag" msgctxt "#30012" msgid "Default" msgstr "Standaard" msgctxt "#30013" msgid "Fast" msgstr "Snel" msgctxt "#30014" msgid "Very Fast" msgstr "Zeer snel" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.pl_pl/000077500000000000000000000000001361526231100342045ustar00rootroot00000000000000strings.po000066400000000000000000000026631361526231100361650ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.pl_pl# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Polish (http://www.transifex.com/projects/p/xbmc-main/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Tryb" msgctxt "#30001" msgid "Filled" msgstr "Wypełnione" msgctxt "#30002" msgid "Wireframe" msgstr "Siatka" msgctxt "#30003" msgid "Points" msgstr "Punkty" msgctxt "#30004" msgid "Bar Height" msgstr "Wysokość słupków" msgctxt "#30005" msgid "Small" msgstr "Małe" msgctxt "#30006" msgid "Default" msgstr "Domyślne" msgctxt "#30007" msgid "Big" msgstr "Duże" msgctxt "#30008" msgid "Very Big" msgstr "Bardzo duże" msgctxt "#30009" msgid "Speed" msgstr "Szybkość" msgctxt "#30010" msgid "Very Slow" msgstr "Bardzo wolne" msgctxt "#30011" msgid "Slow" msgstr "Wolne" msgctxt "#30012" msgid "Default" msgstr "Domyślne" msgctxt "#30013" msgid "Fast" msgstr "Szybkie" msgctxt "#30014" msgid "Very Fast" msgstr "Bardzo szybkie" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.pt_br/000077500000000000000000000000001361526231100342045ustar00rootroot00000000000000strings.po000066400000000000000000000026021361526231100361560ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.pt_br# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/xbmc-main/language/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modo" msgctxt "#30001" msgid "Filled" msgstr "Total" msgctxt "#30002" msgid "Wireframe" msgstr "Contornos" msgctxt "#30003" msgid "Points" msgstr "Pontos" msgctxt "#30004" msgid "Bar Height" msgstr "Altura da Barra" msgctxt "#30005" msgid "Small" msgstr "Pequeno" msgctxt "#30006" msgid "Default" msgstr "Padrão" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Muito Grande" msgctxt "#30009" msgid "Speed" msgstr "Velocidade" msgctxt "#30010" msgid "Very Slow" msgstr "Bem devagar" msgctxt "#30011" msgid "Slow" msgstr "Devagar" msgctxt "#30012" msgid "Default" msgstr "Padrão" msgctxt "#30013" msgid "Fast" msgstr "Rápido" msgctxt "#30014" msgid "Very Fast" msgstr "Muito Rápido" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.pt_pt/000077500000000000000000000000001361526231100342245ustar00rootroot00000000000000strings.po000066400000000000000000000025701361526231100362020ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.pt_pt# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Portuguese (http://www.transifex.com/projects/p/xbmc-main/language/pt/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Modo" msgctxt "#30001" msgid "Filled" msgstr "Preenchido" msgctxt "#30002" msgid "Wireframe" msgstr "Contorno" msgctxt "#30003" msgid "Points" msgstr "Pontos" msgctxt "#30004" msgid "Bar Height" msgstr "Altura das barras" msgctxt "#30005" msgid "Small" msgstr "Pequena" msgctxt "#30006" msgid "Default" msgstr "Padrão" msgctxt "#30007" msgid "Big" msgstr "Grande" msgctxt "#30008" msgid "Very Big" msgstr "Muito grande" msgctxt "#30009" msgid "Speed" msgstr "Velocidade" msgctxt "#30010" msgid "Very Slow" msgstr "Muito lento" msgctxt "#30011" msgid "Slow" msgstr "Lento" msgctxt "#30012" msgid "Default" msgstr "Padrão" msgctxt "#30013" msgid "Fast" msgstr "Rápido" msgctxt "#30014" msgid "Very Fast" msgstr "Muito rápido" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ro_ro/000077500000000000000000000000001361526231100342165ustar00rootroot00000000000000strings.po000066400000000000000000000026271361526231100361770ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ro_ro# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Romanian (http://www.transifex.com/projects/p/xbmc-main/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" msgctxt "#30000" msgid "Mode" msgstr "Mod" msgctxt "#30001" msgid "Filled" msgstr "Umplere" msgctxt "#30002" msgid "Wireframe" msgstr "Contur" msgctxt "#30003" msgid "Points" msgstr "Puncte" msgctxt "#30004" msgid "Bar Height" msgstr "Înălțime bară" msgctxt "#30005" msgid "Small" msgstr "Mică" msgctxt "#30006" msgid "Default" msgstr "Standard" msgctxt "#30007" msgid "Big" msgstr "Mare" msgctxt "#30008" msgid "Very Big" msgstr "Foarte mare" msgctxt "#30009" msgid "Speed" msgstr "Viteză" msgctxt "#30010" msgid "Very Slow" msgstr "Foarte încet" msgctxt "#30011" msgid "Slow" msgstr "Încet" msgctxt "#30012" msgid "Default" msgstr "Standard" msgctxt "#30013" msgid "Fast" msgstr "Rapidă" msgctxt "#30014" msgid "Very Fast" msgstr "Foarte rapidă" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ru_ru/000077500000000000000000000000001361526231100342325ustar00rootroot00000000000000strings.po000066400000000000000000000031001361526231100361760ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ru_ru# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Russian (http://www.transifex.com/projects/p/xbmc-main/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Режим" msgctxt "#30001" msgid "Filled" msgstr "Сплошной" msgctxt "#30002" msgid "Wireframe" msgstr "Каркас" msgctxt "#30003" msgid "Points" msgstr "Точки" msgctxt "#30004" msgid "Bar Height" msgstr "Высота полос" msgctxt "#30005" msgid "Small" msgstr "Небольшие" msgctxt "#30006" msgid "Default" msgstr "По-умолчанию" msgctxt "#30007" msgid "Big" msgstr "Крупные" msgctxt "#30008" msgid "Very Big" msgstr "Огромные" msgctxt "#30009" msgid "Speed" msgstr "Скорость" msgctxt "#30010" msgid "Very Slow" msgstr "Очень медленно" msgctxt "#30011" msgid "Slow" msgstr "Медленно" msgctxt "#30012" msgid "Default" msgstr "По-умолчанию" msgctxt "#30013" msgid "Fast" msgstr "Быстро" msgctxt "#30014" msgid "Very Fast" msgstr "Очень быстро" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sk_sk/000077500000000000000000000000001361526231100342105ustar00rootroot00000000000000strings.po000066400000000000000000000026431361526231100361670ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sk_sk# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Slovak (http://www.transifex.com/projects/p/xbmc-main/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" msgctxt "#30000" msgid "Mode" msgstr "Režim" msgctxt "#30001" msgid "Filled" msgstr "Vyplnený" msgctxt "#30002" msgid "Wireframe" msgstr "Drôtový model" msgctxt "#30003" msgid "Points" msgstr "Body" msgctxt "#30004" msgid "Bar Height" msgstr "Výška stĺpcov" msgctxt "#30005" msgid "Small" msgstr "Malý" msgctxt "#30006" msgid "Default" msgstr "Štandardný" msgctxt "#30007" msgid "Big" msgstr "Veľký" msgctxt "#30008" msgid "Very Big" msgstr "Veľmi veľký" msgctxt "#30009" msgid "Speed" msgstr "Rýchlosť" msgctxt "#30010" msgid "Very Slow" msgstr "Veľmi pomalo" msgctxt "#30011" msgid "Slow" msgstr "Pomalo" msgctxt "#30012" msgid "Default" msgstr "Štandardná" msgctxt "#30013" msgid "Fast" msgstr "Rýchlo" msgctxt "#30014" msgid "Very Fast" msgstr "Veľmi rýchlo" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sl_si/000077500000000000000000000000001361526231100342075ustar00rootroot00000000000000strings.po000066400000000000000000000026411361526231100361640ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sl_si# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/xbmc-main/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" msgctxt "#30000" msgid "Mode" msgstr "Način" msgctxt "#30001" msgid "Filled" msgstr "Polno" msgctxt "#30002" msgid "Wireframe" msgstr "Shema" msgctxt "#30003" msgid "Points" msgstr "Točke" msgctxt "#30004" msgid "Bar Height" msgstr "Višina stolpcev" msgctxt "#30005" msgid "Small" msgstr "Majhna" msgctxt "#30006" msgid "Default" msgstr "Privzeta" msgctxt "#30007" msgid "Big" msgstr "Velika" msgctxt "#30008" msgid "Very Big" msgstr "Zelo velika" msgctxt "#30009" msgid "Speed" msgstr "Hitrost" msgctxt "#30010" msgid "Very Slow" msgstr "Zelo počasno" msgctxt "#30011" msgid "Slow" msgstr "Počasno" msgctxt "#30012" msgid "Default" msgstr "Privzeto" msgctxt "#30013" msgid "Fast" msgstr "Hitro" msgctxt "#30014" msgid "Very Fast" msgstr "Zelo hitro" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sq_al/000077500000000000000000000000001361526231100341755ustar00rootroot00000000000000strings.po000066400000000000000000000026241361526231100361530ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sq_al# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Albanian (http://www.transifex.com/projects/p/xbmc-main/language/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Mënyra" msgctxt "#30001" msgid "Filled" msgstr "Plotësuar" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Pikë" msgctxt "#30004" msgid "Bar Height" msgstr "Naltësija e kallëpit" msgctxt "#30005" msgid "Small" msgstr "Të vogël" msgctxt "#30006" msgid "Default" msgstr "Prezgjedhuar" msgctxt "#30007" msgid "Big" msgstr "I madh" msgctxt "#30008" msgid "Very Big" msgstr "Shumë i madh" msgctxt "#30009" msgid "Speed" msgstr "Shpejtësija" msgctxt "#30010" msgid "Very Slow" msgstr "Shumë ngadal" msgctxt "#30011" msgid "Slow" msgstr "Ngadal" msgctxt "#30012" msgid "Default" msgstr "Prezgjedhuar" msgctxt "#30013" msgid "Fast" msgstr "Shpejt" msgctxt "#30014" msgid "Very Fast" msgstr "Shumë i shpejtë" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sr_rs/000077500000000000000000000000001361526231100342265ustar00rootroot00000000000000strings.po000066400000000000000000000017511361526231100362040ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sr_rs# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Serbian (Cyrillic) (http://www.transifex.com/projects/p/xbmc-main/language/sr_RS/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr_RS\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Режим" msgctxt "#30006" msgid "Default" msgstr "Подразумевано" msgctxt "#30009" msgid "Speed" msgstr "Брзина" msgctxt "#30012" msgid "Default" msgstr "Подразумевано" msgctxt "#30013" msgid "Fast" msgstr "Брзо" resource.language.sr_rs@latin/000077500000000000000000000000001361526231100352775ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/languagestrings.po000066400000000000000000000016601361526231100373330ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sr_rs@latin# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Serbian (http://www.transifex.com/projects/p/xbmc-main/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Režim" msgctxt "#30006" msgid "Default" msgstr "Podrazumevano" msgctxt "#30009" msgid "Speed" msgstr "Brzina" msgctxt "#30012" msgid "Default" msgstr "Podrazumevano" msgctxt "#30013" msgid "Fast" msgstr "Brzo" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sv_se/000077500000000000000000000000001361526231100342155ustar00rootroot00000000000000strings.po000066400000000000000000000025631361526231100361750ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.sv_se# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Swedish (http://www.transifex.com/projects/p/xbmc-main/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Läge" msgctxt "#30001" msgid "Filled" msgstr "Fylld" msgctxt "#30002" msgid "Wireframe" msgstr "Wireframe" msgctxt "#30003" msgid "Points" msgstr "Punkter" msgctxt "#30004" msgid "Bar Height" msgstr "Stapelhöjd" msgctxt "#30005" msgid "Small" msgstr "Liten" msgctxt "#30006" msgid "Default" msgstr "Standard" msgctxt "#30007" msgid "Big" msgstr "Stor" msgctxt "#30008" msgid "Very Big" msgstr "Väldigt stor" msgctxt "#30009" msgid "Speed" msgstr "Hastighet" msgctxt "#30010" msgid "Very Slow" msgstr "Väldigt långsam" msgctxt "#30011" msgid "Slow" msgstr "Långsam" msgctxt "#30012" msgid "Default" msgstr "Standard" msgctxt "#30013" msgid "Fast" msgstr "Snabb" msgctxt "#30014" msgid "Very Fast" msgstr "Väldigt snabb" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ta_in/000077500000000000000000000000001361526231100341705ustar00rootroot00000000000000strings.po000066400000000000000000000031671361526231100361510ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.ta_in# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Tamil (India) (http://www.transifex.com/projects/p/xbmc-main/language/ta_IN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ta_IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "முறை" msgctxt "#30001" msgid "Filled" msgstr "பூர்த்தி" msgctxt "#30002" msgid "Wireframe" msgstr "கம்பிச்சட்டம்" msgctxt "#30003" msgid "Points" msgstr "புள்ளிகள்" msgctxt "#30004" msgid "Bar Height" msgstr "பட்டை உயரம்" msgctxt "#30005" msgid "Small" msgstr "சிறிய" msgctxt "#30006" msgid "Default" msgstr "இயல்புநிலை" msgctxt "#30007" msgid "Big" msgstr "பெரிய" msgctxt "#30008" msgid "Very Big" msgstr "மிக பெரிய" msgctxt "#30009" msgid "Speed" msgstr "வேகமாக" msgctxt "#30010" msgid "Very Slow" msgstr "மிகவும் மெதுவாக" msgctxt "#30011" msgid "Slow" msgstr "மெதுவாக" msgctxt "#30012" msgid "Default" msgstr "இயல்புநிலை" msgctxt "#30013" msgid "Fast" msgstr "வேகமாக" msgctxt "#30014" msgid "Very Fast" msgstr "மிக வேகமாக" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.tg_tj/000077500000000000000000000000001361526231100342055ustar00rootroot00000000000000strings.po000066400000000000000000000027101361526231100361570ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.tg_tj# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Tajik (http://www.transifex.com/projects/p/xbmc-main/language/tg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" msgctxt "#30000" msgid "Mode" msgstr "Ҳолат" msgctxt "#30001" msgid "Filled" msgstr "Пуршуда" msgctxt "#30002" msgid "Wireframe" msgstr "Чорчӯбаи хаттӣ" msgctxt "#30003" msgid "Points" msgstr "Нуқтаҳо" msgctxt "#30004" msgid "Bar Height" msgstr "Баландии навор" msgctxt "#30005" msgid "Small" msgstr "Хурд" msgctxt "#30006" msgid "Default" msgstr "Пешфарз" msgctxt "#30007" msgid "Big" msgstr "Калон" msgctxt "#30008" msgid "Very Big" msgstr "Хеле калон" msgctxt "#30009" msgid "Speed" msgstr "Суръат" msgctxt "#30010" msgid "Very Slow" msgstr "Хеле суст" msgctxt "#30011" msgid "Slow" msgstr "Суст" msgctxt "#30012" msgid "Default" msgstr "Пешфарз" msgctxt "#30013" msgid "Fast" msgstr "Тез" msgctxt "#30014" msgid "Very Fast" msgstr "Хеле тез" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.th_th/000077500000000000000000000000001361526231100342045ustar00rootroot00000000000000strings.po000066400000000000000000000030331361526231100361550ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.th_th# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Thai (http://www.transifex.com/projects/p/xbmc-main/language/th/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: th\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "โหมด" msgctxt "#30001" msgid "Filled" msgstr "เติมพื้นผิว" msgctxt "#30002" msgid "Wireframe" msgstr "โครงลวด" msgctxt "#30003" msgid "Points" msgstr "จุด" msgctxt "#30004" msgid "Bar Height" msgstr "ความสูงของแท่ง" msgctxt "#30005" msgid "Small" msgstr "เล็ก" msgctxt "#30006" msgid "Default" msgstr "ค่าพื้นฐาน" msgctxt "#30007" msgid "Big" msgstr "ใหญ่" msgctxt "#30008" msgid "Very Big" msgstr "ใหญ่มาก" msgctxt "#30009" msgid "Speed" msgstr "ความเร็ว" msgctxt "#30010" msgid "Very Slow" msgstr "ช้ามาก" msgctxt "#30011" msgid "Slow" msgstr "ช้า" msgctxt "#30012" msgid "Default" msgstr "ค่าพื้นฐาน" msgctxt "#30013" msgid "Fast" msgstr "เร็ว" msgctxt "#30014" msgid "Very Fast" msgstr "เร็วมาก" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.tr_tr/000077500000000000000000000000001361526231100342305ustar00rootroot00000000000000strings.po000066400000000000000000000025571361526231100362130ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.tr_tr# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Turkish (http://www.transifex.com/projects/p/xbmc-main/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "Mod" msgctxt "#30001" msgid "Filled" msgstr "Dolu" msgctxt "#30002" msgid "Wireframe" msgstr "Telkafes" msgctxt "#30003" msgid "Points" msgstr "Noktalar" msgctxt "#30004" msgid "Bar Height" msgstr "Çubuk Yüksekliği" msgctxt "#30005" msgid "Small" msgstr "Küçük" msgctxt "#30006" msgid "Default" msgstr "Varsayılan" msgctxt "#30007" msgid "Big" msgstr "Büyük" msgctxt "#30008" msgid "Very Big" msgstr "Çok Büyük" msgctxt "#30009" msgid "Speed" msgstr "Hız" msgctxt "#30010" msgid "Very Slow" msgstr "Çok Yavaş" msgctxt "#30011" msgid "Slow" msgstr "Yavaş" msgctxt "#30012" msgid "Default" msgstr "Varsayılan" msgctxt "#30013" msgid "Fast" msgstr "Hızlı" msgctxt "#30014" msgid "Very Fast" msgstr "Çok Hızlı" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.uk_ua/000077500000000000000000000000001361526231100342025ustar00rootroot00000000000000strings.po000066400000000000000000000031331361526231100361540ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.uk_ua# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Ukrainian (http://www.transifex.com/projects/p/xbmc-main/language/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgctxt "#30000" msgid "Mode" msgstr "Режим" msgctxt "#30001" msgid "Filled" msgstr "Заповнений" msgctxt "#30002" msgid "Wireframe" msgstr "Контури" msgctxt "#30003" msgid "Points" msgstr "Крапки" msgctxt "#30004" msgid "Bar Height" msgstr "Висота стовпчика" msgctxt "#30005" msgid "Small" msgstr "Мала" msgctxt "#30006" msgid "Default" msgstr "За промовчанням" msgctxt "#30007" msgid "Big" msgstr "Велика" msgctxt "#30008" msgid "Very Big" msgstr "Дуже велика" msgctxt "#30009" msgid "Speed" msgstr "Швидкість" msgctxt "#30010" msgid "Very Slow" msgstr "Дуже повільно" msgctxt "#30011" msgid "Slow" msgstr "Повільно" msgctxt "#30012" msgid "Default" msgstr "За промовчанням" msgctxt "#30013" msgid "Fast" msgstr "Швидкість" msgctxt "#30014" msgid "Very Fast" msgstr "Дуже швидко" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.uz_uz/000077500000000000000000000000001361526231100342525ustar00rootroot00000000000000strings.po000066400000000000000000000014411361526231100362240ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.uz_uz# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Uzbek (http://www.transifex.com/projects/p/xbmc-main/language/uz/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uz\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "Usul" msgctxt "#30006" msgid "Default" msgstr "Andoza" msgctxt "#30009" msgid "Speed" msgstr "Tezligi" msgctxt "#30012" msgid "Default" msgstr "Andoza" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.vi_vn/000077500000000000000000000000001361526231100342175ustar00rootroot00000000000000strings.po000066400000000000000000000026101361526231100361700ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.vi_vn# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/xbmc-main/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "Chế độ" msgctxt "#30001" msgid "Filled" msgstr "Làm đầy" msgctxt "#30002" msgid "Wireframe" msgstr "Khung dây" msgctxt "#30003" msgid "Points" msgstr "Số điểm" msgctxt "#30004" msgid "Bar Height" msgstr "Chiều cao cột" msgctxt "#30005" msgid "Small" msgstr "Nhỏ" msgctxt "#30006" msgid "Default" msgstr "Mặc định" msgctxt "#30007" msgid "Big" msgstr "Lớn" msgctxt "#30008" msgid "Very Big" msgstr "Rất lớn" msgctxt "#30009" msgid "Speed" msgstr "Tốc độ" msgctxt "#30010" msgid "Very Slow" msgstr "Rất chậm" msgctxt "#30011" msgid "Slow" msgstr "Chậm" msgctxt "#30012" msgid "Default" msgstr "Mặc định" msgctxt "#30013" msgid "Fast" msgstr "Nhanh" msgctxt "#30014" msgid "Very Fast" msgstr "Rất nhanh" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.zh_cn/000077500000000000000000000000001361526231100341775ustar00rootroot00000000000000strings.po000066400000000000000000000025001361526231100361460ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.zh_cn# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Chinese (Simple) (http://www.transifex.com/projects/p/xbmc-main/language/zh/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "模式" msgctxt "#30001" msgid "Filled" msgstr "填充" msgctxt "#30002" msgid "Wireframe" msgstr "线框" msgctxt "#30003" msgid "Points" msgstr "点" msgctxt "#30004" msgid "Bar Height" msgstr "柱高" msgctxt "#30005" msgid "Small" msgstr "小" msgctxt "#30006" msgid "Default" msgstr "默认" msgctxt "#30007" msgid "Big" msgstr "大" msgctxt "#30008" msgid "Very Big" msgstr "特大" msgctxt "#30009" msgid "Speed" msgstr "速度" msgctxt "#30010" msgid "Very Slow" msgstr "极慢" msgctxt "#30011" msgid "Slow" msgstr "慢" msgctxt "#30012" msgid "Default" msgstr "默认" msgctxt "#30013" msgid "Fast" msgstr "快" msgctxt "#30014" msgid "Very Fast" msgstr "极快" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.zh_tw/000077500000000000000000000000001361526231100342315ustar00rootroot00000000000000strings.po000066400000000000000000000025431361526231100362070ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/language/resource.language.zh_tw# XBMC Media Center language file # Addon Name: OpenGL Spectrum # Addon id: visualization.glspectrum # Addon Provider: Team XBMC msgid "" msgstr "" "Project-Id-Version: XBMC Main\n" "Report-Msgid-Bugs-To: http://trac.xbmc.org/\n" "POT-Creation-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: XBMC Translation Team\n" "Language-Team: Chinese (Traditional) (http://www.transifex.com/projects/p/xbmc-main/language/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" msgctxt "#30000" msgid "Mode" msgstr "模式" msgctxt "#30001" msgid "Filled" msgstr "填滿" msgctxt "#30002" msgid "Wireframe" msgstr "線框" msgctxt "#30003" msgid "Points" msgstr "點狀" msgctxt "#30004" msgid "Bar Height" msgstr "頻譜長條高度" msgctxt "#30005" msgid "Small" msgstr "小" msgctxt "#30006" msgid "Default" msgstr "預設" msgctxt "#30007" msgid "Big" msgstr "大" msgctxt "#30008" msgid "Very Big" msgstr "非常大" msgctxt "#30009" msgid "Speed" msgstr "速度" msgctxt "#30010" msgid "Very Slow" msgstr "非常慢" msgctxt "#30011" msgid "Slow" msgstr "縵" msgctxt "#30012" msgid "Default" msgstr "預設" msgctxt "#30013" msgid "Fast" msgstr "快" msgctxt "#30014" msgid "Very Fast" msgstr "非常快" visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/screenshot-01.jpg000066400000000000000000001412521361526231100310050ustar00rootroot00000000000000JFIF%%C   ")$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHEC !!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE8"F!1AQq"2a3B#Rbr$4CSTcds3!1A2Q"Baq#R3 ?@PTP@PPEPEPE@E@@AEEAD@DPA@@P@PA@@T@APPQ@P@PPPA@PAPP@UPPA@APA@@TEAPPPPEQDPPTPEP@APAEPPPP@@PPDPP@@PEA@@@E@@A@A@@APPT@PP@P@@PPPE@@AP@E@A@A@A@A@@T@TP@P@P@PPDPPEPP@@AATQD@PA@AD@EA@A@PPP@A@PP@@T@@EPPAPP@E@AA@A@PA@A@@QPA@@TP@AQ@DPP@P@PQPPPTA@@@@EP@P@@PTP@APP@A@APQAPP@TEPPEPPDA@E@P@APPPEP@PAPPPPQ@AP@@@@EPT@TPU@PP@@@@DPA@@@@@@PPDPPEPA@A@UP@TAPTTPP@PPA@EPA@PP@PTADPE@A@E@DE@P@A@@PQE@P@P@PEE@D@AQDA@E@@ADTTTP@@P@P@@UP@PP@A@A@@QPA@@A@APPTPTPPP@DPPETPPP@TEAAP@@@P@@@P@TPQ@DP@PQ@@@@@P@@QPAQPPPAPTEUTPTD@@Q@PP@PPP@APPE@@EPAQD@Q@PPD@PPA@@PPP@EDP@Q@@PPP@@APP@E@PDQP@@@PEPP@PQ@@@AP@P@@TA@@PP@@@E@@PETPP@DTQ@@Q@@A@@@@A@PTAPE@P@PTP@T@P@PP@AETPP@@@PAPPPT@@TE@DTEA@A@A@APP@EP@PAP@@@P@DP@QDDE@@Q@E@@@@APTPQPPTEP@@E@T@QDPP@@vak+>n? ,L{?X_v KQ/Y̿\qgj`"k_>pzY>r;"kY&w;FPP@DP@@T@P@PPQ@@@;/iog^}tߖ*"oٯ7 rb&oR=j׆O6szeϛx cH~_9cqX~}~蚶>g's{^Wm֝;̹q}?GeGsؾڟ1}?Mr4_Le\;=Ⱪ;<N'QmqV"?=W5\s|v>6j^^ֳ1Xw5Iq~޴xF]nԞ1Œc#ul> ik޴fִ+}1S}mnݨ{/ksh`8XLOHYw߄oټm)k߃+ZӊNKqU:ɇ~34|dɛ͎3IJ8q5yOr88<k"boyMݧL1^1n}WGgzԟ񇻗%8ͫl&>o;"yR-~:&/?lz8ejZ޳[Gƥ; ("  ("((  d7ߌCm_e'kZ2qi15Yۏ;89ˁ}8rr^_s_&mN>+OŧxοN\wM?y>.񎭓K|1bo9|tM+=^_H? S\yݳQڹ:"<7ϛqQ͎TLO.wͺx^&q♟+t^^b$F>ԙhyuzOž^"WnN#FM^ѾQLi{OX`mԈ)y)9_pf̯, Oh[6>8[Ro^++=mX5~"*׉շ^:vj9fc%ޮN=o?^͟4;:Y沈V?xLYIUNs[iSYo ̭tL8Qq:bybfc|\O2ڑf-1]gq8l71kvG|vR#}Y}w|p.3L[cgg~#NoZo twcd]kLG=-{rG~.N#n+st\n'<kN]v_Ľ\>D}؜4G爎"GZoƷW<^lq WHu3(* * *(*( (( ( {Mg˒"{╎]g{3%"6F(v}$]18voa͚'Lfڟrky|izLG1F[M5c^g_HrĒc\ף;7-#\]EzL6_.);gӃ6^~~n_\Gepk{"byՉEg[r-rNOfnG wG :>t㋜vmX柴zvWiczZm\MNiS_N?[x~kzD;i՜<՞m(qڶKݲ>Zowη nO.{s\~hˊ"9cNlMef{DMVk?hɣx̕3φVآ"uxtck剟7⸈+bb""2ֳ{6̑>1;lQkZ_hil/1>i`:LZpV-L9-YfOfZzWߏ[vrFXG{L?sN;oKW}ۍ6`#/751t۴N_G<{o>Ww٫ϗVC?徜_""zfLN\bm/+G.\,x5N%b.Qx}0v-UZN;sL};X/upYz׿gs_guzLxne_^n"Gw5xtuͦfffg̵aǖxyV}ILqu{|>nК>&=zKV-Yǃ65}oiֵ<ѫV3y|Ge1' 1x빇WzM|Vϖ-6Ny+ԯ ;n][q,^oyb>y{ mN:)?鹯ǾK'<_/4[ָi[~n\݉89yL(#^?g^\f'_Vv_0@@PPA@@T@T@P@A@PEPPQ>k-LWg+3 -KR[khJ;;:E艹Gm<3\pEe?to\3?tㇿXV'gM&+[DgGa-lY2G,oV])jū5.O:~u-i>5'r;)W9-<;i9xkY+sKj"#.nbho{s?oZ,{"|F#qjg-[F<Ds"cώ~lg3ǣzVxx߇Z`⏓n?M}@zgVkވqN^L;C+jnG(ˋ޲W %fkӿ{? LpNwx/O{F*rGuu{GO;y7wQ?hcX<+>s3gF&^kcogy])a5+MLkt״<{mI| 4L=GhN|]oypO:.F?Ii-JF=fթ3Gm#j|ݼLOG_Ï< ג~NSulٜO֑5vg/Jc&׫\cD_g{'v3ʚ!dlW^5h%uMb<ٞ:kiFFDx^9EbVUZ&z>=\ףV9>2pJøgqk;xl6LV|W;w N8tta37ݮ?-kyXn5wn?N_ݏs[<^-XiY}2-y+6m8"b'5bXV?)Î=~эOڑٹ"wHL9r2G7~.igcL^c.KǺ^y~WN9z=xqNF53m?=߃<~η9,8{V=Dƴ rXsRڴ;b_՜\nejgr Rc~>q:Kolv奣v&duF&o-h7禯)L,otckì6Mt3. 死rO<<{k?ݎMg}9vsOͮ{Ԥεu^dny>Kq8m(mٟ副%''NjvO4xsO|ymtWbb5r{fgsk3oL|F\])b<᷉|.WCYzMbfPrcS{LOͫ)C񒎛qmLWqwӪcϧF Z֝\N3D\0U11.Z}箚1h۝6y>5W5T<]ZDKsdԎ'Mںa^ǬZ9LǔWO7|%ޢz~s^dѩkby[#2VLzNZ%m6fgHDuk1|NgWDn}[8ihojzc^6*ew[׏7Kd^ytxF~VUsS{[a4+6Y5;U8sq\[[3o>U֣>=['M?O:1c#՛_QTfXҾŖ?2]՞kjZkhW;3͇.LQ4{F+2;3qGFv5>>_No.Ym|w=1*)j9-:Vv`M㮍sjDDx[h_H;b_m13=lZ噍3ɚ7Yp۳jqXjkeYNh޵\7Ϫ&;-D5Ofg߯ffO\=rqk:ޯ3o9?yL51]5}Wyߌr[3䘏mgjkLxm%W9yq~k~^ط|"m޳KmSk7c'MlFl0}GKˋ?٩YmWivpM-Yy"9Zq8Lw)֎oTߦļR Y1>Rךu̹Vˎ׏(/`6nki;?o_MgGc0&,G]k?6_ɫZح31.Wwy~cf9"/Hs;sa\U6$挑~Eg]k3]ij߫*cuF/zϕiөחooGnqS4gw?Ѩ#s{2)ivӧ0mIUz'g˹|e[kL[:yVi}5?5wÇ7c`.ǿk}Qn^>)mkՏF.˽dKLr/ż~ټ^:-1ߡ,']֍sӷjd1#բgx埧O&}~\uc[lg'S?ԛZӻL̼NҼیO݈N;ۖzL踸hmFݮr=9:Zλ彎:ckZ33:qk˫xqw+sZ#tk}ftφߔm}I>8v6׋kXxGwڜnKO6mGynſ9ssטɌuGNL2h3vO{8HOwGd^I먞XxsKٟ?9ֵMiDFegÂ-+Ŧ5W3۽\ X;8Lpwzt qԤڳ$ݭsCu{[b#<#]k5#9X?#<;8ˊb3Zj&quwgOw-  " (  ێz7b:LDDO0Yա]W=FX:{HyL0jKK׭:v'nk5N^|igk{ry^[eheoyg%,|F(`Lx!-O\1㈙a/mOᱫ/cIړ[^G<5TѕX#IE-uLk2lܼ:qqfym?=/ktvLZZ/enm{#Nlѭ~IxzS߭צLm6fgOpe->-w괝^=^y_136Ϝ;9wބw13}pO1jl:8nӡ2DdrVoS9;6?i=Zt{5M&5o;bkW<3[Vpԉ1:~SzoKZ"-v+yo<N/%5oID&)\Y񏅬]}6_[3|ԛkO^]8"[N9o]i?g^bi&{1&N ߎf7׫x֍MѮ/hկizbac11q4&ki鮩11:km#Y7 uZ7:sݧGs5߫C~ _n:\?Oc:5e:xB8}R36O'WqKn^h޾;ZM~pJNO)8zy8fbqoWO;+DF:Z)XGi@sc{Vb'7,p "U=˯YWqJԝǻ+܏k3ײFk|˻\0מip31&͋VLմcaT|@?]oGSGBW={՜_[7?\9:䷪pf~Y7zx)D`3j)&]:ZNDFlk_˻ҕrD9~UHf#X[]oxlyfQb͎=rDw5gͼFIN;r:{wyz;W x'i&b>}{8Θ2{GvY.2}-^)1=:NܙspWsWα6>?;rS|ԴDwκ1$XLJo͸"uZpot~.ӬX~MhsNK }p[&??ɍkKW:ů9{ŎӻR308N役&gV9#^^p1^\TӴDxtVq,Lcf-0n]yCKfY[OMm6i19o4bӭ3kXձqαOgݬy3Yn'}cmykDyΞ8l>v9vl1`SS?ͣ־3[|wan=5vufZڹm;ޭ{gWlVmG}ky̏g6nkS:yLR2DRk&g};]4_Ń 4ZL"gz1j'X:rweF/gx[o_9%ϻ<^~:ة#ubfCD2k3mYLj8Kfj?_/EK:ǧ=+ccy:}BkӤx8W-cgwϖ0gk3νƷ{Dk{1 1zLxZq<-ws7Zָ<*s_1pS3;V<<diݯ}3l ڱ'ՙﯔ3gE7 ǻ6] ୊/Ys$9Y믤˚5~nhǣ:kt`'KCcV<kGUxni.>&|tF "&טO<^|sIHIqF:VhHwLV6rEcvy3-sIZ>LJ_ѓ՞#wzsqmj8xON+%njuJGm>ξvV'[8+9.6'Zh3vccng_HD&7;zK&VFZ7Daκ]&ѹ919j)DOON⩾iU4_N=8hzw[XoI#%'{ݣyvg~Z-%7KDG|έKEi'RjrO"pl΢gՃ||oeuqc5fffgLgLx}wgOG#ޤS}wiym|DW9_ug^̝{5>Q mkՏE;zXoj?G/q/qϓ[Uou}9ofYcfړ1<>i|v|b|+Ѭr}Ƴǎlw^8ɛߴb5;]/C/|Xer^5{3/ t%5/[Xuϧ\ly&1b{]?n[k[O\U+r^|_N|wɍ9t"gQNofx`ߣko4\-sӧ}mk>/6~N 7ǒҖѯvc&;LOt-\ ٰd-x<5,֯֯w/-iv-cswق՝Өj5nKk}$kO^59/kηi1}P@TT@Q@TPPQ@kmn#,V'Rzv%[u ㄍ֙^Ԟm|ewqWO]ϬZ+>S,FzGguݟmSݶ:[^:MsR߯XsRc]Ɠ圛ç۫WXmC:g|իYD=?*FN -8&7VXcy[ǜt}Xhm>L%gVy#kg~4{Ul<uhnhoc V-'Ͳ^Zt0μUo1F%?NuazGsWfm;HIt59+FO^ckU&9# =W\]i3̉ĺ pg~SςZ[֒ li>rђ5UǛ&//,{,ӶV[V'#sӻA`~Yk{^zH9i&/5x=)ƛ=sofJb>tOͮI_[ DE#N=dy&:j=!i~LfӹϜfѾ3:(L6l=<%܍'ݘ>ybw蘩jMNg++ 8o#K>[a2D+Oteb{jnjGvŗZOŒ|w]u_lZ|u{Uzq7󙕿 ]bck:k:p:Yuֈ|G;zg5`nNiy;Zםi˛>fXGYiqUm|}'] 5sE";˿Fvo M-}T~Jv|o.Yi`fc&>Tퟅo4X`E#'ZhX-&}gMvNZǗ;O nk;ob^蜹xV"ֈG{Vi5X-Y|ޱ7=6Xxlߧۧv'=i~>:wL4ۂ]j"ޒݒV+-.L6L>lwkk7_OtcN;j2}zv~m:}:S/;ZrfoJyLc.$v;7[L,|=%>*OFoݡi-"=gnl٭*p8\"w:ޖ\w͢ޞ?ϣS1ƩZ;X pm㎞]oo)ɛeW13XHg1-K*ۜoѽ0pb+_镫jNY|Qǖw޺v8;wL">:ñˇjcLѧ"}菑=7IˊrG7.p88>zMfk__IN;~nb1q3pWfuyp_iz$˚I{}kl;?&X?/gnizuk({3&|+c?jc1|xL4q3ұ)KFN ˮ|Ug<ӿ13NJoˎiF޵i)o+m;G7zgYuNlk*pYXk~ ՎD;n?jǝgjp"7i3Vo,rQ<'~ӾHcε[]o-g~]G.n;H>;}Y7 ^ͥ3iLZ5:~/S xk}/f&askW 1N][RW,n|uhκo<-ԟ:x|DW9_x">Kn#ç[Ϫ><V{afb}-֫ps3V<.LZWQ$s񔭺9g]sMkzxxNR;޿a*a}<'y327~'&>?4?'7 ةˎӸ5vnIZ8K3U&7knghauc˗9ܹw~|4ɎkKoJͧ GBkWWS:k|5[Zgyg~6}rg|Lwmd=i}3sgfT=ֽlWqm^loQz&u3 ՞ܸk\;h97p]CGkzmˊ UVW ϙspNo醗_ ]cu:nڹ"iH|/Ix']( ( ( (  ;OFw>s[/mkz|߸wq19[<̩Zu6&;c~KuG32G5wKuѳu'i+󆜜>nknYu΢5g[3mÆf5{;rמiݯ} xz&1Fs21Y9mjzïM!Ӯxyf|'1"?ѢF[NNfgsD镫5LK2mϣSn}t,Fc4qBNsٙ/vkY:p1iO﷋LǾKڻՏo5?WNܥf"~q>W1c-}!oW^[GGb&Q̶͒潺49j%s3saXtA_l3}g[D{|]ۘTF\7c2ZDR}Sc:y90W,jnO7kRxtEXW?gnz&|_ ˺|ijIѮffw3spG N_inb>.nmϤ:p}Ӓx=[nl<Qt[:ǬmNٝDd5|>Ojϕq{Munx|ռX:~/NݡM{ϣMX|u\tQe^[^wn/qGKOM)|V֞V6x,7N]ޤR6r:r|91oI\N ioV Et8fYlZGX:'h4ұ; cP3ŎrEkIDo~]cQtS~c[,"7[VzwwuyyXyL;OƾoruƭY Ww18Lo^G.ς&+'"?M:n#&˗%VOgq\ֿyLLF7kZjuW}eZ'P&=<βR՞Z40S$L~Wl%㖼-u߿vsz2l{K(ۋgYtK)9!c=%Z52ο 1utʝRzJOµIkKmzM0ُ>Hsn>l/:N^9o?x${ /1[ch [V]^ OGթ-O-ϊӄH ]fkיьLW'R%FY?fc;buMf빯 u?&uӕͩ^$jڏMZN:'LLƳg1{EYoVqϬ }8rVq܉_<jGNn{_ӯ3ͶI_]uIu76{cx%n';AtB,R--{M~|7,8/֗-F Q6"f&&'S.qKLj=jp|='q>Vs`߳LytO[s[y3mo^ 2ys0|ׂ5[F~[=^"+KWbՉ#E)lVm>Qo^"}OZtnˏk?ӏ8|f|-n>f9vfJLͯMD-\߻z_=k}:|cΘΦ&'Zαпk6YڷR+}6ܬ\mS㯬:ܔJ%UKdqLbbf&: |$7[x;V_f{Ymߙ1+з}!r_|״oVXׇ fq|3 nzGZӚoYj?wV.15:V֥մc'NvHh Fq7~ڝ=IuѮxm5Kkf#&(}gZv\|7*vd;gֶ,Y+cn+5S~mnN]sY:qvb+[b5]d׿3h־VzdH-[Gv;-z\֊ti_Wcw8[LM'|ŊiolαyW5Hv`+En{^;]jgtG[K+kDk3ߨz88nRշ.92N[ojŵr߲kJڳ|^%2N9b?O9)ة5EzinLj[]DwEÃ?l6|i;^.}FJړ=^q6Hs<=Xݦ"<7o1(:j>rrk]8_5εq"7.f"ۼG5:Q(Zn7 4slonZLCX.F<.Vh9qѼk6p:kʸ,UXܼ,n֟(ө.|On\SF*ۼG47k3çm|]-xkˊ8俳{|3-y:e]_2ͦfffge:>gH ( " @P@@Q2ڟ8eE?͌s?2Z:n})jp狚r^SO2"a^}8I{vγ=dzƫ-XjR{'>)n'-j'ɞ~q0c XWsgn[Zm;Q\78/R'hǨ3jZffgZ+%tqj>fcn^4Ǎɏ/XJEq:uӴ0dh:O/j"5pw?+qՏ>êBOfX_Lf#Ǜ%l-|6$F̷5`'յV=[Zb#&c}: /[ENLakb듯c97o,5&"<|ymk; g/_&}.#Hb>U6kq[^OӫSKVZ"c _x\Ghzw>tӭ/iW]=vscH ,quGƽc&XY86a叓^hmkknrGZneW3O=+piI߇W\+-tҊXLuE8+j3Zs dL=1|tIƙ_nEcZ?Cq|Amk^wkM.~"z<[ܹy''sLDx]y2k:?7+? }Z3xXG|lѫR#[\Ex(g>ѥ#rŷߔmgrdlwmƱovڕZyF {sq6<[sd;Ozupmo9oa/n{^& [%{"fb#]y&uuqv^^)y{O'7~sP;۟~[$T{HTT@ (" ʼn"YKՙ`֛D$ޱcb7G?w~Nq柔8ÎԏSu'ק"q[LV~O/'k3zr.Zm^Y}*OVuLKRŦMvic|?μA90^ֱ香,^=⓫C񡵦zL5k~&Qe? ~`μ_"zBNKZϺͿh2;_4#驛}82>Sc#;MmׄIc_ՙկ:xOi&Gν/ޱO?˺K}g\ϯ-X)miMrDZ&'cMju6|8Y+^,L\}~V8܆N'S>\GIHJ+'HDI![m',Ymis64ѹZ/X=b sdϔƿ7]x|\zGlzrV3?&'UTRֱɟu<?/6Mk"+`+G'5?&?رS>\uHiiozWL(~}[؍C\v_?2sI zzxx'Ú5bb&'q=e[ړZk>q:b=ӊzO5"֛N33~.>aMܙg8OHtƵjZs֦q>m~9*hsIo92OHy̯r{K-;*7}biNɘU'յOc^α(M*ܴIVXjWeLG\|LMf11>RԲe}_j=\|w$7[N[߇F/$NKֱgno?8Ӎ;tۚfm;Ϝe|:,=rKWŶ|^|_[kZ?_jkɎ7hG{ ^5u,1]y+Rzo9kF=϶oa{?&e^j>CsFy J—ox}V~p s]G׵SoY쩗&=;ڻ8_ǟUX)45y8#&9=wi9s/'Onx<#:Z=7,W{{<'=}ZuaƱ]kY`=]vVgma( o,tޘ7pZ|zG@(; kyTwxk͖.? 4r߶(<-?7]>Qv:s;0ח~}W~zfNkzc>؍,F>{`ǽi:j#/nZLB6"sd:|x~ͮFNOz?6NɒwՌ4r7~x75坻?oϗ>WuR-M8scE&cS:K]'Vl_ʷ,ְ]-5D! }[|2=axϼgYiu|]sGדZض\B8LoVcN:k>3Z͵\["|#_k{nywXIg;f}Vxoc_7Iӟm>9`Ɨǽ;dǿ#}'tL1O͸E^X/o>2aVky{ZrHog}nhE:⽵O_,4vn&:=eU_(N>дtXtuSŒ7֣sv陊ƼMf~s-yx ۮ;r7O;gOݬ}Q0YY%idKḺeקn?&ⷈϺ[-wpSWB:zdi~7$-Y&gQ3en.Jtz.._Duo>SYq׳o3^.ٴ{sy;Rf+?*8q>žGLLN5?7|Y>ZoRb#f=W3Fo=ZzV+'>o=>M`+ ~ lkOc5zEjZ[֖h݃}[}YK+6q%|]mhlO%XѿiL|11'3ֱoKOn<}L~q[Z-q;yz1lrZ_f~r+:qxfސNS?mYr56(Wl){{Xv[4r[%bm6'^+~ǎ5l]8;1>NYn /kǗ&);}'N{lnWkVLD|.~wy3E.N&&5onVz;ϯ`G#U~].Kvk)F>2jy9b|m:ӽՏ;._XwLǾKڻ:zO1xƿF79?W?Æ""ljqrclVJZ${kOrKv4^=\y;nwLJ:xx&u.gf(:ߤfVg<r;5g]rk]8[מu~nV&~͡>|F";dž7;XgH;o];&ybga2:x-ܮ-b^֛miPos11A@@E@@PP@P@Eu5g8K/ˬo:{ZOI_.92ƺ=;u\{ueG 2[^yno~_rcmyi3S3_eq7sL|O/,͟):+s5q=[o7q--/[ߦZ%:K9\|2ν>ƪN =5Ds11F>/${Imɬ_^&&7bN1^շi[ffgs;N9iV;e'ʥYn~O|9*_}7ؽgŠIzqwa >2Z1Iw33?6mvjbkhI`Պz6}|[q|Sܱ'ݓWCґ`ѓVguV pOm+FOXX_=].XNCYeћ W@v "#%fm;9hϣs57No=7:.lkǡ܎w6;kٗyj6#3ZN7_ hG-HXgH瞕֬uguu௣gMe@smqwK/f^3\˚-G[kq;Gg!H0mߙ%۠ߥ-t9rcDy3]Yu84$tgc;}3o'5N^ns~#}$%X;OLF";;xyjch4q3mLLֱh96>]]-#.yYѭfw33i[[kXgm:;<9YqIFoz7ڒߊ+7s"fbۙ2v*ǹy!f#[|7= zxdu߫f~7&zf"s;qglc^/SjD|,")gekm>s;b 4(" * *(   (*bwΓNxsm/Ѿ}c9.R}]F9#xsτBE^f+D3y3|3u/.kkOFrr>NSwǻe[g^h11s^g_BYkX~׶NxOFs]3|f4OInjOEZ#ķ47D!2d-- V;|Nd2K[ZJhƝ|Xg[=Yuc%"މ%{Jvf8ku y{2Vz"߇ۖ͋[޳10y&Y^sԓxNr3ۓmt9׾54&L9vNY{V1oɫ/חZ֓B-~(e9~(`ٚ=薴bNWLN'k*',߭'p&S1ptϡ-ifѭǜmXd9F+#};1Xr>^(ĭgSˊb+w}|:9XNygkֿ=eV*ͧ<_75q6gּ L}t%]XJIOWnk9wKqM߽jdukkMv4s_㷪-;z3!/{t4z#h9b2ՎѵtеmV&f|"m-3_Z֕DDxD9O:ckɯs'ӯu[Ӗ}%9^mWyږYj u3 9g۝{^>=On2#Υ]lş.:vZƲVK.3p^.Ó~>)3?7772MXn/-b:QxOW4Ljc%3tq׉ÖWz4Ǔq,[^ZτCSZMbu=yc\dW8 2LmHꖞn>U蟍']<nح1gs92sHt3]3a g#WӝPW5u9lm>X3+g!<_iOn7qc;s[T+YXtcs׹nԞ3ks6ُ#'ҿ8k{lz3ܗˈt߃u~R|wYkYNz:~[Z&cI VKlquGki˹1}8>ͿUn:vZ-%+ϖęn}L9]rۛn~M8#^3&u"ߓ*ucXb<ͧ>i!IK1vӂ5\μqug~5rgs3>#w˵Ɋ7=Vy5-D&}V]X"58Th,;:rW='^Fq~s1_Wlj^11b}vˏ "2^"b#ޑog_iRmӋ?~"boj3K$ "( *(*("~,hX嗦zd|sRya6ng~ Y8\5i?Y҈DjnW{>>/O<~Rm=f# ^.4cSZ3Wez7>qaRۖxaُZ&bz2/U.iHj;mcLohf7tRuxb:x =--X-iֳO:XYqbѴz'69[~7[-֗-LX^?8eI,1ɬ_S=>w^^[[fu |#~zkX^n~iNڈ53p+]∼L'N]uŵNLwfkZ"c\lvݮr~7 E޼O&LΫ0(*N-~:`cx'ѓ|FCJmϓ%,ibHbAV{t'7rVzv==+5Z:z7KE'okiYs qZ5@<]L^:wR&1g\ӟƝkEcvϷP36Ϝ}G^Kp[ug5ާm~]:xPuyӎ5J9]T+ƛǶ@0-te9s.O` 9'յ/nW۬0rͫ?@+v91WZuYa\;0dFQ_W[X%T]WYLOk\wλKKs8D[DD;gǏDx佣feӋ>{:ݏ35r2N읣t~/51߻ѠIϥ@@P@@@@( " +lN%ZcfŞ5;'j1xEguIkzVsﴱIk1 '=#s ϺGZξIhLOFۭ8˒>sc3F}tDbyw׫KRX/Z->:\՝Z'*K|o}0r:eѣ'KY>9`ӕ}0g hǣ{Fo=3M`4:q}98Xzo ݆i-ks\= ;xaѯ4Ɬ ݈7N; 0u"5X!j[Z3|q}5ن7>N?ˡ^ڃ sM\MgzO4F5m0ͳ o$|.~=韓^>зJw_uTWt\y.Zb^lKPY+Jj{FL2|w/L (" 2@PE@QPPyZFSɎxԽ%%yoX|ز8w>+gLrkOS:jk1:͞ݧL?iI׹D|>Kyx 5w>md 2a~<%xuw1mn3[):mks7A 3aTk^G&1iC$z'>8T^~(0:nyni9;?S{뷵\tkzO'Jg׋Y#|X=xNlq牏]cVLOu& ywX{UUiZ}e|Y]nt/My'X1.)ϒG|cs\^'Nd>+Dx[>nw)|Vm=ۯfZwLsOzۜx,Ge:]iӗ&+^ yת'']NWRpˣFOX3+g!<_i }۠7q7|i-Fw 9|rWэ:qPuo.\@ >:wNmYKfiѭzpױb71hsIt8o=ۍL-nn=ּٖ1~1D9_mqvn{ϛ-˨~5g]5KW~zJV#s|gIP@d (  " 753Nq{k;oyy/=Z%hZvvVk|]k.\N<7o)y=ǭ3s 61jͽ -sZ޽&V1#׫M~N|\k?fN,⭰ZVxn\h?=kf쓻Θpͧ6aѭ>}5m9|i.>_;TF#cN` :WMU+yrPFYHtakۮ=2ӟ43ehEӷY<<C[n=&Xݦ"<^Dfgz˿'R]_ԎKZoNֈ^yt^xyOr^9s^ukLN36֕jǔFqxCvwVJ>qgj%2_W:{ vLǃ<_^8wfn{ZrXK -cvSutK|o~LVzۺvgK&?75`ͮzJZXݦ">rr,;֛Zm=;G6~E{N,oZjQ2a)}=Q?0ϫ1NO[mz=iygp3:nƼ^-oN?hgR #WӜQ -~kӧm(s{KR+[D>n[5Zk:m4ΚDV~'%y}w;!$WM> 9]T+k!k_WKueѫm`3[ǎ[k7s+ՏGZܱ Mp+;޺[UDw33>rrIm    ( " " "(  "*( Y1qt?>Dj[x?'|s=a/|n&ukcۭ]nkX[EʿF7hkSL1d4xo2bYyOs'K{Xo8g_JVV+QdOlxLDƦ7LFu6qE' [w{g^#=qVke_>v?ܿ6ន M|]͠0bѵ>ף1Qs6M~kӧ9 Zm335hTo1͖r[g[wdyn]埳GZomy1O{x͓OW?ccx/5s[}'_5~fkQV^ox4Տze5֧UGwN܄L:%߷v?CΧjN"K9oQ\JchHk38bm˞cVG5ru|@@TPPPPP@T@@@@TQQ@@kysYz\obb)3Yms;-ߣU8C\D2aYyOsFKxmI_Lfg怍hƔDNwm_["bcq.eĥۯ,ymhen*Wbϗ[]|Q>\V{Vb$N%Yhm0Ͻ0xѴ7}Y>V޶KN_qW6<\vlsz[wb[߻Ik'e{x3Y}e7hxx/5/J|V'7=XJFKGtp___>Kuy9?3_z+W9tpgtro{iAQA@@QT@@@@Q@@@@PPTP@PEDPQo5ͽw6W/~,I궷GNZ3= ( * * * ( (,LXm&]DGHvw3 mkw1|uEybm;z:qgɆ}tp䚾~''{ZұZV##JK|/%_/xIkLGi:޺W~&cs<6|u0D&/H鯣晜w,׳7L%F0Z-if\rF:}˫MO]|7ᝲ^XN@@P@A@@PTPT@TDPQPPQDPPADPA@@U,")h]Mxf5;ˎ&;mm?7-d3ܤDnf">mWi^z~NS?L7.;qWCUkϽ3.f~.|(psy/rPP@PPD@TDPPE@@Ywi@@PTP@QPE@@DT@@DPQQDAPDP@@@PPDTPDPQT@PTDPDPE@@@QPDPDPPP@PD@TDPPQTQQQQQ@@@U@@ADTPPT@@@@@E@AE@@PPEEPDP@EP@@@P@@@PPPU@PT@TDD@DP@PQPP@PTPPETT@@@@@E@@@@@@@@PTTDDPD@@@@TT@DDPE@@PAPTTPP@PP@@PTPAD@@P@E@@TP@PPP@E@TP@EPPPTPEATQ@EEPPDPP@A@PPTAPDPPTPPPPDPPP@PTTTU@@EEDT@PP@@@TP@T@@PPPP@@@@@A@@@P@visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/screenshot-02.jpg000066400000000000000000003064601361526231100310120ustar00rootroot00000000000000JFIF%%C   ")$+*($''-2@7-0=0''8L9=CEHIH+6OUNFT@GHEC !!E.'.EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE8"N !1A"Qaq2#3BRbrC$4STcsD%U0!1A"Qqa2B#R ?F*(HP( ((!@ B@  ( (P )  @ ((@!@ B(P(( *(( ) (  ) P!@R P!@(!@( ) B(( (( )(B!@((  ( B ((P  ) (  B(B(P@P!@ (()( (B (( ( ( (( @(PHPR (P  P)"( ( ) ) )(( J!B@ ( ( ()  )")!@@((  ) !@ ((P  ( (@" ((B ( (PB* B  @ RJ!@PP (B!@P    @(    @B )!@B ((@ )  *P!@(B (P@    ((P (!@B  (* (!@(R (P@  ( (  ((  )B   (B@"@P (@ *B ( ( (((B*  )!B"HPP   (!@  (  @ ( ( ) )B  B)!B R"P   (  ( B(*  @@@((((P @ *  P ( (PB )((B @B  HP@ PP (@   @ ( B (B(   @ HP" PP  ( ( (() ) !@RHP"!@!@PP ((  (B ) B  @( P !B R ( P@PP (  (B @) B  ((B!@@R R  !@  @ (B(()  HP(  ( PP PP  () @)  (B  HPHP "R R R@  @ @)(B(((  ( J( R( (!@P P @ B( ( ()((" ) @( J!@B  @@ @(( (( (B(B  RR B" "@  P(( (( ) (B B( (*HP R R P xn\VU25yj־*M,+~|<3)5j3yYe(B )" @(P( R @R P P7V%9O>7֧-:JϥQ}ٹa+ J[F~\s.=X'1mŏZ,u|Z0,I.p5~s?etWt;.|}I/rnz{ŋo8S}\#žU^U~|NvaÕsZo ϧ /~N#7 IPM'͙L̿5d^+Wmw=4Qo\b+9c-IbY%INm{8fq%VjƟʕNlxJq^ӭ(Կj_x}|~{+7:Ip_{O_?)~8ρcm_>p𽥿iz88qǓL_CrzM6pgd5M5 r04̓/5MZSNae P*   *!@P ( Ppcq|]5<\]}ͯjmIߋdHI\g,?yt_ G1kOߙ=,1_ xy;}-pr[9J>;?+C猻C ^W 44_[>׈(v-mnu8EV~f-8|0e)oͷ|~N?vRg5㫞xe7J),{_Ӻc8nb >; QmܾЎ6~GgRbxt)MhR葖9.)=2iUrɳ=f3,7rc>\>dOeu֌?#8|C+<|6y/e:\SNrIu~F8>4sTekR=ٌp;>Їτy^ES<"bRIypĮ1Rժ|hc0k,~..kʗ?qn|pW~|_bӓmφ &lpnŒ8d (?#,bpSonޞ^a0|tNjׅ%hO>,͏ji)s_}O  tfz=,z:j~)j_緋Ip|*I*֝x$`ɤ*Z!v8,ݖ(6&[O!v\ЏV2ի??d!x}|hgĩWqx -m?׭ח͛qX+OSL,yK9E~NxW$WTj_e`|\D[~̚ҩ{\ϛm~ J0Ȓz=1k#ʳ& xG&;/:<)[J䕟;h)(c3ݘ0/svemV]<Ϙ8x^ga&= 7[p}efBSJK4:O% a,QȢopƜdQKO&5:OSPg,SijǷ#,fX`)IcIi{WE罋kӮ>\. |X:Í8+9苭L}:ܘx^\僇͗m7^bQVQņY%SW7\=L9NU''Tx箟Ga8)+QQ6{G}pLFD8AKd~kqHODekwru1 oyrJs9()7WJzrRnsߗkq3^\'>OM%w}>cy&$6ɛyzn}8a,;]hm-/c9_lGp;=2۞geZ%zwJu{8X6Xu,u~wXGu$~!\aSMngq!W=r=QƽcSFZqY'owKIK+ɕ߿zyoz8?Äe^Hnߺ_ټtRsoι߉LxeqO>ZK,n3^|FnÛ&'9pWI/TzG5 q_Hm$$\?O-圗_?D#F}U3mq8rܮj3l{rmj{}ɃrǦi-Oy7x_X1y[^⃋ֹ|3a`g+4V~*k;%K|eɂ9r㜱J]4_gv,x2i⢞DrƣT7E\)KLԤ{)էU]IzMI,X#IQRo\&k$97-s-I#.)aI?FgU,x(ݿ%~闣[,=>1,oHiKvwqO/Cq(WvxxyW"VwA3t~{/=W~G')IݷJ#m8P~)_{ǏmfݒipLw>X?Ee,g0jufӌ>"9r.ѥ,-ב:_=9q6L_͉(ƼG~G%ŏ/ KmK,~0nWW= ;߅ฎ6z8lR:_%x=4N{z53rqk^[?FܖڸGK֤2^t]Uo%'^?VzWx3pv|SN-_ij,oj>RlP@@P UP@((@@Aq,N鴝RRr|I4W>em*o zz.V|Dfqi[T[uGORso^ zʒҴ8X:M5ѮsQ˒s&3^,f;ߋrYG>'b*Kgز(\Wz9o>Y8cd;|ɤܭVnp;io78L'Iy]sL3>Ϋ"Q\h/ xe_'6ጯٌ.|gΜqY#.Xkڛ<^.+yzQ}T5\H Ŋ_-9n;WߍM77T)m~ozw?˦ko>,2F+H /7 9%RRQm:ھ#CSDĒKn{myɝYW9FPmgWϵkɨF]c<^sG6J]PZZ|N~ QJsP//xT5>[l yKy>>'$fi+~kzq5^UdoROq.NFk1wzk{9/bzvmCR)Ifz\3_GBoceS⌲9)nu:\Mc=.ilc' JQn2X4O7>Lm)=TU|=XL8n \ܟ{7'gC\kV$\psLa2x>N&|9Tjp)$:Zoߥu>|1]SܱrS}uQaFX9moÓRl(.=wS~shi鵺52yzs&\4&Gkn(C,x`\uu<C]ƾ 7K#9֔8}安n er|Jin=HxyR_V\x>ooܾ7(9'*kbX盃rN2J{~<|i}^~*xIMK~&+NQhK}On^>y.TAIkZz{ˏ5/ɓ&(SKIo|8KZǩ)JK,Ů_5%קYcuߗɇNDqK44]Ek~Wy } (KҾrݶۙL1GC-J&Ylwr<8THi)(WM_V#v j7^q xN^jϬ͎uqҞWjWyq N$y^d_Oǫ  8FZWRґg x{VѮuqOȧ%I[|ׇC SI)R˿>WkwYpPQϒPj2Զل1[nL.8VIIMw~m %l|Nyψyf8d.mVwjюKpK}+N:mzv!gN\xIn^+촜aXrB1ynR>r{EW][L|^+, .q|EV޵dg,qu2bxƱdOg^8.~/KŊBoLr}.EW+}:3_fvRĥT Ż\ۧp1Z߿l|Oّ3&3;ۦ|GgXRI\2~6egP6Ssqޒ^R*?Ipqqc5oSV o, .GmZco7je 銓} j&k7J+g˕a,Z$jPwZ]W3ĸ2NX7I_e~wZc|9Nf%g;rv$ݭ_3pMKŤ}l\^,Ypӧ>{ 'e іE 9җK袼:jVX5>eXtj|(Y1w{x^r"&3rsKn: KTp8/C +і>/8[Ҿ&}qq0G*n%߆mO-2KrTSKO/??1ޓuVR\]nɒyguF=i&O{:w w9$xQ9sM?9Δ%Qo}<xN#T`ˎ- +qx`+nJݮ˧Գ9ϗm.ej1uk.V]c}K~+}:(K}73['9|TuNM%͞6%MF7u\f|,S̜;N+~q2rNޔ|915g5vreD[}Jpd_6{4{%IWVxt61~x>{3On,tGUy:&)ᛆXJ\%Mn9dŇ[ÓWFyq?g_ta_a7om龿w ,52p?V&+qSI%R~|/0NOݤV%kx% M<|Vtb4z}7 Q2(q̵Iګ3e\&H'ghOv]V5~'ÌC/eSQ<0۝fo<{|>ʢuҞ^6yg'49ɺ4Ŋ+uMFH}c,I.OVsEc Jw' l%j}kg>9<|L~ɋ.N QjV,V/ŮI|6{ItYz^RW@@@!H!@P@(@(@(E) A 1stK+^LQQK<3r U ֟}_?>D8=rFPi0ɉT$c+yN 70FE# 5tOS\[לpرܓ*q_F#W1z#|fth-:(&Q~1 );._ԕaˏ99qu:'#)?}qq\]2f&忽wLjq\Ǝ|8dq6Kq/{8;rm/K ˟?Ή_G7GYI%6Zi+G]cEկ\~Wɯ~dμ]|SD ];iYGS_;S+mϜU ~Èk¥~gxr]_w'BKӟc/]EůљO71&$JRRa'5%nJ\ޞ,y8w?Œ.[KJ{PSjnz0VAzۯXҼӆAfڛQDsIe2jMиR_LKgg_UqGi|>\; 'zQ3|7*ˑbJ/JujfVnKɞI U5il172R>c#\ɢSn{0)5(F"⪩5xZɭ$׾"/俹rs+X=8f9<0(D#Jh $^4چ(+i>~]5'SYˉE(˗U䐙Bsu|}vUMʭC٧̸G>I4$W Kn]w0Y#>.N&ےlK-NMeZ?v4qcXWʹ{_Բ:q-<[󼍪k/LYZ<1pn:;ӭ)SAʸIlZw-3΢Y:~|Gm|;Н)ΩJBWρJq*OO8q,Q9mw֗_9˵>B`ۥ'Y1dze&߿S=RnƮ-L>'^y^h95JC+tܹݻY7(9Km$2SNJO䡩rg|62n枛4eҌp)sMuc9gtqttĽd㎽W 泷)Seһyr}gx}F/XX) GT5Isna'xw %sjM.KO~q>Յ{IbƖ8ŽӗO*ag˧\ Ar%V|>7'<2ߢ7{g-R!%t^#RdEF>ԒHd\4E͋S^or7iI=#*Y`X<]&U3KH>l#I(U5ÛβMx1%TbqN3՗щ<%)KEj1E[68.NZWտ}}Õ+%|:33NYg)ESqRmRKߠՋ=l=9c$t&-dϗXrpɧKf9ΏbcKzNQ\ 3᥆TjRI7|e̳-E98=IJo~x~'<:$(SzVHnڊMۓk)rY5?8ǯa$a2oGq/.\k<{8=1UKcpa)SFG:{ϳ S.ufQyC&3n'g[z⃞Dx3^2i?TI>{|.8Ǥ^ާ|ٝ< 8_ioWUyz~>c&I[|! Br_::עG{pX/fhO\>匥8׵bjӭ$O8nŋˏg&6=8=Myw5y?dި(a=p^?\{7m.Ɋ3m6%(W*SUשX2KJPk-2\rv9܀` *B *@ (,=رz$~y{M.n&<P~_$=o;I~ zB~~;E~_/q~;7ɷؘUܽxE39/scUp*jN=2NSNMmG^Mjʓjoj[qEcqNTnz> WIpgVnd$Һ}=7=kɍWR5,jF\>;kVd4߼,=9d]Kՙ˳ȖLp⮵_1k~d6i[4)imj[y?o/rS}^} MeўL[)zӫ[℣ƎɭÑޥ8TC+Ku㤢4s~>8|y1ɦDqK\dEϯi.;(+NG\D(SқK0ޝ.S.XvR͝BtuY|VdŊR{0\>}NqɅG$mERcp >O?\&7uj`_ӏ\cYB] zy]WKŒXg-WMͮ'. !(eZuwIƔ)Ŵ/̲UJ.>Xw}9~o,OK;$I?-s~}7;4% »M{h(B)%_g=|NK2+]4{4{041 ҚWˆsAwum4_u'Twq)vXk[=2coeΝ=}kpmN1ԗcɪTgR9MIrӎە[\ rkRt^ni.&RԥKǑM>:cl;sh\V)dci>nާͼ*qNHqWK5O*"ivTK׉ ֧{3YY#eMJlGZZ.<':t Z]'jʚqI_f\g29?rKO{[d4nZTn_cfqxQAɵry;)%iKo#$qJ{닋#qqpq8psNWկݝ<8erVۧOśRK&4ǒR)p44Uilz#Q-[9ŭߍx gOAmͤLYr8▶Sj;.[^l)tuqxPPҪͣc<[ hRX]o~[~+ɚ,QRj]Ϗ&,Z^OJKo_߼xe8a jz%˗cS &Kk[Qɯ~g7 mE ~JDTj]>ʱ=YSIN+no1LJyq$wpis[2hIǺ۔3ϋ&Tk]ܜeB{R[\ݾpGb[nfq!<1r2\IqoOoӁKDm&._2Z,<+wW_rRPRWӭz{jRW}?4g<|ܳvYc%8F)-RۋoqץcO)ӉZK߷qYt]B3mϝ:uoho°7QI[rT6ѕ>ᱧ,Xh#.IԹ;N3p]H KZgm'ܝ|L'.&NU͹ [\8qEҽ1Q# -*ye$Sxm5ιRn2^YL}I {GF/]x8G6Zt^9)ҌmiK1ɞSRI5:J}ypz潚uu\24e-QI~x3e% F.eq9J'i5s[d2,rR\u<~TubSZY3e.)\n)kѭVGLfe~n4cN+U0mGɢU(~U7=FNY"I=ɞtJqTǖѨfNiɽЬ4+K&E^;'LT(M87=OA7C<^ԥM^&F ɍީk8)J8/c-.MCoMRkj2pmJ3Rۤ_Lg9bl\0jIɾvx\ ䷋.1}ǭN; pq\6ݤaۊU2#|ۋnVoYwo՜ O'qB1})Iy''Tr=Pxg&J&9Fl|,N3{I|7Q ï7xeS\w_)wV9ou^Zٲ=?xNO\v.N7?ٜW\1)d?iSWy-'T2{|v|7ssۜiO\~u Yenjȹҥ+/3ÏeRM|(qԣcRito'XHCT[Jݾ^Dɏx1Ah$23G>&.V&:]W\rIJҢR>u(fp滫%Zm]|0)<喴]oI^idܣ8B\$":[T¯j%e2˻>'mz.J\ICӓki]wS)jk=U_xJWmff?Ûw_Nwg'T M-T{x'_g"ܭ-7֣Uox]-7OUr;ϗKw1Urf{z9?s<2k\xsS4$>^Ms~|6唞M]>˅>J*0U\?࠻e9ZQ7_/g{vIѯd2)>,Q"(A6{ߝB=hź$#zFyw}ӻ2˥sϧO}e5G(MhB1X5')-]z=Ku,OEc񖧿1=I7ɏwIuQ\|Nqô&~ oOr(ߏ%W^?H1En2s]_[G*IEROza[sI_+zkɣ&eZ85䢛.]):ǧN9e swejk7#ӇǏ'E<T&LIQso|nOᬯ<?$Ri<2SҼśdb;[jJ{{})5]y?6N\{cp(4)( @@ (( P[*^pfa6A'DNi*SK_3S"WgXiMaIG͓KOO6꼳ܰSOKOK-%ڕrIxOizǜ%~ׅJۿZ_S]-J^f~ne)cXڽN)R_S4ih"wrrǷ{V?&\]~61k79n_q{k$g+pqJw{#,x ~mx>p5+I-[g|z%3vC n$W4([ǡ-B kJi%tnMׅqC<wYd8&)"ߡniJ/,L|I&.I= 6ٞJR}Moxt<Acqh]US7;,ogTjQ{u&8a.T|W Esj=ܣ]yGy0c8,OL>vsp(pEuGoiӾQ>t'ӯO Du~ ,F^a;ZM_K~`WcI&δ~8gT$RL558GkOu|kƭJhT*[%qN~%jI}lL8&Aýk$/}фIcX9miTh(3o[[*ڶۗAN^<=2ZcZf4||Cŏիi{[T)Pgd6?s&5s_s-WLEF4*|ʪS>Iݪ0毧rߩ2YrwJMn5މpNN74J]r!v2EBNsVsx"v|&nR0Ǔux崒m?Uȸd͍,|6HhɊMIn}R^?Uw.R [M{>2]kfK25o+ۻ}f\D(r i4Rn3p˾޴HL||q,QN Lf5-]T|6ymA<{ms:\68Cy5~LK|&X˗ǑIcm.ɭ.`Qӏ2}p}y~f0sRVb{ ۾NI|x8k6H"_[^'8Pf' rszOḴ'c{A+d\OG/fL%)(C#oRTԚt+9/DuWZZp(j|~'ce6y~Roǧ0ʵZ9\Zp2  kumS~mqZvj3%K/a)FK.'8ԛz;IfqOK&i|W61K8--4Ӯtv8CMR]&wյun dKrjUͥ]< dEnR'<)ǖs& αqx9i+kukNcgˎRӮ3q:RoߓS5}iӒI){o=Xzjnjyw[\i!>K&ҥ6gς- Z[g#qqi[$̱pa&8^9SKkv(IFA]xIW&K6Z$JOKqSOʪt,vIdu)_bɚ9%/c~'29TrK&G6U&˝oܗ-8hį쬙3 Biw5-;[7֪iu˓F8nrK{z$7jåKZie6lҋej7,y:sMsdJ|;ׯGrt?pj-sm;cܗ#Ww*ypJZ/+ǍҴ҄w}Yq 7'TUrOm9R3ϺIyoq#&T~Z*kN5᧟|Td,;j{{˗Ĝ#EI(hīʞ\Jyy]S:U:Ա:e#(I=-.NRiGT5'2jLVo65*|;+:+Y)7u֚I/T%G6mޯo18LNy`YsV/}Iuo-6>zִS-8߆89JRmm~p^W<|LCZggbNx*ݹzf$^^lViT [ɷGɢ[;ҏ6y򼊵dPmx.~O?K$nmYټx҃t7_e jNI;rK֢&rdÅ94o?RˑW%)=4ŵ/gǮx~11q$N)N]aʿqKS}=\g ٻi.e7brUN8Ԥ -ڽvߩxt27MCÊ'GL{'#NM&XR\7h3*QMߕi[c;QۭK_s\%p>L҆)dRrJo"I_sw f7=~GKSIGe-Gǒ2mv>XsQA3xe&=pcϞKG\>N즸_ ޡogGßdž2iۯ^91ǻ|FNp|z[6Zؙx>x Lb֢*w/1AV(KٛsWKmRrZium񕟅Sz%A?+g;yBq]'m'. 92TQ!*;)?2gv`8v]Nq})rUR荱MG ujXo4^# =bj* M>Lqvy+rrjZi]~%K8HAMpmJPR{6mqNer}mIxUr78cˇ&MqVV} . N|׭?<|o#Oɍ5QwLn`'奦=_;~==MNNJW.jn]78bWi,x]ғzk Kx<*:)Zt|:o3_hvI(U?[wd1JnM"u鿿ȒH[Z)JqMA'(֛og岣"C6lM&Uߊqr)j`_U}o艛q}zmyr~1gbůqYJQi^Σzk=8q980Xqc]B{TErkv{N5Sބ0_)N 2?/suԗsjnտ>T<Ԛǜd'-Ogѿ/VJ0io#u'=1{=+Zw&R)WWc8x\:۩ǦѲmW5O~%۱-D%橩<N " u=xf_4J*[tQ;;<;,Ҟ%45kս51'''[xy2M%998%~= ^)ǽ{ůo:ǻlV\zemV?$qpi)fŨiW|7X92jM\yp'Mj~0➜t]6,nxt(I׵VL*䔩ۜ)[?_>= N49-6v]8w]6K41=/"sz\ҴK8XSKu'([RNV_3OkK-toUgz˳γyvyeTnU3gTܚmGdwjޮlN\4&Dw=䓖< 4v?Ωzg]qzj*Z"w˛noTU9'~{}+u<ݔRr[~,Uh:)j~[\GσxZY~i'mn|]eIU֙}̍"pޜd)ujyjLpR] :̢.IEie r';S^| nPs=HƟWmWq1Ruoe&$do{y[gІ~1őu,J8e-9Zӕ~|ɼ94QqI/>7 Â|\Q].[pPi,QӿL88;KokÛ;nQ͝JVn.W͎!8jOnω{3W!57I𽾭J=ͭӹl=ϩ}¹]-1Ȧ*w[WO3|d;\Yf\o6I_>\W]>ME et)dTYqΗ ~ŋ' rZ-bxRzt_T#_vc4c+W5ף[O~w^|~<ۃT̚KnF<Ҝ8|  R~T<_U_7\mrXu cEK -OL5YKNJQz4UݷA-QFtW|wr+E5N.q>bM6{vk9%tv%MQ޼kw6a&RvgJX3.3"w]r# :{Im鼟7w#}cP^Sdյo N4[w#8xl͓ sRwq:(sľ s|ZRWԟ2Fx IrI_?w_/.Yt­ OG*wmu<أj2s;]0ƞn#St.g<}9;V1_R:ŋK-MgqwW:[.'y'█|vVSߪUrsӬxHRsϿݛ:wY(B|> aPR\U>fXc,}=u6uqC2r[b/N~<զyuS[]oNc1==l?Nrrg:$9٪R( u;c)~߁:3rolDŎՌp%Z9= .hyeםq piI:vA xsO/ClzumPjK$eIuz SIw9=/ |~0|mxlX{pUdBwO}2JOl"{RO5iO/Mq˖>'0OuU/Vd\nZē-mdItw[cރ]S5:i{8}?eMWmJd7J۶M[oiqOܿC=koTߏTHijJZ#)ǙKhX{4e^,Xr6}:fb4sd)\cI7-k:)Ai>~_4.Rk7If]Mw(mEMo$/Ƅݧ{}c'tNsZbNx ޗr.8\D-)I&ku]\m8XUrߙT7(7%# ]KqWL9K1UNvWQqE)C#N]֨Өשq4۽{߼x%N"R-]K89,yq"-RimE.3$r$UׅGKLX'i߫3$Nos5+%}י-/q(&[׽˃H5%IʷS~"e;,"W'dTi6ʫoUxLu5uvW/CXp=7-N.)ZYx:>T xIE&H\!(k{~o3sSڵ4Q^_%b8'&LYN4 |SҔ[}5-IqƜf[>6=YSro// eKD(v5/י,zeɫ=^NWvsI⛟ 1:9%4qquvı.]or:֚f Om85qun򿡌O4馲7 zɄPq8)nyM4r)F+MFR.u2̦vIیδ1.&qrF6dIr,U[~3xJ1tޕVڽяK9%,R]qTߛh.:j \&77uLdrS^K˪7KRv7WM=9FpIvt=b&]W KDERZ&[Sp`NsLk dǦK{WzldҊT[tN -*=)ͩ7Rۻ/3DY<nur&fP,i9)3݉T"2J\dJ,pvkn|G5&Y6&+o~{)SKnuc<T_i[=ж8c{] ֥W*dһsj1o74zW`Ρҥww}L_pQԱ\:k~K ._D)B3n4m|xxddL)W4yeYbs=^տ G :Nv? .ͷO&Us9'XdWN+\}[mv/_o?pfTJ2;뒧^QrnPIZ'r2KSt쟁͆mwi')%M:d$,©;9M7{nonuF1|N I4m\S#Xf]譖dr2Zg a¯xUok?/V8↝|?J2Z]*h^,R8c<*sV.朾`u{n)b*r$I=cɏrJj_'FUIz[wEս𹞙$TgE>xWF:b>Lܻ+voR 9t/`⧣"ÃyT |R.Ir*R<&OWc1\ES'KMK6~o[b96ǎ{j]6iϳŭ w%ox#J11w8WoWFrqQomV_ tq. >N2O/i8ERkI7])Vx+S&&KRN^\VZÆZ/en7%/<ؚNP=k\IN9 fPz"l4ճe)e%kNNҞ{Nm-p}=1,kzJEU\=C9.I^ \S9eOlǏ[5[marT/,|[81ϟX EJ69cdwVU[f;^Pǵ7ϓc Rsr ? |϶P5O{RE>IU>#nK6IAlxӡ/}$o]9Rih6jm=muMGgǓ#]"_bB/42(F0i[wh ͓ˊRrN1Wu^UN!NJZnWFU~\E)8m׌M|"4^M zolL1x|rqbԯ_Xpq~B/wi(SM}>'$KW0M6xdS{mŃxVk4*t1sW  5PWn~*q7ffS|,Lr5}PRڼq*moߟy,I~q I^^Qq9uN]$8V$]m屦vJ{5$a$q]+?:שTy9k5ZZrˑl1wsYwxx.Keȱ`+@   R L\5^Eɕte7~u/jV+v̘M!W6HLEMU^ W;P޵Fff_r0bIDr:jx2؊ jPoVZ{ﴒiŴx;[G]e_E8+7IiVfJn7%$wmrws?i\SQ,wZ>M+xc-+/w1&~+s9:NI]ZkIK#ݴڬj<"RwfwVq ڌ,^ Luѫ dRV? k4[TГ)I517,lx^xz$sj*"XҎ|EK+YZ[6ncgNCu)Enݧ}<"BI#t_:6sJ{+Z_Z~vq/gҋo:SMUtLPc+[[ԧ{J9K3&*~uսSy\Z֖g0%\/q:PuQȼW<^8Zq4xck35\2BK+I_CI>{Zwϵ$rɟJ}TZZ|>NK[miiI60L֔ޘT^gnM=[J1K;=#(͵{w~\v^/=K*_ce-x,:h%Z1CO${Ķ F8{Q^GR]SZ*)we+88F ZXyVM(ƫ[%׿dܥMt-K_cIqQ۔SmQplI5n'N((oz_w$*sIMWNu#,Mr~o͚G/g(Fߏ32'Dsݖ/j_K'3ˣ }QmɽS ;ii65=J>N$&&>HICE)dۨŷlf\+9JT-F  -m9O"ʼL4ŻV>o"6iKlWɩ=~N[;i.(|_1N7'N]'-f[O?O:5͡棴ݿjo~~߄^K\r{|2||DݴҗRcIjHgr .Ǒ|yzdw94%Of/6,ZTm%ko_g7?nW%if%5#Ҟw_]ĎX(EG,m%|h>CIJ~_ecZj99rs)qY('Ke6ӭ>D٬md' hci{M1FQ kZMweuϪە+*rOa/>e,L(NRQBm_p҄p)ߏ3? _yu.&ڌO$R_咫m9p8 x6<#}9cJj ?|}LYf,tڛ3g.4%-dp>61eoi|,hmԹM~'V&XEѧrKI[>=C*x|+$R}z|A\j1Zq`wQƧQsI`ڗ?-Y'iZV(CJ$htOM%7>U-NZ̹1MK~=uoąywsʲeMŖoeZFrƓ:^ˋ*.YkRuvX.ơ 1Kv{_]ӊs%nВisw<叴\Wasow~H<88OOe=8\fUQg<%iS=RӒKS7\[z_iIQ$owo<)r5(ܕήEXm5uRT7^gx<'8t~˥' sV<3Rnt:\\<\DrO&ϕ;D.8G6劶J)j.?deZ\m_N\4e#Ǜ\U˖΢3\ҕ/wxmLn.h6|Be/i/TV]}>X6%rsޥ}wqdj=/Ur~N1buYA[C˾>ŽQV$^[=FLІ)C⻲QQoMbh 9kƯd]yczY<3PrǑRVi/-ܙsEUdkϱ͖_MGF=vxJUDsKzs5N-_i\7APÏF]-J~;_[/ P.SI5եϚ]O(=~dJM[n-UmË$,x9SJ)%kŧz'54fz($W^1~7f)rŦ:mC)}:u{/8%q*TXWjݡ3x9GK%{%0ɉbΥM)66ON{>xn+(-n\<$ӊFNz}.ixc>zW{.y',x$({<9sf82ģM':{iz1瓆<>5pi^5w|UZu/|4KqɩƓS\_X=2eM:Q[, e8Ds4ԡ4|˙#ÒNYZ+|_JqJZci(EZ;NxegXxcqգ]Y5(azWr&tMs z*nro5657I=qIŗ$TvqWmQK¿l"1]"V>=/}%u-gWz8}NԔMݵK<J4ߟ˟%ZM{^] qz)ܞ-| |O8\r:|~ώr4:Km N-iTD)(arn;\ܟT}Lu#vˌ| Qt\z~{cd8z.|>~ij˖r]7Rᖾ+n/߉ y>#S7WwMى6\-?V87/ږog9Ֆ2O 89K=OƜ6|'XxN\OkXUyW:c(E$S3ϟ}\Iw6ь0i,%S,#)[ߣ\;Ge J0i~}:<^IZZJViR4dG 6օo~u$b}]trrpZa|2xrNuRx3d&Xi tߡ%(o7zA^fwmL|Dy$^&PKKqKO;gîyq9£ uK_.vX$߇D~iB/iJnRѮ/Lޞ/eǕFXrپi.GprJc[6K[rޙdmu&Y7öK4ܚOg~fI-I'=0>˄=>V.W9&KPod׸$sGZqwKLEo: '/JOwoo KSmʡ٦Jc-d_[I'pQez9qR^uF5J˛2I,\b$Xݎ8x-OLqZ1Ki79/bۋsoƷ|ڜF\?(?npܚ@@@ @S@Yuv+U,zu&n;Xg[Ɠ9Ӡy'ߧ3G]NE.%2_6EN:mG;8ۮ/ڣi9IV3"*3SضܪRu{^yzzKWl߹~p mrQbO~Ŗz^sK#1OH(rU%JATWc?^M`VfVumhj._9׿q,!7MFT؊S7y\8c:1=Q(_еwj+#I/*ɩ4OUf˩CwMKWuL\DmɖKfM-3aY(#qܽ[ -6ۊI_Cnn';Vȣ~''5jIB8Ts(cwi ̳5+yg-Kc-#w9iϿ7's%?ߡ~.[:cyfڄ$Q[c S-GIMlF#8I>}}y[~L撗#om1m=MWZY!m?%?uѭj dҌFd|唗f{5/e kL7r6IIij*FW^33;cG O$[:uIտ̚g9-'.*IZkOi_9uPBYy{(=pnj~Gyc/qDW&*ߗ̻wY][eLu)O)8ƽ~|OgEN]}>#,!pQ ^:|Sw#1RT.K|ʱG]G*W&WMF"-ܴsdcnK[>Տ29`NPHK~~fQq,jI:8GNitMHq|N^%M9R}x# {/Mw;]|3՚Y? Q^$Y;Y圜U>^$퓂ɒj-]֕r[{K4( ~c-?ؖH>"qBZgIy&Lٔb*qJ(ؽ)sRV,Ϧ )PtSw&Foa%ɮ^dv+X'w'\+{|~fӹObSROܶFs"lMM%*[tNYvZ7=ҷw&7^њLjsIƻg$g9b<+OfSN<.C #8)KJݮU\R4u{꒮]? xoѓ~W/=ظOq&nvˈ$uv*{Q\Je%ƴ˻n&:k%C4;ݥ|b>HrMJ[/x((̦w櫖çSYxָS\~I_"wkN$e"Nzx\.YRmo-{1 $Z^'˥xne.#.Ξ0?@ΧˇxNXS.3MG [DlQꛌ[Y\&Coo?Ȍj|*׿{{ou^N}IrQuTʏ'qP5+{IbR\ӸRO~dImcXڭX=&Ŏ1up/e>yr,qT0,tۓuikn՚smE+n-I^}4o>.0ׁe%Z\G8x[mYN#90jwQoɽ[O6k($sAJ4JI-{>/x*K$!]QIݳeIj+ju%p>e]W}i_o ;GҜ(JsKM|NLq8iUe^ׅ7%}zqލ=5k޼EowgX=X>We x^+rMzT%.S()pҼvKovf?0vxR5M>mqy•&uy7X,8\#Sdt4E֟_Iˋ,ؤjKKKK՚g\L{EPQdtEzk,#^5 D]OHK[M%}Wbvq.%3ɣj\T1birqI5~ix?nqto_?Rn3(7jJVSZiN]aR?)M*uWb$aUNm}ݢr|vf N-MFVJ}k?cu>ܻw{}oWc͊3ZۚIǯ3'B+Rgiï')Ajwԛ/L7}oxEKVZUx &(E:V`Ҧu66 MiwjjO.9QnpuE7 [5I.)aL.LRe4/F|T!8d䮭Uԓϲ˛'By%zj)1=0(G4~u.3)bTf4l^I;NRjsubcEǻ[LnNbqNr^u9liMugjqkGW/{u_j<2ҞךꙤrB/$E-OJ\v=A8=wMմWտQ:^jG2#s cמ=8ɛ *:{[JIjE&t[xCs!⊦Wc-]o., S wmG QԹsimuO#\ҵSei3ڱˇ'%-SJv]>,Of,Y!!V8TM qr>Xie྿#7,qPZd۹_N{Ò88(K&.2ӧr2Fw[۞UnT'F:Ur]8jM>^బj<7#jQrʽw%aџ&W~nzɕf:R}rr7)UQn17pb:c-7k/y'6▘buݝ'ꪔ)/w_q]ҨѵTd]WFv3lRo39j{*Yw1I9]f;m%ʟ߻8%/gjN]|o#p>vKs}uWaM霴˻TQ'>'[[aų mE_^&g\6FJϧ挤qcƕJ/.dž3Un2nh\$|1-18imWfn5}ҹ7+vx֜Y2=iYWX`ܽܗI'I^xO{tR֙2&fQ^֣qҫ^qQ$$Hm@@!H@  (   P[R'NVʙ񞤓zߟT3_y\\i7c.@ijR>:¦ܸ|?Gk6>ҾG]V=3SJ9Mwn-syK^?r4O{IFo\g]ع/:5sRvbʙb& ]ߚ:w%ל1v~*MůqTW]/KEIҗ}Ͱ:J?'ȇOҷ %yoxA07n[3:kjomMr7]nJ/vԿbɛ\A+um^IE7')-Ou<֒]tw~8LKJu1֦)Z;ҧec?5߅M4#JN[K8翢dxҕ{51ɦQMc~q;te-ׯ}YԏD2_wmM%9>ZfO~GB1ҟ",:xޞ4d糄0trGUUm=92(7W+m?$y)3Es'd18iJ9=Od 7l-Qtezkfԡ[R{{_^,cmlܼ<⛌iZYorZdU%.['z&G0^w8N)Uﶒ'AAx.,{SMSQRf{EQ}˦;wFy1<4uBINRﭻ?m uRUkPv89UEmu?ŎFqm#gT[~ϻв% w_3)-sM_ݝpO$Qfε8{IkQrzב*^ɝ.֕-zƜ77&٤rPRmEpW#ɕV8sס MLѢrQIS]}ߨޛ{xn,Xb`8~,zXүܶ}MRX=m (V_QY3~̔aiqQmEZ;50I察;ǓB|x{Mcy#nRzMx82BY.g7IfN&3mn Z?ZԥiIz˭FX# YbRќLZ;ijtzS苂rr _Yd(99sڮm7mre<{h-o_^}q%E=[U<ɵ59F.)>MOzpm0J**~ +t'5͍-Xh4ož|jc$dm~4~KGU[rmu볯qL2-K*̞;QYh|:j1憗iͭ_zMOtLGlj%?ESVupゃ1[%ݭםljRZ'Dދz9/qUJS(80G?(ю8"iݽɑxE}Qv͚oL{<2=Ov^.{~d́Fg9IE;סQ*mFRSM˩MMs3=QdžjZ&%(o~7 rQݖ~\kƖ c3яJ1qrimT/szS\]|:SF.ۋtK_,lXfC_i&)cG놝:i?-e8`Ƶ,u+#ͅ'W(Z%ꯡ**PQW^kwYJPQuUbw[D"UM׾!:lj0czOq%.#Mj3u9S{=+vm~)-ɚnrV_q]=#xp|.Tx^-oR%,X.SX`ͯEݺwͯ%+,+sIk:j+iC[rs+4oZ()yKrW&qZ[>gZiߥ+c>Sy3 RMrےsԚj[&bn9a92f=|K9Mښss~hFr~KyܳI94}mJ/] )-QI:Ҿ<yK6Jcחv.^ e-oCң7$?ZMƵiOkrU{$ogןӼq8);(|vdI^N]+ERE-~v_Vm ;HMÆZR;iiCݽ^^ MML#/ry')4jRjKO[屣5vz'cH&ҹ7KTdŋ5#)6;]S}~Dܥǩr/rF3ݾE! >9-Bn>UK{9~̈́Rnw9Υ TnGn]-$SN#JU'0;u8xFRʒNJ.ݯ<e햕0M Ǒ%xU)=s溙^ Im%tWG]y#ǒJnZtn'U˅pe<*$monG Ǚ˼Ԥy$˟U1rM`-RoRwLQpZ{qQ~t_=χ9qU, ivri?[?zqd'09+~4.4'u R^uԒٴ,r[r|tqf[/DlSrgi,s-Q%jnˈћqQwWnOgA>7MrbLa(p19ijҷKaˇNX9k̜%=Eغtz(Kŏ$>eӖ)-;tݦ|O\ysc)n;vZz짥J8R]rԗ|4 sҔ4'ͭR{}|V =kk/w$ЙO{Z47_U_6|R9ǖ׫>a:en9O~\}\<2%/TJ5-|5.m 9PվҤ~*>N0rK r}뫕ιnfX#X4F.6mzcRYqN԰饶Imͮjr\oU ^rm>&8dŖ}8AɧrwɑjIlZqOe.'x7%GiN|y!J-FN_5Fn~KoÒJN˒/d8L>YI7+#9'TԘr্iRM߇sޯϡZܬ^ac,kdm{}p rۊKU9C4eZ)nq5NW JM.u;[&3mRpI?so~Q-FTf8dN M'SN<)MŸJ\y;5 M-zw0_v,q5(pzݹ:;άˋaxsy"tn5L>7gec1}> G8cjNMoԛ{{1֚:/;LowFI%*x'0^;;ۗ:ߑ:˘S?v@P Rt(P HP.Un |52tE;})1??f˗:֫_z'I>:N?Uowҟ#ɽ|>ZOR^g>-E>rEpmۤF7B.KaOVToaŷp߮jUIRLNoc Y*\4xiwf8g6w$u x&TqٚJ2ۜQӍۼV9cq՟j}غ]ḵOm>w+:\]VI(JJ5%K*:g9tcFw(I.~Xp#g9$6뺒kLkJroj9f}ּyǯ}[qpon<}ޫ^|(䓌[}9E|ҜwuRW)ZU+JF&N{&ܳwd߃icq}.g-cry:mO`\jKOc=^8sQpV}ǚowʫCÓ.t6i[XW9&3P5[tWͣI7 qi:y# hyrNpZHvpSGg}n"ep^AJysEJNt;Vs9W5Jjzv"ӥx&lQxra,Rj/x[9)ɫ5μwx蛧|Ji7q=-\)^Zw99-Y4* ־Ye)NQk&3&wK+6ׯdqSnMJJWJ*^eqqqK^׺/q6XbY'}6SiR5'8%O%TngxtrO,%vi RXdگ~B>\/$s3,鸴n_4OOy'i*Njkҫt.kГ \+uEJktLSPzROsc"IJGןC/M([_˪^>y9J]5yTB=ڜ~^]|?C6L]ܒ]*N8$Q_|ƴ֩FNޤp}rR(ܜrE+[rݯ}dǞ]xz;'gڌc=[;.XiǠ:gbAe8i+Sk.#& i9bQSiyr{Lxyc=VM4\4]˖k_=9/KQ7Q1'{Vr]|sTucZ?;r&LggJQk%:us'ٞ>pv+o=I"XSZ#i&nʏ<% y44(Wbdv'FZ. evwm;u-<0qsǼkٵ1qeIʓmroEu'6M7[t}řN^C)Ϟz׏W̗ipZe[W[߭u>jsɉ.pUw1b'V椺xflǃ$'8o(56.\øT8n"1]uWK\RȞnJk~4jwo/y1EF.iЯ<wZZ3m7${1iX}qnUۻE3Ĵ-ů.W2IxoVΛmk$,ihNwשpcP0CM97 ]*~'H eaedƝ{39BQJ:\W*e=2{*RbY|4X틇'5?_w,+|%~fyNW)uNOtm2iW.IoIy1]\gdY[[޺e,Z-nraٹUrt]|u5:U||Npgʱy%Cwog$&3˦ '7Qzmsގ9:-v\:i9$YB\VHeٵߟDLL U_2GˑNrƲ4q{u}9fmYqJ[B[88+ ~`?}h,qE&%)(|Y=یreSӕoJzcc8p$-xޛ#hp˲jܔ{֪~7>jMQ_)?ݚ}0O6LGZQzTi齷/bܽqȜV|0q!8KюI--<%9EO}*r{r{0ȴwUZ^ewQxi1ܖu-NqY '݌y}~]+tEgˎ0s*{d\o)l2Q1[z#p=xII9>mosanE/UřMje7ݴ8l=XO$2Tx1Mv&\mcm_FV,s]((&*$~΢%*n9'RWgÖX>%9Sd{yy#-XrOV߽g|u_j+u=vo!dR/KU=];{f猸Heq mrf+;8qJ-:,poٽ^5U{z:!αK㻳-8ɯ K<}9klX ҫOKq#_9oi-={5/bJ^Of^4N\bIu_"I8|Lqu$d3}JKʣmcηK#y`FI%Vi9jJx?bPG(ou:^W5JEY'1I}w3`K#DSfWF-W^tg›vFd O%執/7gPODg7\VHʣ2o,qͦ[Oi5ɥBkWfɦ$QM~#KڔڽZ?O(RFU*~L.lj͞iA\U K*i.^N(KB8 Y5k,JA}.1ˎV\,8}J eSq[wq63+>&:o _l?F2ԡ.x%E$XjË iW??Tы|4z/&8uQѵ՘/$3}N%TCʮ΢P-R ^XM qI[K·bMc-[x߿N9;=]=Zo^5-ߞ#UqiEEV_ʿ3T+ Kiԫ^O$+N6Wj1$yMQkCiGEd8aiUV<ٞza y(2㥭7i>*=(f$0Iu,2ъIƅMwRVZHB%XZOl{o])34{NQW!)^9K/i1m+Zچ<8ήהZq,Y;]*<.B&çrRɆ1ޝJ^oH$*.G!,Tx[җo3gǫW (J.O V}S[`'$JՙOHYTrZe]in~ )N Ra掠Ο> uE$J1_%x/. 66\i^Bo|/e׎TzRfs#]qQZFk '~^ן#'IQKeR*dޗ}>SXcw5..^G8iziRw| Y;K*-W̜`͙䊎dT5w[=yhxㇶ'ӧ۔3Oі nEXqMʾe$WE~o]mɚke/z(RVt_xLP 3)9GMy{Fy[m'nKwauT#Ӟz2 xk.E]Wj)c*HVcWvӓҫm&fcoo$g4p4)7hDg=8$v|xa˖Y0)J-%(ŭU3KGںͯݿ>l=JQ鹴[7}.ڷW^5$jxz%8\rwPnuİ2\+'|}KdᲽ9ye.iN/dV}{Q}i(ϓ<Ƀ$7f:޵|>(׿GI')Ǎy:{}FLdU)dn+~HtwkE< x5,ѓA&\nz'5]|Z~:|ij?kߜ[{Ϳ8XR[8Ǔ$GX^]?75;zҮ4y:^Xhŏ'&J<ڿCg BTi$ikӧ1e1SnN'>h˛$JMdIO'>gS7N@;; )((( P( ( FruK8)e:%עU}N 8;iׁ.JДVעݗr8Juk%W: ەН-MMipI-e<~]q鋷w&ۚ,m$y̜ɶgp t?.UE7^M5M_RYt)xm/MB;F> VKRz7\PMj^7ӷsirJN/utMwW ۶Ir77KuzjNIKQyJOSM'm)ͯȥ%JU-SC'SUѹ;L-y3K$OoO1=e,qxׂ_?aSn;CϞ;ˋ2s'V8E(QNar~13g)뇙Pkks,$Z|/oݧ/b2^RM|.qܼqwjq$Io3kJ>Rj/\|FLQݻr,NAKDIE]<o^sM{\T[oˎ9-KGJ5!wwn(﷨ڞYSWrEt߯r|Iv:{GM\͖ޖQG/=Ʈ#X JI*Uŭ-cV.F:Ә]Wu&?Zĥ_axOM]'oqNXKIR{.YaL MRwcWv͹1ss.)\z2E/%weI+7Jy K2G9ScoJpÎ -\pOSJK7dj3X[%#<1O&8dKjūTZV&A`HkUonqXzyFoKQb^gy8MΣNX%Xܝ-S;lUd߶~њ9AwKQqi-+m~?2KŒ1tJ|V $8>z#LjjZl__DE5-uXXc^҂ӿ_A4O H$-;6qTw\{ꒋy'4B2*߁VX7թm-{FN]I.ZaKpyU.<dcɓ'-TѣȩMz[oo M\%*}]N+g+$i]Im}OnˆVϪ̻4̙+Sn9&yo$ge\s cF1Qn*0{K9ҥ1~}+a~&^^}r͗"n_KZq}ܜo71;iJ_R1M&[%{x\rw2vodܾ{/4ÞO NO#J3ƬI=K.v*\ۿ2+'rKR8^eŎJ;csL3ROJwKmi&BXe.mM9zF=wvQцZ)Ź;ӵTMO*7[{yqJJ9r]ܺ:eX,s_Mtg:-M^_C%g߻&ia %47c;I5ҶuI]'Gk8}=/k{jG.Td'&ӯ3N8BqnRSK8(ق>~Lx+%);:Tח?(9V,J֓|G:~1jrUWuk+ K⣪R=[u)w>okk)N;IK%dBJ߫SBi*[yÇ2%Tk۟N<|g)`|&6x$vQcoݚ"7U&c^9%ܜQ RrBzSǧ>PcvMdm:Nkqee)ht_N;O:eOjxr~6Lƶʽj,pNjJR~2[ˋ^KiKMRĽ{汇5&4S}wjMFqˊ+o^75~8}[g wm^܋8n|N]X%q\ë$_yJ ڌFk䅸enݤ]Gi;|N+KD~iY/4)(nXӋ Q˛Mc^\g=ZM[R#_[/Ē"Lk,|7volYn/$jm彇x4𑃹I))7ꍥ,;$ڋF1uVx[Soxq;$Kn! CH)ǛNxvl6|:Fy~%>QkŒ6z[(r#%_W.^I%u:]$Jwkι,ZȱIzx22fNɶCRIxY5wIrG}||LlQo47c43BwW IcMi%N+ǟ%,enX2hW?yI8Ǭzi'O:ߚu%|vS{"e_hЎ^s%[x3M+^^~-Fo-Īg:9-~ rKSmݖ1jqRT8ߎEN:ȷzpNWoߧ'ROImRog\2)pRԹ|2M*,?Kt>' KT|+$%>+3W,93ɕ[ᒖ=J+vuV'#2}W۷ΧKů*n=K[u.fceZM)ʣݜV}}DvI8=u7|'&$uub'().U.IW/::n+E"SײVk [zv{=ܮrIR{fX̱sABZN񿑟<~<9coM&R{/\UK԰qK$#rwx% .J3RiҦ'I%Ϊ[#Պ9sF3Ʋ_%K3]UOVHgp7ݓߒ{n7նRO ճqnZ.v˷za(:V} VMPnUrs|6:#nP/3(rɎyA:]v_ 6)UTㇶ]>SMQQMTN\9K$TOi.O/5} V|Nj,J/N%?Cȣ^*-ydKd\>=y%ڬidW?4ra,x[[v1\NIbN]mti.K%RF'9k57ۍ;߼ ay%.6m45ϕo{3ƱC4:EFQ{ScŋtRkwu>#QuU8~.u]| xqR^2眦ᓌe1t>lmu5^̳ɫ{9qNAxξ渆\EC[yXJjx d&un[jmpp5SKׯ/ V)VJ1{>U^g\DF2}J.[SjMiQԛ:͙Z^aаpY$NoG8qwڦ>aKJ I{ƭ:}6: &X٥݃Rm/'O{^W }MOtAΒǡxWyA\a%_JOг7XSHG ʩ$罴|ͥ,\WjI蝯϶A q)*PM|=fJIl7GN0!IT#IcY)4:ZKn;+\lS\ӏܾ~[K4;X`ѧNGR7}La 5u%LhQm^?7eR2)mxnT]mǯZ)mh}~NõJuS+eT1<Li'Nxܥ'vm{.&:R8mLeχPMo_8yyZ"jL8=}ۊTu_5\rƒ-(%fx,Vonڿ20b9d,_k|>\6~lS'o>Y4˟&j-)R^lθSzWSdo5<I;I@@R!@E@R PP@(PB)E ŦE.N0+e1$#Ze~(ﶕ%Q(^վ>Zj2׎rws6i\4\DNJ3kc{sX=ƿC㌖&sI|h϶an%''rmձ{LJY9$wV>ycskq:lsz!)W:V-o f~.?Ex;-/8-_O++Z[ۨiº˟JKR6Ku_9,IS}|i}_kӝJj/3;opݶPo\ͫ}O$~;цL+rI߈_,_CIfim%o1[fRIgc?tC'a [j#9fPsoe6)RT\hLJqR%|65sz-Qo䈳-uT#iiExȋ3XވR*ӧ'WKE Qdպ}9^"r!NMWvKoOt8u Sr;O{'{OQ3,V}z2McIjNȹ%/f?%5JO'g'N\eK\w)sҬ2 ȝ%J\gX% jri:)?/c\teͪjc kNiIE=QZT{6n W[<IanTuKX6_4Q[%؋ChI"b,?̎918JN5ç$\c[JZ0jƿ?YZOe~Hj\ꤪW3bpu^J|3䡪7aH; E~:O!Rwf)ZnMSE-iӓ&{(|;^2wkh*]c&J8ijdK)B:ܥK&8/q,rnRiҎ˽kye7,JۉѶU ;WǗr~:=9ZWezymkӛ\.^65}O¿#%p};ǎYSԕr}ELc ֤ײտz_%nrt~OqPIڽ^+cm+ǽ~_19/6)kqi>W?Upi,)mWyO1_+e9aS\v\Ftˉ Eymk}T 徨:&hI uw|i<%7n]j:x}-yiĒו%nK~ݮMڹ<Ҕ pqnƓCFqՍ9ͷNybsuiZGQLj1r2tKmI|LJN^Kn* ]=SeƤJ*Z/-gR=JJ\-X,IbՉ{? 7_SαYN$8f߭#rM]֛~>5(fnwxQ 盫rj*9Yr{>c~6j>,H>LnZ;"4MI_?|pb˒> F%|U98߻m )ܝ(.T||].arr[jI_I+-{d7fRx-;O4pBs +n[NC6IB*/N8\zT&wn)+]Sy^e忸OyJ%w﯃9mǬs۫W_;:⚌cѿ.~fxpi?kh|<RUh]OƼ}X,8dltvok]i<<_^wz{Oၭ3Ls*{rT30jJ1}W%a0ӛ[,pIMl{,y;%S%I?7׊M(C~LS-$q:/N'M&V.IOi4kA9OSu&W+C<\Gyi^v ^: ^8ZkG%,KeG|6IrIɦ^M4ɃV(iү::q}F/&{yW]PVOwiI1J^ r( jdџf\9rFϼTgIIWUꢡ9B+Ċm{!$e vYgqWN_d Sђ16=IN^H%u~QW{$G],[?yx-{x1Ci.Σ5(K߾g I]G NQ]Qo^##gcɧVqm>}>\KZwtNKW_c nm>Kh깱I|,ڶ 3?pqN\?m-Q_O̫r]H(WSc巖.qq[rrII7gIjSU' pj^ے9v];I6oe&u"-L2 c9_Ο د5UOCz! g!IwÌ1QGrۗ?Bዜ[uTߙ˖1 ;̩' xD'lO̖ B1}kRy]p_xeYnf9{r<ŜecJXUoOzm[259w1eʹ wD,O{wO.Ijf$tεjԱZw"h$ʜmw$M2DYޙ7s#vqiԷdŒQMzw}w3?fEO=44tjOyICvbtk.77œ,re:_aK4iڦ04y'[_ hjY2Ez\>Fy9cVBv6yrfɚI%7}CL E@P  HPH (R (G\=QM|MBQ]ccӴ]Vt뷻Ydi]FUWjOgNvݶ:[J+T݂c1o#(-Ixy'QM$:ԲK,VE34)FI΢s ԩRT/%͙^jEwZ.^Ok*:y#-D>JjVkIܚ\oǬd ,#-2Ng\Z\M~xC+n+B]&YxzOxE?,)/3N4^_;|V6Odf-Я_2Mnɏhvsq#"j*0]sϖmKi|_zqP{ݢ6sVӆ.Lm8T[cї$k$Ța6,SԱJ^Ri7{5\jm~#7;N:'q[8gNg5XEst4yEywmטk_5'ܴÒ d,|{2i$)RwHfR~c%'$m-_3匼{:3O\-.KGPJ>HEy=M?0ys__CemJXQsg'K\954ӶếG~, /Od{ ?9<=fQMSV}ucY>#)ӌ3."0W&)#4i%ɉ5ӕR L἖r}7Oi6),ՓmݽϝR'&N3mun>}HᱷiS79?~~{\Qk[E/EtR%{!vmaî+޽M7N\E؉fyXSKƪ7N3t8z<^f,+q>Gc~c_Poȣoه{ʽ匰8M(d޴$V5˙{=+({[L'Iܪv<}Q6G䗾ujd(rMG:٤㳆,zzU+֜ej^5(%<8)BR{8:u86)9Kz=Sxq t֮9ۅd&ST7|߉R1AVRZy"jv=Xe4bkGsPǫ2Mm[J,8NRɶ~BOO16g54WN[[n!rwvgӻa*ni Ru'n_GYeUPZWxkU:`߻oѝX< ~ZGD5CmWV}yiˈ)K~o\t,a<.+irgmmgxܗY.m͏ɓΣ'J/ӻjsW>mLuw*a8􃔓^WSPxERk7Sԕ|֣U8{qN %ߎ!(%6֮KoJ֝9F+]W1K:Ճ<+g(d]ۚ{Z8JʿƭyΡ Ro䪡-iӜkՏ&ަki(Q=y)I/*~dJZaޒ}۾[aRS99IҶMn7n՛7 O=޴}Da7,Qr~сoQz,[ fv//pRPJnxqJVԒNs:8b%W./O;ǎK.wI\ws3-wr]u  OO3Zb4ᓌdɡV>^>cPɇ*|$2}6o;ӏ$v乣?F\;rQoJi-k `]̚ey#\jtxQ'g6=r-vFRr.]t\N7e/gW ʿ'<Ӧ&uW]qIi_Mrv8˖2Z] [x̔i;pf,&|] zߵ%Ŝ|rk9 }-I8ㄖMjsoɛ&Z&%z.asRH@@@P  H (!@ )P|@Yuף WZ3HS˓O$`iڹ)KN㒍N^ .ɻ?Xz_}ǔe''KP]~ $S/cNpOI'{^P**'ғu n>#\ı9EKs{^#zoӍ˫)P}b{Qa)6葮hzTۺm.A74x~㓸&&ڟwP(n;%;e^؋h# 㕙GQ“Fve+OzӷMt&^E(䎯5_ouK;bGƷR-M_<ю9&[2KIK]}!yka:xRr"+$QX\V+nJ^#θ=0VJsp.e77MV[~\8I&I-QRg>iֵ҂B+muX r]-)o׾d=XοC\8,Y|価q`&i[+SfjO N{风K$Ԥ ^i^ܲ~Oj.O$vv\q)\?wW~eݷ=J$mY1NpoWFrNWBPU6ŭ-CRQ{5[my]A[/Om-桛PGy(ϺOvGё~3kOe+~QER'_ʹWMlfwYS$a,Q\$S]~ʊY&M8IN[Ut8y-w/f.8Ǽ/ߙc0cJ(OK.GϜIKD%DK֘eÂIf3siy/# jԖSn^ X9l%lchEbpaVo~[|Qa ,%>5˅F8Fzڋ/xMũ/7?=' ӕ8Eq,9e&)-K״?97}BodV̓iSkŜ,i).I>$w,U/lv]^FRa_? ImJTq%“r| x(k\ӒP~[`GZ,2%?rjiFK{3˭>Iύm%$|bVt]'iqt\365I/f Ĭo-=prJ[߻vti"߳n߿.d=}ߥ|,8p5+mFvLly]O2'/rˎM/eSro}a߷.nF}OR?{?8*xտ3gF/*7ƒMii&-jrƚڢ_K3/8wEvO_X IcƚJ++,yeZo.ӧwQecx"brf9 RE6?75*\OOxy#>q$.sco̥8e"R(1BpokK.H5IdՇ.wNj/w1>'$KLۄ_ɒUy')b~ .!'d)ɭ蟗˟p3})H_JhhL"UgY N=.V\M_Qf~\wz3,)MKOS~,ˈisujՆ)T?_vΦ%˧__Ňr+?2b,?̎kW.cR݊ۓmeq}?Coç(db诣$x{?ߓdx 5J]|>gi9NK$ZiҔ%%KLer|&c]0 ]!Ͻ/>z?*'^[/M_”gM?~2k$e<Ӝfon;^>G6M1ުZjrIG68Kmx/rF{e-O-q )J:"Ny&yww|d˳rp.2sˍI){=|iu[=A5/K>#\ߡ巻H?Ћu j>Omϴj^j)'-N.o35^|,_Y(R~>J^#t9񰋓˕srjKޙ75Ǘ&+7u7H+sĭw[ۭFk[+fx6yr]FOd,%˳?"rkB.N7QjI{Ѿ&b rtLɕ6 >_m?DpYY')ܤs*(B(B@@) P @)EAM:kv+iVf[w-})~{NW%%רk z]EtZbm~>iJ8)OiZhMɑ͸/7}9;1drܢ>Daj8cߟ-~d//ԋkM8KN~."M%^t pS{A.xtS7U+v DFHKb'IƫEΞNNZT[ݭn*?Dd6]َaGJRO)of_KxE+7k($pKf3o{=V,L]Z|>D,;t7qS-r|޴ ҰUrȏTeR{Aw3P2R_V4'.?2t[jo/=LN e>Cc$JWōe:{EG_1Kmߴ#M,tޛFMBNKw(NѦeRIyXny'I/EЉ.]h,Q1ԓ7K6I>sݣY;?c{ܙ]:zr/ݻ5+6RqYkc$5f=? ~i'=9.N[%S9NP3 wB.~Զ.ֿ'90͹J \X=&b\N4/+e6]:&W _[gÆKNd=n=R)n/BAvwOSU6{9>mQJ=)c% hn9Shiz'òuJ$ 8ri9ܛljzˎwuO⹿[$Vj\_=1 2 H( @  R R( PHH 9'J]{:s7_WoRPZ]>gqU`5s#NG.>DsH\m7R]Z 2[Ei뱒$6sG)6J䑢(;-~YJ1zc\Ƚ2NjOi14y%8^Ÿ+_L}_#AM;_G<& Y$rߒݝڒMoȶw]'-F[;NקG5$\}WNfY=较''s㊥RG6| bxps%Rie(Cz^:'}ܲ5w^:uȲ(ElWسI$yv9ɫ{ dmTw>*nX5E9|u}Yawo)_Ւp7Sj34%cqz[-៵c/L|ǂ]e4.愰Jr8Z`co =#u|Ig(T_8R~fw29$S_Ň0MēV"7rv2i985o/ =#u|MMØ.ߒ_r:.'/r1I'$$[6O9qXjt7[r[/C^8$[I^fS) Q1_C^xr<0J U9l7ͽ38aM~|ZRZ*V"KnSjʜ`/j/Y4Ͷ@@@ P@H P )(@RP@AAMIK8e{;x:qGvqz{e5 8ˇkG,7-&_vEM˲ݻgSxߞ_34d[];{muks_?82KE&Q`f|s,ӒqrqȬuI_0dq?JOFyrcǍEnKd Bع?DM7}Kdv&nه嗅SSk^l&9EJ..U*G^fpG_ONܖy^^qrVB2i.ZƾU_?#&G>^9ߟ$ꥊSM/Jhq0KWeTLqM/Yeu5(~?d׆5ϙH0jUhx rK;EF 2\qrG$i}ާܺ6>_ ZMtβI7J/I4;Տ= 6^>!5J:쟊|9dN{zY\]p;ܓt:r9I*tv~E F28JRJ,2OCEm)I(Esukl4pϴž~qr)=S-4Įz>wS}ON;_Pl'&#|6GMhNzfJⷸsFfqMn+24RK·şFZd<Uet Wں(]4#8KdQt/Nk>'9V;8pR{VKX!(k](Ӟyu]P@@ H)@@((( @P P@!HPPP@P@A PBuR^+E[Er_QjIsWVzLOJ2۪3Ǜ%5dQMe_[ěOD4BjuS坬YĒŶ;*ؐM:uNXt./!)aOKm5o~9Վ~p~0VSqjioq1Oi0z$p~4GKu-7w~NVS -&Rcu2q.#:u2Z7΃5s,|Kwd6a2Voe&7S)o۰d}Μ9Kuķ~ ,ws\kӟ\fRk5w%ȷXnۚߧ@̮3$߷tr)S)_(td}q,.ufjec)%72K2)57%<ތ yz$nzqtۅˍK'y*S+My侻۱9gu7+u&w SYu[.߯2.rcRe2e7r˯,ԓrnWVM&|z55ƽy@PPA@@T@T@P@A@PEPPQ@@&6e.8ܮ[͓~q9sw}2 :xuqo3X[,zso}td y[խt,Լww鏉| :rIm\es{Kǯ X~o7VMoӟ,MgO;_bYgLݲso Ϭ&Y\lW]Cė^2k3zpf>[sY k n;taS{޾OmXgc%[޽,qa2ޛl\[;s.u=9"c.=39-|ulXg3+X.ߟ|o<,o.=2W:LnS+5囻z~ 9g8a,vF8o+$z55ƽydpm72pc%}rv/ydk 2՘mכsZlKmϯ* "* (( (*(" (( LnS+5囻zkr9ܲI7m+YdwιY\+ۻ$]v/yZ㍳d7AlerԷчWoevw;RvIv'vh=9x?8-x_MK7{Y{z}eV]u?z=[o֮o$]=匛ַN,7?o9YZWsΘ/c:n^q5_IXx_c۬|9-+qoM'O;_t\n39sd}WcV.3)nw<,,|Iӗ;Vz^;VVK-_gp+?Y;OtN\5z,Yz_x Ya9,nVS,Ww]IiYgLݲsULnS.%߷eï?15&;IِE ^?cl}zrL7%oOD[^M'O;_t|z55ƽy%e.2j[9?QwE^]^>0oMK-cYcI'7I]qzNzϯ2 ,߇.<^|ǰ0 f.5m?(5V2-}=>,+ԛ|Iepm7)zm]qlϖFl,ǢjޭqN~Y+s)˹, ה26fvo"tK7m<}@Qruu^, Xsfݒ|̃SfV&XٍeŚZ.dwܮSu嚚ztMN|9\rYue@Ӭzm^mjƙ\rg27srY{;uų>Psޙd\K{VFL.W[d-X.ۻߧDdArN\(  " (((   ( yz,njzcf7wj۸=6ۯ6wƙjqۯ4՗\v:mƥ XnX2o\~ee:ܝ>\jo跪nY:y{-eX]e]Y,5rw&M٫fg,r;xr5e4F+Njwwٯ9x-o7:2^Y'[O2e.\)̷y/]e5w$sx}]=]W}_n /)o)ǧėěsoKD3rEŽ3-KԾ7o+SĘfZVۘ&Xq2][>5f.5m?+XOW߶XIoK%3~qw5dYxy.:[R^}{da3ޛl\[;F:,零^w>̂ދNY\xղ:uU˩qT@EA@E@@P@@DUT@ArLMy|zw5ƽ9AS7Vn]qf;]I}$DVg[z{~YEU㍳d7cS+6f퓴޿@\7;,|Kwdwׇ2c럎޼ ,)rl|؄^匘n.6cwqqf.DRls^7,I=xY嗉V߭sYn7.:m::;7))woV̮3$߷u|L{˧N}Hw,r7+7>A2Y]nI'uެpǪni9gu7+u&wK$\eԷ|szgێj_ ē&=zaefwvO]~@+i8ve/EޭMq^~ l9n3).7zNc3ˢێjdknyfn:q1-ǧZYtN\Z˦Yd:N9f3^]]^e,n7W]m-=6ۯ6wƑoN]s{q\u3.oy[Lնw/YoVק?$2^Y'yz$nzqמ_|c}-vYYefwvO]q^m[^"Νe-W6=wc+ӽzw8۩$rv/y'N]yu7_oTk x嗚\zמ ycp_^#^/\2?\Sp Mkd7θEec)_2^q.$2^i/[.\h=zw5ƽ9\.Wvo116M>̍^ceכw{B+I:;ymMq,?/c椼ާ 9es<2ܲwqnLVM êٻqv{o W'doc/2׶x3d2svMot\]v/yn;Kg efwvO]q9L&wmg|,.\jY;~oODޭqN~Yk9\rYuedYe,f7S)o۲5oTܲtd\<ˆ}ݜ̻^5[ׇKxǷL3)5暻c7Vn]qfr>^:[PIefwvO]qݾ?e3㻽k^pgk9̗RkVmۏ_ Lfyt[q[>NuRe87y款,+ԛ|I.dMM[7=W'`ep-1S e3ˢێjZ\fRk5w%̵n5-RK2)57%<1,)W+OޭMq^~kxgk{&Yrur)甙LMy:r\7Y-ELS-߷a eɌo{D\]v'i藪n:y{"tK7m<};&S).Sz^@賦nz{xqr5D.yc2VKw>z봜I;M+pm77ՕՙK㙫;Y%[{OD̳f2f>YǍ[/izuM͹]6a2Vo&9&S).Sz^@YɩfArY]o+$kyv37wv$L]Kw=q]Mv'i^pm7\]v/ynyfnA1[KޯӃ7s]KhLsLR]L~qg2^H#Z߅3.noןD˦_-jwp,z˧V]}k,Ww]Ihec)F,)W+O  (*   (( a=6ۮw5O~4 a<;)}${}}sqmךnjdW[|I':zzYeY\ݻMOXO/u͒ewn=32+&SYI{d\lerԷ:leƭjލX2nk8>e?z=Xnv,+՛\Y߇O?-Yp˫ ӵתkz-njkzOz_I1_}|nrԘep},7ka2czrӍk02&'z\c2ٌ2{2,.u.n~oNs]{2m(M'O;_s9\rYue,+՛\YdkL&`$Yu[.^W,̲c5%yLn+logoӿ-jw\/EޭMq^~,+՛\YYgwW+7nSc\jow6_-jw\r rYuŚewyerv5?Lc1l Ӭzm\kWFZIK& ,fSMe%7~#-\c2ٌԖYl 軷sS\kן@k,,WRn&,gW]YYuMjrj7VVO}vrߖ5;s,Lre5dEe0LMپ-W|ɩs13cl}qlF=^ᕸS'}c+&:˪u\l ;]IwĚ\;]IwĚ cpu՗2g.weu:%꛶Ξw> 2+&SYI{̈xqr5H gpyc:m$nSS n;٫g؝:˪[u֮|lLnS.%߷`E+i8vE\255$>IrꛖNw~Է=c7vNSto29̖o[+Xpܖ|^YVLMye'DSvLrLR]L~W+q$4YǍ[/i,ܤܗ|z IyIKޯא&WM]}wDz W+q$4IeĻ싌]\<[nW+q$4Ws%4ɕcŻ\Su嚚zs)ezmlߐFu1ouy}8tLϯ-&̠ \Su嚚z~RcRe2e7\fRk5w%̵L\Kn25W S[nK>/vT]Nz哧߯ ]\<[."1]V˯.wd2svMkS< [7ų~Iqչ52e%[7i2ˉw757'd 7ķ>q+Njww.]3;m|[5l5Mzew/{=6a2Vo]Xucg3s}35j\eyy\wmFrŖwS||co5{M?lefYc-oSʆEǦnz{xqr&WM]}wDz$\eԷ|s=vnjkzI:-ꛖNw~/ULxԶ \L.W[d1,Wm'i۟/TݶtIK&Amc&2jjپ~;]Iw~s<~ٿﯤdI7 խ˔eyIJk]ٸf675exqr5Hesuwu$"&Y.SnWz^ K5ś,n7W]lܖ|^, [7ų~PdenRjnK~f\N8+r}1}7zNEeee~?6qg2^ZMgO;_dsrOq]Rۮ5u_~6 W krnK>/v[>q㔾VwazwM^|~\q]Mv'i\e2]vdjeqI4ܗ۳+r ?9\rYueL\2u]}x&9e2lo+'isyf잺@&Søk_o׿Y[c.SRO]AIfV&ƧESrܘۅˍK'y"poL[%W'd\;f3n3zNYzqezrs;\rpqd7@\rv/y\lQr,,vEixF?S5}x ]fS n;٫gِ\&Wl3/,+Y]nY\nYtK1>쵔qLMyAKz>L2˫u۠qsd}\e2]v@ap^e|[;q-|ult/W;Oc1̸W~$ٔo{_P@^ [7ų~@Yɩf1q2][>7N[tՕc,~w,L]Kw=ɖX̦9Y2^{@\n;Kfku /Tݶtc)%7~ "/[5{]sʀ.ESre3)VLȀeKfkuYI.Xxqr5J27|٫qdk2Lxw~ݙk7Vn]qfkkd7θ5gLe]}xA\s rYuŚgN]qqLse2e7\r 9cw, :uU˩qArˉw7+x5nYӬ^]Mۍ-1^i/s,I>'`'N]yu7_oV@n6a2Vo,]V˯.wfy\]o+$.\jY;~@\W[I>'`'N]qPcrY,ݓ_,Ww]IۄTT@@PEL.W[dd,7)W+OΞ,[^| ,)ezmlߓ9\rYue2ۄ-ݓXnKŗ$+rSr]iXeKfku2,fSMe%722-1^i/tD-ݓ9\nY̗mƥ+x5nϋMKջ5 57+d6Ƞ Kq]eW[I>'f@k nyݒ|̀(q2][> W;q$4 7e6ܮSu嚚z~]6eS:لˍ[gy ,չ5/ULu5- 7<]y:e{WM]}wDZMkd7θdqu5l/[5{]s?hqg2^HtێjAycuuue3W S[nK>/t_/Dnkzs"*n3u曚y\]o+$t.eחS{h]9L&wmg| pԹM&잺@L]v'i@㍳d7~c VΉ:f巫ߧ+zuM͹]r9ܲI7mE˦_-jw\賦nz{"z-njkz.XXn՚,L]Kw=ѹ,&w Ÿ77ya3ޛl\[;+yeuwu$َxیKޯӄ.|٩ksYYL81o\r+lj57+2+1w1r:z-njkzyܲI7m@r+lj572Lxw~݁ K5ś@oW;Ot)1Ls~݁)zm]qlϔYgE3vِNzϯ ,Wm'ise.2j[9?YLS-߷dkrnWVM&Al9n3).7zN)S)_ .YY\ݾj~Ȁ/VW l[ zuLͻ{qIfV&,Lre5*/I/Vק( 甙LMyF,3<2ܲ,.mחWZtK7m<}Ǧ_4j\ewyerv5?HRK2)57%?I ep\Lɾ%tK1> (  4*( ((("YM۾$csfݒ| cӬ\jwYS -(y款 .]2mS:\3)w7%7+d6,.eחS{h rLeזjjI}]v/y@VaqVoe/5;sl51Lזn"SYu[.}@+x5nDP,n>gt˦_-jw\\255$/NS d(52̤ךjKNelS{@a7,MYrvI>'c)1Ls~ݙ[XnX2ze@YI.V1Ro 9gu7+u&wqg2^H߉V=3w9`[XnX2z* W+q$4c&WW)۲\qc7l؋]f.XnKŗ-,3,c-;P'LܶsAqu5l@\r rYuŚQq^\~f675e>݅@[YLfY[1[o|~m\m&{uq1ݺOِ,+՛Tz5wƽx@@&\j;~QA\Ioik;%nvA@PP@PQ@P@P@Q@Ή:f巫ߧ*-,3,Ioi봼Y{͂.VesO( Ya9,nVTP nyfn@YdK{Tec)%; S\qc7޹5]frY]nI' ӕ12n/\m&{u:厲3}>'̀ղdMM[7= ]V˯.w\^pqd7@\q< nYeu$ewyerv5?H/M\Բw" 9gu7+u&w(es,Ԓ|N,.\jY;~cS+6f퓴޿qw5d@Tk.\jY;~r\7Y-de&Wr_];2 ("(   (* (*( *ޝc,n4-Nmw ^c,nw~iksΙes WX.ۻ2 K$\eԷ|sz Kջ5 (c2]w]$ww|kӏ@lYYyY[ާӖ@jf2c&̀ճNmw ntY7l\}?l2]wd^\ ]f//VׯoY5;h(.=3_/D^N>P@\m&{uqsd}PAgNq]AMKջ5 []ywOn45Ln;Kg@T@PTADPT@P@@P@@@Aw:$雖ޮw~ .W]wķvO.Ve}3zNP/[5{]s?h2w5-@t.mחWZtoW;OtmǢM^N>PreVc1c7\6eS:.7|٫pqpc%}AwD[^|(o5{M.|ɩr :uUMzeKfku=zw5ƽ9EE^]^>TT[Ӭzm^mj ^c,w{z" LKl5ι@\n39-|ulMdݓ NelowYP@hP@@EEP\zm[&iu]Nz哧߯ ,]V˯.wdenRjnKy?t]չ5,2^Y'[mkyvD|Vnkzs.8ܮ[͓ .DSvِ@\q1WSvI{2ՒLl]7=q8nM' d2svMި.X3uue3 Rcu2q.".xya7YPLnS.%߷d\ K5śYIyc2Iu7TT@@@P@PT@EQ@PPDAQk+czeq-_@@@f9e2ln;M1@@0WRIj eYyr+mݵnye1elkoiYL.+logo (*   *   ( " "" 9e9\nܺ_ 5ygY,vd@P@A@@PTPT@TDPQPPQDPPADPA@@knyfnd@@P@@@P@P@@P@@ETU@TTPA@@@Q@@P@@Q@@@E@@@@QP@T@DQT@@@Q@QT@@@@@@TU@@PQ@Q@Q@@DDDD@@T@Q@Q@@@@E@@@EA@@@QPQ@@@@@ADPP@QUTTPPQ@QPE@@@@T@Q@Q@@@@@AP@TEP@TE@DU@PP@QQP@Q@@@@AE@@@@ETAQ@P@DPP@PP@PTQQT@QPPDUPDDQ@P@@EPT@@P@TP@QP@@@PQDPP@@P@@TP@@@P@T@E@PU@TPQ@@@@Q@@@AP@AUPT@QT@@Q@@@TT@U@@P@@@QPTPEPP@@P@P@P@PP@A@PPvisualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/settings.xml000066400000000000000000000051621361526231100302710ustar00rootroot00000000000000
0 3 1 1 50 30016 2 HAS_GL HAS_GLES 1 2 -15 -15 15 360 30018
visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/000077500000000000000000000000001361526231100273345ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/GL/000077500000000000000000000000001361526231100276365ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/GL/frag.glsl000066400000000000000000000004721361526231100314430ustar00rootroot00000000000000#version 150 uniform float u_pointSize; in vec4 v_color; out vec4 FragColor; void main() { if (u_pointSize != 0.0) { vec2 coord = gl_PointCoord - vec2(0.5); //from [0,1] to [-0.5,0.5] if(length(coord) > 0.5) //outside of circle radius? discard; } FragColor = v_color; } visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/GL/vert.glsl000066400000000000000000000004551361526231100315050ustar00rootroot00000000000000#version 150 uniform mat4 u_projectionMatrix; uniform mat4 u_modelViewMatrix; uniform float u_pointSize; in vec4 a_position; in vec4 a_color; out vec4 v_color; void main () { gl_Position = u_projectionMatrix * u_modelViewMatrix * a_position; gl_PointSize = u_pointSize; v_color = a_color; } visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/GLES/000077500000000000000000000000001361526231100300665ustar00rootroot00000000000000visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/GLES/frag.glsl000066400000000000000000000005071361526231100316720ustar00rootroot00000000000000#version 100 precision mediump float; uniform float u_pointSize; varying vec4 v_color; void main() { if (u_pointSize != 0.0) { vec2 coord = gl_PointCoord - vec2(0.5); //from [0,1] to [-0.5,0.5] if(length(coord) > 0.5) //outside of circle radius? discard; } gl_FragColor = v_color; } visualization.spectrum-3.0.3-Leia/visualization.spectrum/resources/shaders/GLES/vert.glsl000066400000000000000000000005301361526231100317270ustar00rootroot00000000000000#version 100 precision mediump float; uniform mat4 u_projectionMatrix; uniform mat4 u_modelViewMatrix; uniform float u_pointSize; attribute vec4 a_position; attribute vec4 a_color; varying vec4 v_color; void main() { gl_Position = u_projectionMatrix * u_modelViewMatrix * a_position; gl_PointSize = u_pointSize; v_color = a_color; }